OSDN Git Service

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