1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
5 # Copyright (C) 1998-2007 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
10 # %jp{
\83^
\81[
\83Q
\83b
\83g
\96¼}%en{target}
14 # %jp{
\83A
\81[
\83L
\83e
\83N
\83`
\83\83\92è
\8b`}%en{architecture}
15 ARCH_PROC ?= sh/sh2a-fpu
20 # %jp{
\83f
\83B
\83\8c\83N
\83g
\83\8a\92è
\8b`}%en{directorys}
21 HOSV4A_DIR = ../../../../..
22 KERNEL_DIR = $(HOSV4A_DIR)/kernel
23 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
24 OBJS_DIR = objs_$(TARGET)
27 # %jp{
\83J
\81[
\83l
\83\8b\8ew
\92è}
31 # %jp{
\83R
\83\93\83t
\83B
\83M
\83\85\83\8c\81[
\83^
\92è
\8b`}%en{Configurator}
32 CFGRTR_DIR = $(HOSV4A_DIR)/cfgrtr/build/gcc
33 CFGRTR = h4acfg-sh2a-fpu
36 # %jp{
\8b¤
\92Ê
\92è
\8b`
\93Ç
\8d\9e\82Ý}%en{Common setting}
37 include $(KERNEL_MAKINC_DIR)/common.inc
40 # %jp{
\83A
\81[
\83L
\83e
\83N
\83`
\83\83\83p
\83X}%en{architecture path}
41 INC_PROC_DIR = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
42 INC_IRC_DIR = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
43 SRC_PROC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
44 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
45 SRC_IRC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
46 SRC_IRC_CC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
49 # %jp{
\83p
\83X
\90Ý
\92è}%en{Source path}
50 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
51 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
54 # %jp{
\83I
\83v
\83V
\83\87\83\93\83t
\83\89\83O}%en{compile options}
55 CFLAGS += -CPu=sh2afpu
56 AFLAGS += -CPu=sh2afpu
60 ifeq ($(FAST_VECTOR),Yes)
61 A_DEFS += _KERNEL_FAST_INTVEC="ON"
66 # %jp{C
\8c¾
\8cê
\83t
\83@
\83C
\83\8b\82Ì
\92Ç
\89Á}
67 CSRCS += $(SRC_PROC_DIR)/val_int.c \
68 $(SRC_IRC_DIR)/ena_int.c \
69 $(SRC_IRC_DIR)/dis_int.c \
70 $(SRC_IRC_DIR)/clr_int.c \
71 $(SRC_IRC_DIR)/get_imsk.c \
72 $(SRC_IRC_DIR)/chg_imsk.c \
73 $(SRC_IRC_DIR)/chg_ilv.c \
74 $(SRC_IRC_DIR)/get_ilv.c
76 # %jp{
\83A
\83Z
\83\93\83u
\83\89\83t
\83@
\83C
\83\8b\82Ì
\92Ç
\89Á}
77 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.src \
78 $(SRC_PROC_CC_DIR)/kena_int.src \
79 $(SRC_PROC_CC_DIR)/kwai_int.src \
80 $(SRC_PROC_CC_DIR)/kcre_ctx.src \
81 $(SRC_PROC_CC_DIR)/krst_ctx.src \
82 $(SRC_PROC_CC_DIR)/kswi_ctx.src \
83 $(SRC_PROC_CC_DIR)/kint_hdr.src \
84 $(SRC_PROC_CC_DIR)/kexc_hdr.src
88 # %jp{
\83R
\83\93\83p
\83C
\83\89\88Ë
\91¶
\92è
\8b`}%en{definitions of compiler dependence}
89 include $(KERNEL_MAKINC_DIR)/shc_d.inc
92 # %jp{
\83J
\81[
\83l
\83\8b\8b¤
\92Ê
\83\
\81[
\83X
\82Ì
\92Ç
\89Á}%en{definitions of kernel source files}
93 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
100 $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
102 # %jp{
\83N
\83\8a\81[
\83\93}$en{clean}
105 $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
114 srccpy: makelib_srccpy
117 # %jp{
\83\89\83C
\83u
\83\89\83\8a\90¶
\90¬
\97p
\90Ý
\92è
\93Ç
\8d\9e\82Ý}%en{rules of library}
118 include $(KERNEL_MAKINC_DIR)/makelib.inc
121 # %jp{
\83R
\83\93\83p
\83C
\83\89\88Ë
\91¶
\83\8b\81[
\83\8b}%en{rules of compiler dependence}
122 include $(KERNEL_MAKINC_DIR)/shc_r.inc
125 # %jp{
\83J
\81[
\83l
\83\8b\88Ë
\91¶
\8aÖ
\8cW
\93Ç
\8d\9e\82Ý}%en{dependence}
126 include $(KERNEL_MAKINC_DIR)/knldep.inc