1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
5 # Copyright (C) 1998-2010 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
10 # --------------------------------------
12 # --------------------------------------
14 # %jp{ターゲットライブラリ名}%en{target library name}
18 # %jp{ツール定義}%jp{tools}
20 CMD_CC ?= $(GCC_ARCH)gcc
21 CMD_ASM ?= $(GCC_ARCH)gcc
22 CMD_LIBR ?= $(GCC_ARCH)ar
25 # %jp{アーキテクチャ定義}%en{architecture}
27 ARCH_PROC ?= sh/sh2a-fpu
32 # %jp{ディレクトリ定義}%en{directories}
33 TOP_DIR = ../../../../..
34 KERNEL_DIR = $(TOP_DIR)/kernel
35 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
36 INC_PROC_DIR = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
37 INC_IRC_DIR = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
38 SRC_PROC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
39 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
40 SRC_IRC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
41 SRC_IRC_CC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
42 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
45 # %jp{コンフィギュレータ定義}%en{kernel configurator}
46 CFGRTR = h4acfg-$(ARCH_NAME)
49 # %jp{カーネル指定}%en{kernel flag}
53 # %jp{共通定義読込み}%en{common setting}
54 include $(KERNEL_MAKINC_DIR)/common.inc
57 # %jp{パス設定}%en{add source directories}
58 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
59 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
62 # %jp{ベクタの高速化}%en{fast vector}
63 ifeq ($(FAST_VECTOR),Yes)
64 A_DEFS += _KERNEL_FAST_INTVEC="ON"
74 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
75 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
77 # %jp{ライブラリ生成用設定読込み}%en{definitions for library}
78 include $(KERNEL_MAKINC_DIR)/maklib_d.inc
83 # --------------------------------------
84 # %jp{ソースファイル}%en{source files}
85 # --------------------------------------
87 # %jp{アセンブラファイルの追加}%en{assembry sources}
88 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S
89 ASRCS += $(SRC_PROC_CC_DIR)/kena_int.S
90 ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.S
91 ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.S
92 ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.S
93 ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.S
94 ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.S
95 ASRCS += $(SRC_PROC_CC_DIR)/kexc_hdr.S
97 # %jp{C言語ファイルの追加}%en{C sources}
98 CSRCS += $(SRC_PROC_DIR)/val_int.c
99 CSRCS += $(SRC_IRC_DIR)/chg_ilv.c
100 CSRCS += $(SRC_IRC_DIR)/chg_imsk.c
101 CSRCS += $(SRC_IRC_DIR)/clr_int.c
102 CSRCS += $(SRC_IRC_DIR)/dis_int.c
103 CSRCS += $(SRC_IRC_DIR)/ena_int.c
104 CSRCS += $(SRC_IRC_DIR)/get_ilv.c
105 CSRCS += $(SRC_IRC_DIR)/get_imsk.c
108 # %jp{カーネル共通ソースの追加}%en{kernel common sources}
109 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
114 # --------------------------------------
115 # %jp{ルール定義}%en{rules}
116 # --------------------------------------
121 $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
123 # %jp{クリーン}%en{clean}
126 $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
129 # %jp{依存関係更新}%en{make depend}
131 depend: makelib_depend
133 # %jp{ソース一括コピー}%en{source files copy}
135 srccpy: makelib_srccpy
138 # %jp{ライブラリ生成用設定読込み}%en{rules for library}
139 include $(KERNEL_MAKINC_DIR)/maklib_r.inc
141 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
142 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
147 # --------------------------------------
148 # %jp{依存関係}%en{dependency}
149 # --------------------------------------
151 # %jp{カーネル依存関係読込み}{dependency list of kernel sources}
152 include $(KERNEL_MAKINC_DIR)/knldep.inc
155 $(OBJS_DIR)/val_int.$(EXT_OBJ) : $(COMMON_HEADERS)
156 $(OBJS_DIR)/chg_ilv.$(EXT_OBJ) : $(COMMON_HEADERS)
157 $(OBJS_DIR)/clr_int.$(EXT_OBJ) : $(COMMON_HEADERS)
158 $(OBJS_DIR)/dis_int.$(EXT_OBJ) : $(COMMON_HEADERS)
159 $(OBJS_DIR)/ena_int.$(EXT_OBJ) : $(COMMON_HEADERS)
160 $(OBJS_DIR)/get_ilv.$(EXT_OBJ) : $(COMMON_HEADERS)
161 $(OBJS_DIR)/chg_imsk.$(EXT_OBJ) : $(COMMON_HEADERS)
162 $(OBJS_DIR)/get_imsk.$(EXT_OBJ) : $(COMMON_HEADERS)