OSDN Git Service

add ignore file
[hos/hos-v4a.git] / kernel / build / arm / at91 / armcc / gmake.mak
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for ATMEL AT91 series
4 #
5 # Copyright (C) 1998-2007 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10
11 # ターゲット名
12 TARGET    ?= libhosv4a
13
14
15 # ディレクトリ定義
16 HOSV4A_DIR        = ../../../../..
17 KERNEL_DIR        = $(HOSV4A_DIR)/kernel
18 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
19 OBJS_DIR          = objs_$(TARGET)
20
21
22 # %jp{カーネル指定}
23 KERNEL = Yes
24
25
26 # %jp{共通定義読込み}
27 include $(KERNEL_MAKINC_DIR)/common.inc
28
29
30 # %jp{アーキテクチャ定義}
31 ARCH_PROC ?= arm/arm_v4t
32 ARCH_IRC  ?= arm/at91
33 ARCH_CC   ?= armcc
34
35
36 # %jp{アーキテクチャパス}
37 INC_PROC_DIR    = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
38 INC_IRC_DIR     = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
39 SRC_PROC_DIR    = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
40 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
41 SRC_IRC_DIR     = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
42 SRC_IRC_CC_DIR  = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
43
44
45 # %jp{パス設定}
46 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
47 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
48
49
50 # %jp{オプションフラグ}
51 AFLAGS  += --cpu=ARM7TDMI --apcs=inter --thumb
52 CFLAGS  += --cpu=ARM7TDMI --apcs=inter --thumb
53 ARFLAGS += 
54
55
56 # %jp{コンフィギュレータ定義}
57 CFGRTR_DIR = $(HOSV4A_DIR)/cfgrtr/build/gcc
58 CFGRTR     = h4acfg-at91
59
60
61 # %jp{コンパイラ依存の設定読込み}
62 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
63
64
65
66 # C言語ファイルの追加
67 CSRCS += $(SRC_PROC_DIR)/val_int.c                      \
68          $(SRC_IRC_DIR)/kini_irc.c                      \
69          $(SRC_IRC_DIR)/kexe_irc.c                      \
70          $(SRC_IRC_DIR)/ena_int.c                       \
71          $(SRC_IRC_DIR)/dis_int.c                       \
72          $(SRC_IRC_DIR)/vclr_int.c
73
74
75 # アセンブラファイルの追加
76 ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.s          \
77          $(SRC_PROC_CC_DIR)/kdis_int.s          \
78          $(SRC_PROC_CC_DIR)/kena_int.s          \
79          $(SRC_PROC_CC_DIR)/kirq_hdr.s          \
80          $(SRC_PROC_CC_DIR)/kfiq_hdr.s          \
81          $(SRC_PROC_CC_DIR)/krst_ctx.s          \
82          $(SRC_PROC_CC_DIR)/kswi_ctx.s          \
83          $(SRC_PROC_CC_DIR)/kwai_int.s
84
85
86
87 # カーネル共通ソースの追加
88 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
89
90
91
92 # %jp{ALL}
93 .PHONY : all
94 all: makelib_all
95         $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
96
97
98 # %jp{クリーン}
99 .PHONY : clean
100 clean: makelib_clean
101         $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
102         $(RM) -f *.lst
103
104
105 # %jp{依存関係更新}
106 .PHONY : depend
107 depend: makelib_depend
108
109
110
111 # %jp{ライブラリ生成用設定読込み}
112 include $(KERNEL_MAKINC_DIR)/makelib.inc
113
114
115 # %jp{コンパイラ依存ルール定義読込み}
116 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
117
118
119 # %jp{カーネル依存関係読込み}
120 include $(KERNEL_MAKINC_DIR)/knldep.inc
121
122
123
124 # end of file