OSDN Git Service

add sh2a-fpu
[hos/hos-v4a.git] / kernel / build / sh / sh2a-fpu / gcc / gmake.mak
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for sh2
4 #
5 # Copyright (C) 1998-2010 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10 # --------------------------------------
11 #  %jp{各種設定}{setting}
12 # --------------------------------------
13
14 # %jp{ターゲットライブラリ名}%en{target library name}
15 TARGET ?= libhosv4a
16
17
18 # %jp{ツール定義}%jp{tools}
19 GCC_ARCH ?= sh-elf-
20 CMD_CC   ?= $(GCC_ARCH)gcc
21 CMD_ASM  ?= $(GCC_ARCH)gcc
22 CMD_LIBR ?= $(GCC_ARCH)ar
23
24
25 # %jp{アーキテクチャ定義}%en{architecture}
26 ARCH_NAME ?= sh2a-fpu
27 ARCH_PROC ?= sh/sh2a-fpu
28 ARCH_IRC  ?= simple
29 ARCH_CC   ?= gcc
30
31
32 # %jp{ディレクトリ定義}%en{directories}
33 TOP_DIR           = ../../../../..
34 KERNEL_DIR        = $(TOP_DIR)/kernel
35 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
36 INC_PROC_DIR      = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
37 INC_IRC_DIR       = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
38 SRC_PROC_DIR      = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
39 SRC_PROC_CC_DIR   = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
40 SRC_IRC_DIR       = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
41 SRC_IRC_CC_DIR    = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
42 CFGRTR_DIR        = $(TOP_DIR)/cfgrtr/build/gcc
43
44
45 # %jp{コンフィギュレータ定義}%en{kernel configurator}
46 CFGRTR = h4acfg-$(ARCH_NAME)
47
48
49 # %jp{カーネル指定}%en{kernel flag}
50 KERNEL = Yes
51
52
53 # %jp{共通定義読込み}%en{common setting}
54 include $(KERNEL_MAKINC_DIR)/common.inc
55
56
57 # %jp{パス設定}%en{add source directories}
58 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
59 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
60
61
62 # %jp{ベクタの高速化}%en{fast vector}
63 ifeq ($(FAST_VECTOR),Yes)
64 A_DEFS += _KERNEL_FAST_INTVEC="ON"
65 endif
66
67
68 # %jp{オプションフラグ}
69 AFLAGS  = -m2a
70 CFLAGS  = -m2a
71 ARFLAGS = 
72
73
74 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
75 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
76
77 # %jp{ライブラリ生成用設定読込み}%en{definitions for library}
78 include $(KERNEL_MAKINC_DIR)/maklib_d.inc
79
80
81
82
83 # --------------------------------------
84 #  %jp{ソースファイル}%en{source files}
85 # --------------------------------------
86
87 # %jp{アセンブラファイルの追加}%en{assembry sources}
88 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S
89 ASRCS += $(SRC_PROC_CC_DIR)/kena_int.S
90 ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.S
91 ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.S
92 ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.S
93 ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.S
94 ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.S
95 ASRCS += $(SRC_PROC_CC_DIR)/kexc_hdr.S
96
97 # %jp{C言語ファイルの追加}%en{C sources}
98 CSRCS += $(SRC_PROC_DIR)/val_int.c
99 CSRCS += $(SRC_IRC_DIR)/chg_ilv.c
100 CSRCS += $(SRC_IRC_DIR)/chg_imsk.c
101 CSRCS += $(SRC_IRC_DIR)/clr_int.c
102 CSRCS += $(SRC_IRC_DIR)/dis_int.c
103 CSRCS += $(SRC_IRC_DIR)/ena_int.c
104 CSRCS += $(SRC_IRC_DIR)/get_ilv.c
105 CSRCS += $(SRC_IRC_DIR)/get_imsk.c
106
107
108 # %jp{カーネル共通ソースの追加}%en{kernel common sources}
109 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
110
111
112
113
114 # --------------------------------------
115 #  %jp{ルール定義}%en{rules}
116 # --------------------------------------
117
118 # %jp{ALL}%en{all}
119 .PHONY : all
120 all: makelib_all
121         $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
122
123 # %jp{クリーン}%en{clean}
124 .PHONY : clean
125 clean: makelib_clean
126         $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
127         $(RM) -f *.lst
128
129 # %jp{依存関係更新}%en{make depend}
130 .PHONY : depend
131 depend: makelib_depend
132
133 # %jp{ソース一括コピー}%en{source files copy}
134 .PHONY : srccpy
135 srccpy: makelib_srccpy
136
137
138 # %jp{ライブラリ生成用設定読込み}%en{rules for library}
139 include $(KERNEL_MAKINC_DIR)/maklib_r.inc
140
141 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
142 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
143
144
145
146
147 # --------------------------------------
148 #  %jp{依存関係}%en{dependency}
149 # --------------------------------------
150
151 # %jp{カーネル依存関係読込み}{dependency list of kernel sources}
152 include $(KERNEL_MAKINC_DIR)/knldep.inc
153
154
155 $(OBJS_DIR)/val_int.$(EXT_OBJ)  :       $(COMMON_HEADERS)
156 $(OBJS_DIR)/chg_ilv.$(EXT_OBJ)  :       $(COMMON_HEADERS)
157 $(OBJS_DIR)/clr_int.$(EXT_OBJ)  :       $(COMMON_HEADERS)
158 $(OBJS_DIR)/dis_int.$(EXT_OBJ)  :       $(COMMON_HEADERS)
159 $(OBJS_DIR)/ena_int.$(EXT_OBJ)  :       $(COMMON_HEADERS)
160 $(OBJS_DIR)/get_ilv.$(EXT_OBJ)  :       $(COMMON_HEADERS)
161 $(OBJS_DIR)/chg_imsk.$(EXT_OBJ) :       $(COMMON_HEADERS)
162 $(OBJS_DIR)/get_imsk.$(EXT_OBJ) :       $(COMMON_HEADERS)
163
164
165
166 # end of file