HOS-V4 Advance の開発リポジトリ
修订版 | 126ff53a5e9d6198801b0137da2c132c78020276 (tree) |
---|---|
时间 | 2014-03-01 17:40:13 |
作者 | Ryuji Fuchikami <ryuz@user...> |
Commiter | Ryuji Fuchikami |
add zynq7000 makefile
@@ -0,0 +1,150 @@ | ||
1 | +# ---------------------------------------------------------------------------- | |
2 | +# Hyper Operating System V4 Advance | |
3 | +# makefile for Cortex-M3 | |
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 ?= arm-xilinx-eabi- | |
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 ?= cortex_a9 | |
28 | +ARCH_PROC ?= arm/arm_v7a | |
29 | +ARCH_IRC ?= none | |
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=cortex-a9 -mthumb-interwork | |
65 | +CFLAGS = -mcpu=cortex-a9 -mthumb-interwork | |
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)/kirq_hdr.S | |
90 | + | |
91 | +# %jp{C言語ファイルの追加}%en{C sources} | |
92 | +CSRCS += $(SRC_PROC_DIR)/val_int.c | |
93 | + | |
94 | +# %jp{カーネル共通ソースの追加}%en{kernel common sources} | |
95 | +include $(KERNEL_MAKINC_DIR)/knlsrc.inc | |
96 | + | |
97 | + | |
98 | + | |
99 | + | |
100 | +# -------------------------------------- | |
101 | +# %jp{ルール定義}%en{rules} | |
102 | +# -------------------------------------- | |
103 | + | |
104 | +# %jp{ALL}%en{all} | |
105 | +.PHONY : all | |
106 | +all: makelib_all | |
107 | + $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) | |
108 | + | |
109 | +# %jp{クリーン}%en{clean} | |
110 | +.PHONY : clean | |
111 | +clean: makelib_clean | |
112 | + $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean | |
113 | + $(RM) -f *.lst | |
114 | + | |
115 | +# %jp{依存関係更新}%en{make depend} | |
116 | +.PHONY : depend | |
117 | +depend: makelib_depend | |
118 | + | |
119 | +# %jp{ソース一括コピー}%en{source files copy} | |
120 | +.PHONY : srccpy | |
121 | +srccpy: makelib_srccpy | |
122 | + | |
123 | + | |
124 | +# %jp{ライブラリ生成用設定読込み}%en{rules for library} | |
125 | +include $(KERNEL_MAKINC_DIR)/maklib_r.inc | |
126 | + | |
127 | +# %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler} | |
128 | +include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc | |
129 | + | |
130 | + | |
131 | + | |
132 | + | |
133 | +# -------------------------------------- | |
134 | +# %jp{依存関係}%en{dependency} | |
135 | +# -------------------------------------- | |
136 | + | |
137 | +# %jp{カーネル依存関係読込み}{dependency list of kernel sources} | |
138 | +include $(KERNEL_MAKINC_DIR)/knldep.inc | |
139 | + | |
140 | + | |
141 | +$(OBJS_DIR)/val_int.$(EXT_OBJ) : $(COMMON_HEADERS) | |
142 | +$(OBJS_DIR)/kini_irc.$(EXT_OBJ) : $(COMMON_HEADERS) | |
143 | +$(OBJS_DIR)/kexe_irc.$(EXT_OBJ) : $(COMMON_HEADERS) | |
144 | +$(OBJS_DIR)/ena_int.$(EXT_OBJ) : $(COMMON_HEADERS) | |
145 | +$(OBJS_DIR)/dis_int.$(EXT_OBJ) : $(COMMON_HEADERS) | |
146 | +$(OBJS_DIR)/vclr_int.$(EXT_OBJ) : $(COMMON_HEADERS) | |
147 | + | |
148 | + | |
149 | + | |
150 | +# end of file |