OSDN Git Service

add ignore file
[hos/hos-v4a.git] / kernel / build / arm / arm_v4t / gcc / Makefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for ARM V4T (none IRC)
4 #
5 # Copyright (C) 1998-2006 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  ?= none
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  += -march=armv4t -mthumb-interwork
54 CFLAGS  += -march=armv4t -mthumb-interwork
55 ARFLAGS += 
56
57 # %jp{コンフィギュレータ定義}
58 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
59 CFGRTR     = h4acfg-armv4t
60
61
62 # %jp{アセンブラファイルの追加}
63 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S          \
64          $(SRC_PROC_CC_DIR)/kena_int.S          \
65          $(SRC_PROC_CC_DIR)/kwai_int.S          \
66          $(SRC_PROC_CC_DIR)/kcre_ctx.S          \
67          $(SRC_PROC_CC_DIR)/kswi_ctx.S          \
68          $(SRC_PROC_CC_DIR)/krst_ctx.S          \
69          $(SRC_PROC_CC_DIR)/kirq_hdr.S
70
71 # %jp{C言語ファイルの追加}
72 CSRCS += $(SRC_PROC_DIR)/val_int.c                      \
73          $(SRC_IRC_DIR)/dis_int.c                       \
74          $(SRC_IRC_DIR)/ena_int.c                       \
75          $(SRC_IRC_DIR)/clr_int.c                       \
76          $(SRC_IRC_DIR)/chg_imsk.c                      \
77          $(SRC_IRC_DIR)/get_imsk.c                      \
78          $(SRC_IRC_DIR)/chg_ilv.c                       \
79          $(SRC_IRC_DIR)/get_ilv.c
80
81
82 # %jp{カーネル共通ソースの追加}
83 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
84
85
86 # %jp{ALL}
87 .PHONY : all
88 all: makelib_all
89         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
90
91 # %jp{クリーン}
92 .PHONY : clean
93 clean: makelib_clean
94         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
95         $(RM) -f *.lst
96
97
98
99 # %jp{コンパイラ依存の設定読込み}
100 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
101
102
103 # %jp{ライブラリ生成用設定読込み}
104 include $(KERNEL_MAKINC_DIR)/makelib.inc
105
106
107 # %jp{コンパイラ依存ルール定義読込み}
108 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
109
110
111 # %jp{カーネル依存関係読込み}
112 include $(KERNEL_MAKINC_DIR)/knldep.inc
113
114
115 # end of file