1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 # makefile for Analog Devices ADuC7000 series
5 # Copyright (C) 1998-2008 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
11 # --------------------------------------
13 # --------------------------------------
15 # %jp{ターゲットライブラリ名}%en{target library name}
19 # %jp{アーキテクチャ定義}%en{architecture}
21 ARCH_PROC ?= arm/arm_v4t
22 ARCH_IRC ?= arm/aduc7000
26 # %jp{ディレクトリ定義}%en{directories}
27 TOP_DIR = ../../../../..
28 KERNEL_DIR = $(TOP_DIR)/kernel
29 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
30 INC_PROC_DIR = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
31 INC_IRC_DIR = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
32 SRC_PROC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
33 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
34 SRC_IRC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
35 SRC_IRC_CC_DIR = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
36 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
39 # %jp{コンフィギュレータ定義}%en{kernel configurator}
40 CFGRTR = h4acfg-$(ARCH_NAME)
43 # %jp{カーネル指定}%en{kernel flag}
47 # %jp{共通定義読込み}%en{common setting}
48 include $(KERNEL_MAKINC_DIR)/common.inc
51 # %jp{パス設定}%en{add source directories}
52 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
53 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
57 AFLAGS = --cpu=ARM7TDMI --apcs=inter --thumb
58 CFLAGS = --cpu=ARM7TDMI --apcs=inter --thumb
62 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
63 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
65 # %jp{ライブラリ生成用設定読込み}%en{definitions for library}
66 include $(KERNEL_MAKINC_DIR)/maklib_d.inc
71 # --------------------------------------
72 # %jp{ソースファイル}%en{source files}
73 # --------------------------------------
75 # %jp{アセンブラファイルの追加}%en{assembry sources}
76 ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.s
77 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.s
78 ASRCS += $(SRC_PROC_CC_DIR)/kena_int.s
79 ASRCS += $(SRC_PROC_CC_DIR)/kirq_hdr.s
80 ASRCS += $(SRC_PROC_CC_DIR)/kfiq_hdr.s
81 ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.s
82 ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.s
83 ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.s
86 # %jp{C言語ファイルの追加}%en{C sources}
87 CSRCS += $(SRC_PROC_DIR)/val_int.c
88 CSRCS += $(SRC_IRC_DIR)/kini_irc.c
89 CSRCS += $(SRC_IRC_DIR)/kexe_irc.c
90 CSRCS += $(SRC_IRC_DIR)/ena_int.c
91 CSRCS += $(SRC_IRC_DIR)/dis_int.c
94 # %jp{カーネル共通ソースの追加}%en{kernel common sources}
95 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
100 # --------------------------------------
101 # %jp{ルール定義}%en{rules}
102 # --------------------------------------
107 $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
109 # %jp{クリーン}%en{clean}
112 $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
115 # %jp{依存関係更新}%en{make depend}
117 depend: makelib_depend
120 # %jp{ライブラリ生成用設定読込み}%en{rules for library}
121 include $(KERNEL_MAKINC_DIR)/maklib_r.inc
123 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
124 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
129 # --------------------------------------
130 # %jp{依存関係}%en{dependency}
131 # --------------------------------------
133 # %jp{カーネル依存関係読込み}{dependency list of kernel sources}
134 include $(KERNEL_MAKINC_DIR)/knldep.inc