OSDN Git Service

add ignore file
[hos/hos-v4a.git] / kernel / build / sh / sh2 / shc / GNUmakefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for SH2
4 #
5 # Copyright (C) 1998-2007 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10 # %jp{\83^\81[\83Q\83b\83g\96¼}%en{target}
11 TARGET ?= libhosv4a
12
13
14 # %jp{\83A\81[\83L\83e\83N\83`\83\83\92è\8b`}%en{architecture}
15 ARCH_PROC ?= sh/sh2
16 ARCH_IRC  ?= simple
17 ARCH_CC   ?= shc
18
19
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)
25
26
27 # %jp{\83J\81[\83l\83\8b\8ew\92è}
28 KERNEL = Yes
29
30
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-sh2
34
35
36 # %jp{\8b¤\92Ê\92è\8b`\93Ç\8d\9e\82Ý}%en{Common setting}
37 include $(KERNEL_MAKINC_DIR)/common.inc
38
39
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)
47
48
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)
52
53
54 # %jp{\83I\83v\83V\83\87\83\93\83t\83\89\83O}%en{compile options}
55 CFLAGS  += -CPu=sh2
56 AFLAGS  += -CPu=sh2
57 ARFLAGS += 
58
59
60 ifeq ($(FAST_VECTOR),Yes)
61 A_DEFS += _KERNEL_FAST_INTVEC="ON"
62 endif
63
64
65
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
75
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        \
85          $(SRC_PROC_CC_DIR)/vect_dmy.src
86
87 ifneq ($(FAST_VECTOR),Yes)
88 ASRCS += $(SRC_PROC_CC_DIR)/vect_004.src        \
89          $(SRC_PROC_CC_DIR)/vect_005.src        \
90          $(SRC_PROC_CC_DIR)/vect_006.src        \
91          $(SRC_PROC_CC_DIR)/vect_007.src        \
92          $(SRC_PROC_CC_DIR)/vect_008.src        \
93          $(SRC_PROC_CC_DIR)/vect_009.src        \
94          $(SRC_PROC_CC_DIR)/vect_010.src        \
95          $(SRC_PROC_CC_DIR)/vect_011.src        \
96          $(SRC_PROC_CC_DIR)/vect_012.src        \
97          $(SRC_PROC_CC_DIR)/vect_013.src        \
98          $(SRC_PROC_CC_DIR)/vect_014.src        \
99          $(SRC_PROC_CC_DIR)/vect_015.src        \
100          $(SRC_PROC_CC_DIR)/vect_016.src        \
101          $(SRC_PROC_CC_DIR)/vect_017.src        \
102          $(SRC_PROC_CC_DIR)/vect_018.src        \
103          $(SRC_PROC_CC_DIR)/vect_019.src        \
104          $(SRC_PROC_CC_DIR)/vect_020.src        \
105          $(SRC_PROC_CC_DIR)/vect_021.src        \
106          $(SRC_PROC_CC_DIR)/vect_022.src        \
107          $(SRC_PROC_CC_DIR)/vect_023.src        \
108          $(SRC_PROC_CC_DIR)/vect_024.src        \
109          $(SRC_PROC_CC_DIR)/vect_025.src        \
110          $(SRC_PROC_CC_DIR)/vect_026.src        \
111          $(SRC_PROC_CC_DIR)/vect_027.src        \
112          $(SRC_PROC_CC_DIR)/vect_028.src        \
113          $(SRC_PROC_CC_DIR)/vect_029.src        \
114          $(SRC_PROC_CC_DIR)/vect_030.src        \
115          $(SRC_PROC_CC_DIR)/vect_031.src        \
116          $(SRC_PROC_CC_DIR)/vect_032.src        \
117          $(SRC_PROC_CC_DIR)/vect_033.src        \
118          $(SRC_PROC_CC_DIR)/vect_034.src        \
119          $(SRC_PROC_CC_DIR)/vect_035.src        \
120          $(SRC_PROC_CC_DIR)/vect_036.src        \
121          $(SRC_PROC_CC_DIR)/vect_037.src        \
122          $(SRC_PROC_CC_DIR)/vect_038.src        \
123          $(SRC_PROC_CC_DIR)/vect_039.src        \
124          $(SRC_PROC_CC_DIR)/vect_040.src        \
125          $(SRC_PROC_CC_DIR)/vect_041.src        \
126          $(SRC_PROC_CC_DIR)/vect_042.src        \
127          $(SRC_PROC_CC_DIR)/vect_043.src        \
128          $(SRC_PROC_CC_DIR)/vect_044.src        \
129          $(SRC_PROC_CC_DIR)/vect_045.src        \
130          $(SRC_PROC_CC_DIR)/vect_046.src        \
131          $(SRC_PROC_CC_DIR)/vect_047.src        \
132          $(SRC_PROC_CC_DIR)/vect_048.src        \
133          $(SRC_PROC_CC_DIR)/vect_049.src        \
134          $(SRC_PROC_CC_DIR)/vect_050.src        \
135          $(SRC_PROC_CC_DIR)/vect_051.src        \
136          $(SRC_PROC_CC_DIR)/vect_052.src        \
137          $(SRC_PROC_CC_DIR)/vect_053.src        \
138          $(SRC_PROC_CC_DIR)/vect_054.src        \
139          $(SRC_PROC_CC_DIR)/vect_055.src        \
140          $(SRC_PROC_CC_DIR)/vect_056.src        \
141          $(SRC_PROC_CC_DIR)/vect_057.src        \
142          $(SRC_PROC_CC_DIR)/vect_058.src        \
143          $(SRC_PROC_CC_DIR)/vect_059.src        \
144          $(SRC_PROC_CC_DIR)/vect_060.src        \
145          $(SRC_PROC_CC_DIR)/vect_061.src        \
146          $(SRC_PROC_CC_DIR)/vect_062.src        \
147          $(SRC_PROC_CC_DIR)/vect_063.src        \
148          $(SRC_PROC_CC_DIR)/vect_064.src        \
149          $(SRC_PROC_CC_DIR)/vect_065.src        \
150          $(SRC_PROC_CC_DIR)/vect_066.src        \
151          $(SRC_PROC_CC_DIR)/vect_067.src        \
152          $(SRC_PROC_CC_DIR)/vect_068.src        \
153          $(SRC_PROC_CC_DIR)/vect_069.src        \
154          $(SRC_PROC_CC_DIR)/vect_070.src        \
155          $(SRC_PROC_CC_DIR)/vect_071.src        \
156          $(SRC_PROC_CC_DIR)/vect_072.src        \
157          $(SRC_PROC_CC_DIR)/vect_073.src        \
158          $(SRC_PROC_CC_DIR)/vect_074.src        \
159          $(SRC_PROC_CC_DIR)/vect_075.src        \
160          $(SRC_PROC_CC_DIR)/vect_076.src        \
161          $(SRC_PROC_CC_DIR)/vect_077.src        \
162          $(SRC_PROC_CC_DIR)/vect_078.src        \
163          $(SRC_PROC_CC_DIR)/vect_079.src        \
164          $(SRC_PROC_CC_DIR)/vect_080.src        \
165          $(SRC_PROC_CC_DIR)/vect_081.src        \
166          $(SRC_PROC_CC_DIR)/vect_082.src        \
167          $(SRC_PROC_CC_DIR)/vect_083.src        \
168          $(SRC_PROC_CC_DIR)/vect_084.src        \
169          $(SRC_PROC_CC_DIR)/vect_085.src        \
170          $(SRC_PROC_CC_DIR)/vect_086.src        \
171          $(SRC_PROC_CC_DIR)/vect_087.src        \
172          $(SRC_PROC_CC_DIR)/vect_088.src        \
173          $(SRC_PROC_CC_DIR)/vect_089.src        \
174          $(SRC_PROC_CC_DIR)/vect_090.src        \
175          $(SRC_PROC_CC_DIR)/vect_091.src        \
176          $(SRC_PROC_CC_DIR)/vect_092.src        \
177          $(SRC_PROC_CC_DIR)/vect_093.src        \
178          $(SRC_PROC_CC_DIR)/vect_094.src        \
179          $(SRC_PROC_CC_DIR)/vect_095.src        \
180          $(SRC_PROC_CC_DIR)/vect_096.src        \
181          $(SRC_PROC_CC_DIR)/vect_097.src        \
182          $(SRC_PROC_CC_DIR)/vect_098.src        \
183          $(SRC_PROC_CC_DIR)/vect_099.src        \
184          $(SRC_PROC_CC_DIR)/vect_100.src        \
185          $(SRC_PROC_CC_DIR)/vect_101.src        \
186          $(SRC_PROC_CC_DIR)/vect_102.src        \
187          $(SRC_PROC_CC_DIR)/vect_103.src        \
188          $(SRC_PROC_CC_DIR)/vect_104.src        \
189          $(SRC_PROC_CC_DIR)/vect_105.src        \
190          $(SRC_PROC_CC_DIR)/vect_106.src        \
191          $(SRC_PROC_CC_DIR)/vect_107.src        \
192          $(SRC_PROC_CC_DIR)/vect_108.src        \
193          $(SRC_PROC_CC_DIR)/vect_109.src        \
194          $(SRC_PROC_CC_DIR)/vect_110.src        \
195          $(SRC_PROC_CC_DIR)/vect_111.src        \
196          $(SRC_PROC_CC_DIR)/vect_112.src        \
197          $(SRC_PROC_CC_DIR)/vect_113.src        \
198          $(SRC_PROC_CC_DIR)/vect_114.src        \
199          $(SRC_PROC_CC_DIR)/vect_115.src        \
200          $(SRC_PROC_CC_DIR)/vect_116.src        \
201          $(SRC_PROC_CC_DIR)/vect_117.src        \
202          $(SRC_PROC_CC_DIR)/vect_118.src        \
203          $(SRC_PROC_CC_DIR)/vect_119.src        \
204          $(SRC_PROC_CC_DIR)/vect_120.src        \
205          $(SRC_PROC_CC_DIR)/vect_121.src        \
206          $(SRC_PROC_CC_DIR)/vect_122.src        \
207          $(SRC_PROC_CC_DIR)/vect_123.src        \
208          $(SRC_PROC_CC_DIR)/vect_124.src        \
209          $(SRC_PROC_CC_DIR)/vect_125.src        \
210          $(SRC_PROC_CC_DIR)/vect_126.src        \
211          $(SRC_PROC_CC_DIR)/vect_127.src        \
212          $(SRC_PROC_CC_DIR)/vect_128.src        \
213          $(SRC_PROC_CC_DIR)/vect_129.src        \
214          $(SRC_PROC_CC_DIR)/vect_130.src        \
215          $(SRC_PROC_CC_DIR)/vect_131.src        \
216          $(SRC_PROC_CC_DIR)/vect_132.src        \
217          $(SRC_PROC_CC_DIR)/vect_133.src        \
218          $(SRC_PROC_CC_DIR)/vect_134.src        \
219          $(SRC_PROC_CC_DIR)/vect_135.src        \
220          $(SRC_PROC_CC_DIR)/vect_136.src        \
221          $(SRC_PROC_CC_DIR)/vect_137.src        \
222          $(SRC_PROC_CC_DIR)/vect_138.src        \
223          $(SRC_PROC_CC_DIR)/vect_139.src        \
224          $(SRC_PROC_CC_DIR)/vect_140.src        \
225          $(SRC_PROC_CC_DIR)/vect_141.src        \
226          $(SRC_PROC_CC_DIR)/vect_142.src        \
227          $(SRC_PROC_CC_DIR)/vect_143.src        \
228          $(SRC_PROC_CC_DIR)/vect_144.src        \
229          $(SRC_PROC_CC_DIR)/vect_145.src        \
230          $(SRC_PROC_CC_DIR)/vect_146.src        \
231          $(SRC_PROC_CC_DIR)/vect_147.src        \
232          $(SRC_PROC_CC_DIR)/vect_148.src        \
233          $(SRC_PROC_CC_DIR)/vect_149.src        \
234          $(SRC_PROC_CC_DIR)/vect_150.src        \
235          $(SRC_PROC_CC_DIR)/vect_151.src        \
236          $(SRC_PROC_CC_DIR)/vect_152.src        \
237          $(SRC_PROC_CC_DIR)/vect_153.src        \
238          $(SRC_PROC_CC_DIR)/vect_154.src        \
239          $(SRC_PROC_CC_DIR)/vect_155.src        \
240          $(SRC_PROC_CC_DIR)/vect_156.src        \
241          $(SRC_PROC_CC_DIR)/vect_157.src        \
242          $(SRC_PROC_CC_DIR)/vect_158.src        \
243          $(SRC_PROC_CC_DIR)/vect_159.src        \
244          $(SRC_PROC_CC_DIR)/vect_160.src        \
245          $(SRC_PROC_CC_DIR)/vect_161.src        \
246          $(SRC_PROC_CC_DIR)/vect_162.src        \
247          $(SRC_PROC_CC_DIR)/vect_163.src        \
248          $(SRC_PROC_CC_DIR)/vect_164.src        \
249          $(SRC_PROC_CC_DIR)/vect_165.src        \
250          $(SRC_PROC_CC_DIR)/vect_166.src        \
251          $(SRC_PROC_CC_DIR)/vect_167.src        \
252          $(SRC_PROC_CC_DIR)/vect_168.src        \
253          $(SRC_PROC_CC_DIR)/vect_169.src        \
254          $(SRC_PROC_CC_DIR)/vect_170.src        \
255          $(SRC_PROC_CC_DIR)/vect_171.src        \
256          $(SRC_PROC_CC_DIR)/vect_172.src        \
257          $(SRC_PROC_CC_DIR)/vect_173.src        \
258          $(SRC_PROC_CC_DIR)/vect_174.src        \
259          $(SRC_PROC_CC_DIR)/vect_175.src        \
260          $(SRC_PROC_CC_DIR)/vect_176.src        \
261          $(SRC_PROC_CC_DIR)/vect_177.src        \
262          $(SRC_PROC_CC_DIR)/vect_178.src        \
263          $(SRC_PROC_CC_DIR)/vect_179.src        \
264          $(SRC_PROC_CC_DIR)/vect_180.src        \
265          $(SRC_PROC_CC_DIR)/vect_181.src        \
266          $(SRC_PROC_CC_DIR)/vect_182.src        \
267          $(SRC_PROC_CC_DIR)/vect_183.src        \
268          $(SRC_PROC_CC_DIR)/vect_184.src        \
269          $(SRC_PROC_CC_DIR)/vect_185.src        \
270          $(SRC_PROC_CC_DIR)/vect_186.src        \
271          $(SRC_PROC_CC_DIR)/vect_187.src        \
272          $(SRC_PROC_CC_DIR)/vect_188.src        \
273          $(SRC_PROC_CC_DIR)/vect_189.src        \
274          $(SRC_PROC_CC_DIR)/vect_190.src        \
275          $(SRC_PROC_CC_DIR)/vect_191.src        \
276          $(SRC_PROC_CC_DIR)/vect_192.src        \
277          $(SRC_PROC_CC_DIR)/vect_193.src        \
278          $(SRC_PROC_CC_DIR)/vect_194.src        \
279          $(SRC_PROC_CC_DIR)/vect_195.src        \
280          $(SRC_PROC_CC_DIR)/vect_196.src        \
281          $(SRC_PROC_CC_DIR)/vect_197.src        \
282          $(SRC_PROC_CC_DIR)/vect_198.src        \
283          $(SRC_PROC_CC_DIR)/vect_199.src        \
284          $(SRC_PROC_CC_DIR)/vect_200.src        \
285          $(SRC_PROC_CC_DIR)/vect_201.src        \
286          $(SRC_PROC_CC_DIR)/vect_202.src        \
287          $(SRC_PROC_CC_DIR)/vect_203.src        \
288          $(SRC_PROC_CC_DIR)/vect_204.src        \
289          $(SRC_PROC_CC_DIR)/vect_205.src        \
290          $(SRC_PROC_CC_DIR)/vect_206.src        \
291          $(SRC_PROC_CC_DIR)/vect_207.src        \
292          $(SRC_PROC_CC_DIR)/vect_208.src        \
293          $(SRC_PROC_CC_DIR)/vect_209.src        \
294          $(SRC_PROC_CC_DIR)/vect_210.src        \
295          $(SRC_PROC_CC_DIR)/vect_211.src        \
296          $(SRC_PROC_CC_DIR)/vect_212.src        \
297          $(SRC_PROC_CC_DIR)/vect_213.src        \
298          $(SRC_PROC_CC_DIR)/vect_214.src        \
299          $(SRC_PROC_CC_DIR)/vect_215.src        \
300          $(SRC_PROC_CC_DIR)/vect_216.src        \
301          $(SRC_PROC_CC_DIR)/vect_217.src        \
302          $(SRC_PROC_CC_DIR)/vect_218.src        \
303          $(SRC_PROC_CC_DIR)/vect_219.src        \
304          $(SRC_PROC_CC_DIR)/vect_220.src        \
305          $(SRC_PROC_CC_DIR)/vect_221.src        \
306          $(SRC_PROC_CC_DIR)/vect_222.src        \
307          $(SRC_PROC_CC_DIR)/vect_223.src        \
308          $(SRC_PROC_CC_DIR)/vect_224.src        \
309          $(SRC_PROC_CC_DIR)/vect_225.src        \
310          $(SRC_PROC_CC_DIR)/vect_226.src        \
311          $(SRC_PROC_CC_DIR)/vect_227.src        \
312          $(SRC_PROC_CC_DIR)/vect_228.src        \
313          $(SRC_PROC_CC_DIR)/vect_229.src        \
314          $(SRC_PROC_CC_DIR)/vect_230.src        \
315          $(SRC_PROC_CC_DIR)/vect_231.src        \
316          $(SRC_PROC_CC_DIR)/vect_232.src        \
317          $(SRC_PROC_CC_DIR)/vect_233.src        \
318          $(SRC_PROC_CC_DIR)/vect_234.src        \
319          $(SRC_PROC_CC_DIR)/vect_235.src        \
320          $(SRC_PROC_CC_DIR)/vect_236.src        \
321          $(SRC_PROC_CC_DIR)/vect_237.src        \
322          $(SRC_PROC_CC_DIR)/vect_238.src        \
323          $(SRC_PROC_CC_DIR)/vect_239.src        \
324          $(SRC_PROC_CC_DIR)/vect_240.src        \
325          $(SRC_PROC_CC_DIR)/vect_241.src        \
326          $(SRC_PROC_CC_DIR)/vect_242.src        \
327          $(SRC_PROC_CC_DIR)/vect_243.src        \
328          $(SRC_PROC_CC_DIR)/vect_244.src        \
329          $(SRC_PROC_CC_DIR)/vect_245.src        \
330          $(SRC_PROC_CC_DIR)/vect_246.src        \
331          $(SRC_PROC_CC_DIR)/vect_247.src        \
332          $(SRC_PROC_CC_DIR)/vect_248.src        \
333          $(SRC_PROC_CC_DIR)/vect_249.src        \
334          $(SRC_PROC_CC_DIR)/vect_250.src        \
335          $(SRC_PROC_CC_DIR)/vect_251.src        \
336          $(SRC_PROC_CC_DIR)/vect_252.src        \
337          $(SRC_PROC_CC_DIR)/vect_253.src        \
338          $(SRC_PROC_CC_DIR)/vect_254.src        \
339          $(SRC_PROC_CC_DIR)/vect_255.src
340 endif
341
342
343
344 # %jp{\83R\83\93\83p\83C\83\89\88Ë\91\92è\8b`}%en{definitions of compiler dependence}
345 include $(KERNEL_MAKINC_DIR)/shc_d.inc
346
347
348 # %jp{\83J\81[\83l\83\8b\8b¤\92Ê\83\\81[\83X\82Ì\92Ç\89Á}%en{definitions of kernel source files}
349 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
350
351
352
353 # %jp{ALL}%en{all}
354 .PHONY : all
355 all: makelib_all
356         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
357
358 # %jp{\83N\83\8a\81[\83\93}$en{clean}
359 .PHONY : clean
360 clean: makelib_clean
361         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
362         $(RM) -f *.lst
363
364 # depend
365 .PHONY : depend
366 clean: makelib_clean
367
368 # source file copy
369 .PHONY : srccpy
370 srccpy: makelib_srccpy
371
372
373 # %jp{\83\89\83C\83u\83\89\83\8a\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{rules of library}
374 include $(KERNEL_MAKINC_DIR)/makelib.inc
375
376
377 # %jp{\83R\83\93\83p\83C\83\89\88Ë\91\83\8b\81[\83\8b}%en{rules of compiler dependence}
378 include $(KERNEL_MAKINC_DIR)/shc_r.inc
379
380
381 # %jp{\83J\81[\83l\83\8b\88Ë\91\8aÖ\8cW\93Ç\8d\9e\82Ý}%en{dependence}
382 include $(KERNEL_MAKINC_DIR)/knldep.inc
383
384
385
386 # end of file