OSDN Git Service

renemae gmake.mak,nmake.mak to makefile
[hos/hos-v4a.git] / kernel / build / arm / lpc2000 / armcc / makefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for Philips LPC2000 family
4 #
5 # Copyright (C) 1998-2008 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10
11 # --------------------------------------
12 #  %jp{各種設定}{setting}
13 # --------------------------------------
14
15 # %jp{ターゲットライブラリ名}%en{target library name}
16 TARGET = libhosv4a
17
18
19 # %jp{アーキテクチャ定義}%en{architecture}
20 ARCH_NAME = lpc2000
21 ARCH_PROC = arm\arm_v4t
22 ARCH_IRC  = arm\lpc2000
23 ARCH_CC   = armcc
24
25
26 # %jp{ディレクトリ定義}%en{directories}
27 TOP_DIR           = ..\..\..\..\..
28 KERNEL_DIR        = $(TOP_DIR)\kernel
29 KERNEL_MAKINC_DIR = $(KERNEL_DIR)\build\common\nmake
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\msc
37
38
39 # %jp{コンフィギュレータ定義}%en{kernel configurator}
40 CFGRTR = h4acfg-$(ARCH_NAME)
41
42
43 # %jp{カーネル指定}%en{kernel flag}
44 KERNEL = Yes
45
46
47 # %jp{共通定義読込み}%en{common setting}
48 !include $(KERNEL_MAKINC_DIR)\common.inc
49
50
51 # %jp{パス設定}
52 INC_DIRS = $(INC_DIRS) $(INC_PROC_DIR) $(INC_IRC_DIR)
53 SRC_DIRS = $(SRC_DIRS) $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_ASM_DIR) $(SRC_IRC_DIR) $(SRC_IRC_ASM_DIR)
54
55
56
57 # %jp{オプションフラグ}%en{option flags}
58 AFLAGS  = --cpu=ARM7TDMI --apcs=inter --thumb
59 CFLAGS  = --cpu=ARM7TDMI --apcs=inter --thumb
60 ARFLAGS = 
61
62
63
64 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
65 !include $(KERNEL_MAKINC_DIR)\$(ARCH_CC)_d.inc
66
67 # %jp{ライブラリ生成用設定読込み}%en{definitions for library}
68 !include $(KERNEL_MAKINC_DIR)\maklib_d.inc
69
70
71
72
73 # --------------------------------------
74 #  %jp{ソースファイル}%en{source files}
75 # --------------------------------------
76
77 # %jp{アセンブラファイルの追加}%en{assembry sources}
78 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kcre_ctx.s
79 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kdis_int.s
80 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kena_int.s
81 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\krst_ctx.s
82 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kswi_ctx.s
83 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kwai_int.s
84 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kirq_hdr.s
85 ASRCS = $(ASRCS) $(SRC_PROC_CC_DIR)\kfiq_hdr.s
86
87
88 # %jp{C言語ファイルの追加}%en{C sources}
89 CSRCS = $(CSRCS) $(SRC_PROC_DIR)\val_int.c
90 CSRCS = $(CSRCS) $(SRC_IRC_DIR)\kini_irc.c
91 CSRCS = $(CSRCS) $(SRC_IRC_DIR)\kexe_irc.c
92 CSRCS = $(CSRCS) $(SRC_IRC_DIR)\ena_int.c
93 CSRCS = $(CSRCS) $(SRC_IRC_DIR)\dis_int.c
94 CSRCS = $(CSRCS) $(SRC_IRC_DIR)\vclr_int.c
95
96
97 # %jp{オブジェクトファイルの追加}%en{object files}
98 OBJS = $(OBJS) $(OBJS_DIR)\kcre_ctx.$(EXT_OBJ)
99 OBJS = $(OBJS) $(OBJS_DIR)\kdis_int.$(EXT_OBJ)
100 OBJS = $(OBJS) $(OBJS_DIR)\kena_int.$(EXT_OBJ)
101 OBJS = $(OBJS) $(OBJS_DIR)\kirq_hdr.$(EXT_OBJ)
102 OBJS = $(OBJS) $(OBJS_DIR)\kfiq_hdr.$(EXT_OBJ)
103 OBJS = $(OBJS) $(OBJS_DIR)\krst_ctx.$(EXT_OBJ)
104 OBJS = $(OBJS) $(OBJS_DIR)\kswi_ctx.$(EXT_OBJ)
105 OBJS = $(OBJS) $(OBJS_DIR)\kwai_int.$(EXT_OBJ)
106 OBJS = $(OBJS) $(OBJS_DIR)\val_int.$(EXT_OBJ)
107 OBJS = $(OBJS) $(OBJS_DIR)\kini_irc.$(EXT_OBJ)
108 OBJS = $(OBJS) $(OBJS_DIR)\kexe_irc.$(EXT_OBJ)
109 OBJS = $(OBJS) $(OBJS_DIR)\ena_int.$(EXT_OBJ)
110 OBJS = $(OBJS) $(OBJS_DIR)\dis_int.$(EXT_OBJ)
111 OBJS = $(OBJS) $(OBJS_DIR)\vclr_int.$(EXT_OBJ)
112
113
114 # %jp{カーネル共通ソースの追加}%en{kernel common sources}
115 !include $(KERNEL_MAKINC_DIR)\knlsrc.inc
116
117
118
119
120 # --------------------------------------
121 #  %jp{ルール定義}%en{rules}
122 # --------------------------------------
123
124 # %jp{ALL}%en{all}
125 all: mkdir_objs srcobjcp makelib_all
126         $(CMD_CD) $(CFGRTR_DIR)
127         $(MAKE) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
128
129 # %jp{クリーン}%en{clean}
130 clean: makelib_clean
131         $(CMD_CD) $(CFGRTR_DIR)
132         $(MAKE) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
133         $(CMD_CD) $(MAKEDIR)
134
135 # %jp{依存関係更新}%en{make depend}
136 depend: makelib_depend
137
138 # %jp{ソース一括コピー}%en{source files copy}
139 .PHONY : srccpy
140 srccpy: makelib_srccpy
141
142
143 # %jp{ライブラリ生成用設定読込み}%en{rules for library}
144 !include $(KERNEL_MAKINC_DIR)\maklib_r.inc
145
146 # %jp{コンパイラ依存ルール}%en{rules of compiler dependence}
147 !include $(KERNEL_MAKINC_DIR)\$(ARCH_CC)_r.inc
148
149
150 # %jp{コピー}%en{source files copy}
151 srcobjcp:
152         $(CMD_CP) $(SRC_PROC_DIR)\*.* $(OBJS_DIR)
153         $(CMD_CP) $(SRC_PROC_CC_DIR)\*.* $(OBJS_DIR)
154         $(CMD_CP) $(SRC_IRC_DIR)\*.* $(OBJS_DIR)
155
156
157
158
159 # --------------------------------------
160 #  %jp{依存関係}%en{dependency}
161 # --------------------------------------
162
163 # %jp{カーネル依存関係読込み}{dependency list of kernel sources}
164 !include $(KERNEL_MAKINC_DIR)\knldep.inc
165
166
167 $(OBJS_DIR)\val_int.o   :       $(OBJS_DIR)\val_int.c
168 $(OBJS_DIR)\kini_irc.o  :       $(OBJS_DIR)\kini_irc.c
169 $(OBJS_DIR)\kexe_irc.o  :       $(OBJS_DIR)\kexe_irc.c
170 $(OBJS_DIR)\ena_int.o   :       $(OBJS_DIR)\ena_int.c
171 $(OBJS_DIR)\dis_int.o   :       $(OBJS_DIR)\dis_int.c
172 $(OBJS_DIR)\vclr_int.o  :       $(OBJS_DIR)\vclr_int.c
173 $(OBJS_DIR)\kcre_ctx.o  :       $(OBJS_DIR)\kcre_ctx.s
174 $(OBJS_DIR)\kdis_int.o  :       $(OBJS_DIR)\kdis_int.s
175 $(OBJS_DIR)\kena_int.o  :       $(OBJS_DIR)\kena_int.s
176 $(OBJS_DIR)\kirq_hdr.o  :       $(OBJS_DIR)\kirq_hdr.s
177 $(OBJS_DIR)\kfiq_hdr.o  :       $(OBJS_DIR)\kfiq_hdr.s
178 $(OBJS_DIR)\krst_ctx.o  :       $(OBJS_DIR)\krst_ctx.s
179 $(OBJS_DIR)\kswi_ctx.o  :       $(OBJS_DIR)\kswi_ctx.s
180 $(OBJS_DIR)\kwai_int.o  :       $(OBJS_DIR)\kwai_int.s
181
182
183
184 # end of file