# ----------------------------------------------------------------------------
# Hyper Operating System V4 Advance
#  makefile for Panasonic MN103S series
#
# Copyright (C) 1998-2007 by Project HOS
# http://sourceforge.jp/projects/hos/
# ----------------------------------------------------------------------------



# --------------------------------------
#  %jp{eݒ}{setting}
# --------------------------------------

# %jp{^[QbgCu}%en{target library name}
TARGET ?= libhosv4a


# %jp{A[LeN``}%en{architecture}
ARCH_NAME ?= mn103s
ARCH_PROC ?= mn103/mn1030
ARCH_IRC  ?= mn103/mn103s
ARCH_CC   ?= cc103


# %jp{fBNg`}
TOP_DIR           = ../../../../..
KERNEL_DIR        = $(TOP_DIR)/kernel
KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
INC_PROC_DIR      = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
INC_IRC_DIR       = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
SRC_PROC_DIR      = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
SRC_PROC_CC_DIR   = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
SRC_IRC_DIR       = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
SRC_IRC_CC_DIR    = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
CFGRTR_DIR        = $(TOP_DIR)/cfgrtr/build/gcc


# %jp{RtBM[^`}%en{kernel configurator}
CFGRTR = h4acfg-$(ARCH_NAME)


# %jp{J[lw}%en{kernel flag}
KERNEL = Yes


# %jp{ʒ`Ǎ}%en{common setting}
include $(KERNEL_MAKINC_DIR)/common.inc


# %jp{pXݒ}%en{add source directories}
INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)


# %jp{IvVtO}%en{option flags}
AFLAGS  = 
CFLAGS  = 
ARFLAGS = 


# %jp{RpCˑ̐ݒǍ}%en{compiler dependent definitions}
include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc

# %jp{CupݒǍ}%en{definitions for library}
include $(KERNEL_MAKINC_DIR)/maklib_d.inc




# --------------------------------------
#  %jp{\[Xt@C}%en{source files}
# --------------------------------------

# %jp{AZut@C̒ǉ}%en{assembry sources}
ASRCS += $(SRC_PROC_CC_DIR)/kini_prc.as
ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.as
ASRCS += $(SRC_PROC_CC_DIR)/kena_int.as
ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.as
ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.as
ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.as
ASRCS += $(SRC_PROC_CC_DIR)/ksta_ctx.as
ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.as
ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.as


# %jp{Ct@C̒ǉ}%en{C sources}
CSRCS += $(SRC_PROC_DIR)/val_int.c
CSRCS += $(SRC_IRC_DIR)/ini_irc.c
CSRCS += $(SRC_IRC_DIR)/exe_irc.c
CSRCS += $(SRC_IRC_DIR)/ena_int.c
CSRCS += $(SRC_IRC_DIR)/dis_int.c
CSRCS += $(SRC_IRC_DIR)/clr_int.c
CSRCS += $(SRC_IRC_DIR)/chg_ilv.c
CSRCS += $(SRC_IRC_DIR)/get_ilv.c


# %jp{J[lʃ\[X̒ǉ}%en{kernel common sources}
include $(KERNEL_MAKINC_DIR)/knlsrc.inc




# --------------------------------------
#  %jp{[`}%en{rules}
# --------------------------------------

# %jp{ALL}%en{all}
.PHONY : all
all: makelib_all
	$(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)

# %jp{N[}%en{clean}
.PHONY : clean
clean: makelib_clean
	$(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
	$(RM) -f *.lst

# %jp{ˑ֌WXV}%en{make depend}
.PHONY : depend
depend: makelib_depend

# %jp{\[XꊇRs[}%en{source files copy}
.PHONY : srccpy
srccpy: makelib_srccpy


# %jp{CupݒǍ}%en{rules for library}
include $(KERNEL_MAKINC_DIR)/maklib_r.inc

# %jp{RpCˑ̃[`Ǎ}%en{rules for compiler}
include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc




# --------------------------------------
#  %jp{ˑ֌W}%en{dependency}
# --------------------------------------

# %jp{J[lˑ֌WǍ}{dependency list of kernel sources}
include $(KERNEL_MAKINC_DIR)/knldep.inc


$(OBJS_DIR)/val_int.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/ini_irc.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/exe_irc.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/ena_int.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/dis_int.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/clr_int.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/chg_ilv.$(EXT_OBJ)	:	$(COMMON_HEADERS)
$(OBJS_DIR)/get_ilv.$(EXT_OBJ)	:	$(COMMON_HEADERS)



# end of file
