OSDN Git Service

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