OSDN Git Service

add ignore file
[hos/hos-v4a.git] / kernel / build / arm / at91 / gcc / Makefile
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 # %jp{ターゲット名}
11 TARGET ?= libhosv4a
12
13 # %jp{アーキテクチャパス}
14 ARCH_PROC ?= arm/arm_v4t
15 ARCH_IRC  ?= arm/at91
16 ARCH_CC   ?= gcc
17
18 # %jp{ツール定義}
19 GCC_ARCH ?= arm-elf-
20 CMD_CC   ?= $(GCC_ARCH)gcc
21 CMD_ASM  ?= $(GCC_ARCH)gcc
22 CMD_LIBR ?= $(GCC_ARCH)ar
23
24
25 # %jp{ディレクトリ定義}
26 TOP_DIR           = ../../../../..
27 KERNEL_DIR        = $(TOP_DIR)/kernel
28 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
29 OBJS_DIR          = objs_$(TARGET)
30
31
32 # %jp{カーネル指定}
33 KERNEL = Yes
34
35
36 # %jp{共通定義読込み}
37 include $(KERNEL_MAKINC_DIR)/common.inc
38
39
40 # %jp{アーキテクチャパス定義}
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 # %jp{パス設定}
49 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
50 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
51
52 # %jp{オプションフラグ}
53 AFLAGS  += -mcpu=arm7tdmi -mthumb-interwork
54 CFLAGS  += -mcpu=arm7tdmi -mthumb-interwork
55 ARFLAGS += 
56
57 # %jp{コンフィギュレータ定義}
58 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
59 CFGRTR     = h4acfg-aduc7000
60
61
62 # C言語ファイルの追加
63 CSRCS += $(SRC_PROC_DIR)/val_int.c                      \
64          $(SRC_IRC_DIR)/kini_irc.c                      \
65          $(SRC_IRC_DIR)/kexe_irc.c                      \
66          $(SRC_IRC_DIR)/ena_int.c                       \
67          $(SRC_IRC_DIR)/dis_int.c                       \
68          $(SRC_IRC_DIR)/vclr_int.c
69
70
71 # アセンブラファイルの追加
72 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S          \
73          $(SRC_PROC_CC_DIR)/kena_int.S          \
74          $(SRC_PROC_CC_DIR)/kcre_ctx.S          \
75          $(SRC_PROC_CC_DIR)/krst_ctx.S          \
76          $(SRC_PROC_CC_DIR)/kswi_ctx.S          \
77          $(SRC_PROC_CC_DIR)/kwai_int.S          \
78          $(SRC_PROC_CC_DIR)/kund_hdr.S          \
79          $(SRC_PROC_CC_DIR)/kswi_hdr.S          \
80          $(SRC_PROC_CC_DIR)/kpre_hdr.S          \
81          $(SRC_PROC_CC_DIR)/kabt_hdr.S          \
82          $(SRC_PROC_CC_DIR)/kirq_hdr.S          \
83          $(SRC_PROC_CC_DIR)/kfiq_hdr.S
84
85
86
87 # カーネル共通ソースの追加
88 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
89
90
91 # %jp{ALL}
92 .PHONY : all
93 all: makelib_all
94         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
95
96 # %jp{クリーン}
97 .PHONY : clean
98 clean: makelib_clean
99         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
100         $(RM) -f *.lst
101
102
103
104 # %jp{コンパイラ依存の設定読込み}
105 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
106
107 # %jp{ライブラリ生成用設定読込み}
108 include $(KERNEL_MAKINC_DIR)/makelib.inc
109
110 # %jp{コンパイラ依存ルール定義読込み}
111 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
112
113 # %jp{カーネル依存関係読込み}
114 include $(KERNEL_MAKINC_DIR)/knldep.inc
115
116
117 # end of file