OSDN Git Service

renemae gmake.mak,nmake.mak to makefile
[hos/hos-v4a.git] / kernel / build / arm / lpc2000 / armcc / GNUmakefile
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{\8ae\8eí\90Ý\92è}{setting}
13 # --------------------------------------
14
15 # %jp{\83^\81[\83Q\83b\83g\83\89\83C\83u\83\89\83\8a\96¼}%en{target library name}
16 TARGET ?= libhosv4a
17
18
19 # %jp{\83A\81[\83L\83e\83N\83`\83\83\92è\8b`}%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{\83f\83B\83\8c\83N\83g\83\8a\92è\8b`}%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
37
38
39 # %jp{\83R\83\93\83t\83B\83M\83\85\83\8c\81[\83^\92è\8b`}%en{kernel configurator}
40 CFGRTR = h4acfg-$(ARCH_NAME)
41
42
43 # %jp{\83J\81[\83l\83\8b\8ew\92è}%en{kernel flag}
44 KERNEL = Yes
45
46
47 # %jp{\8b¤\92Ê\92è\8b`\93Ç\8d\9e\82Ý}%en{common setting}
48 include $(KERNEL_MAKINC_DIR)/common.inc
49
50
51 # %jp{\83p\83X\90Ý\92è}%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)
54
55
56 # %jp{\83I\83v\83V\83\87\83\93\83t\83\89\83O}%en{option flags}
57 AFLAGS  = --cpu ARM7TDMI-S --apcs=inter --thumb
58 CFLAGS  = --cpu ARM7TDMI-S --apcs=inter --thumb
59 ARFLAGS = 
60
61
62 # %jp{\83R\83\93\83p\83C\83\89\88Ë\91\82Ì\90Ý\92è\93Ç\8d\9e\82Ý}%en{compiler dependent definitions}
63 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
64
65 # %jp{\83\89\83C\83u\83\89\83\8a\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{definitions for library}
66 include $(KERNEL_MAKINC_DIR)/maklib_d.inc
67
68
69
70
71 # --------------------------------------
72 #  %jp{\83\\81[\83X\83t\83@\83C\83\8b}%en{source files}
73 # --------------------------------------
74
75 # %jp{\83A\83Z\83\93\83u\83\89\83t\83@\83C\83\8b\82Ì\92Ç\89Á}%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)/krst_ctx.s
80 ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.s
81 ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.s
82 ASRCS += $(SRC_PROC_CC_DIR)/kirq_hdr.s
83 ASRCS += $(SRC_PROC_CC_DIR)/kfiq_hdr.s
84
85
86 # %jp{C\8c¾\8cê\83t\83@\83C\83\8b\82Ì\92Ç\89Á}%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
92 CSRCS += $(SRC_IRC_DIR)/vclr_int.c
93
94
95 # %jp{\83J\81[\83l\83\8b\8b¤\92Ê\83\\81[\83X\82Ì\92Ç\89Á}%en{kernel common sources}
96 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
97
98
99
100
101 # --------------------------------------
102 #  %jp{\83\8b\81[\83\8b\92è\8b`}%en{rules}
103 # --------------------------------------
104
105 # %jp{ALL}%en{all}
106 .PHONY : all
107 all: makelib_all
108         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
109
110 # %jp{\83N\83\8a\81[\83\93}%en{clean}
111 .PHONY : clean
112 clean: makelib_clean
113         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
114         $(RM) -f *.lst
115
116 # %jp{\88Ë\91\8aÖ\8cW\8dX\90V}%en{make depend}
117 .PHONY : depend
118 depend: makelib_depend
119
120 # %jp{\83\\81[\83X\88ê\8a\87\83R\83s\81[}%en{source files copy}
121 .PHONY : srccpy
122 srccpy: makelib_srccpy
123
124
125 # %jp{\83\89\83C\83u\83\89\83\8a\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{rules for library}
126 include $(KERNEL_MAKINC_DIR)/maklib_r.inc
127
128 # %jp{\83R\83\93\83p\83C\83\89\88Ë\91\82Ì\83\8b\81[\83\8b\92è\8b`\93Ç\8d\9e\82Ý}%en{rules for compiler}
129 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
130
131
132
133
134 # --------------------------------------
135 #  %jp{\88Ë\91\8aÖ\8cW}%en{dependency}
136 # --------------------------------------
137
138 # %jp{\83J\81[\83l\83\8b\88Ë\91\8aÖ\8cW\93Ç\8d\9e\82Ý}{dependency list of kernel sources}
139 include $(KERNEL_MAKINC_DIR)/knldep.inc
140
141
142
143 # end of file