OSDN Git Service

add ignore file
[hos/hos-v4a.git] / kernel / build / mn103 / mn103s / gcc / Makefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for MN103S
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 ?= mn103/mn1030
15 ARCH_IRC  ?= mn103/mn103s
16 ARCH_CC   ?= gcc
17
18
19 # %jp{ツール定義}
20 GCC_ARCH ?= mn10300-elf-
21 CMD_CC   ?= $(GCC_ARCH)gcc
22 CMD_ASM  ?= $(GCC_ARCH)gcc
23 CMD_LIBR ?= $(GCC_ARCH)ar
24
25
26 # %jp{ディレクトリ定義}
27 TOP_DIR           = ../../../../..
28 KERNEL_DIR        = $(TOP_DIR)/kernel
29 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
30 OBJS_DIR          = objs_$(TARGET)
31
32
33 # %jp{カーネル指定}
34 KERNEL = Yes
35
36
37 # %jp{共通定義読込み}
38 include $(KERNEL_MAKINC_DIR)/common.inc
39
40
41 # %jp{アーキテクチャパス定義}
42 INC_PROC_DIR    = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
43 INC_IRC_DIR     = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
44 SRC_PROC_DIR    = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
45 SRC_PROC_CC_DIR = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
46 SRC_IRC_DIR     = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
47 SRC_IRC_CC_DIR  = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
48
49 # %jp{パス設定}
50 INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
51 SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
52
53 # %jp{オプションフラグ}
54 AFLAGS  =
55 CFLAGS  =
56 ARFLAGS =
57
58 # %jp{コンフィギュレータ定義}
59 CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
60 CFGRTR     = h4acfg-mn103s
61
62
63 # アセンブラファイルの追加
64 ASRCS += $(SRC_PROC_CC_DIR)/kini_prc.S          \
65          $(SRC_PROC_CC_DIR)/kdis_int.S          \
66          $(SRC_PROC_CC_DIR)/kena_int.S          \
67          $(SRC_PROC_CC_DIR)/kwai_int.S          \
68          $(SRC_PROC_CC_DIR)/kcre_ctx.S          \
69          $(SRC_PROC_CC_DIR)/krst_ctx.S          \
70          $(SRC_PROC_CC_DIR)/kswi_ctx.S          \
71          $(SRC_PROC_CC_DIR)/kint_hdr.S
72
73 # C言語ファイルの追加
74 CSRCS += $(SRC_PROC_DIR)/val_int.c                      \
75          $(SRC_IRC_DIR)/ini_irc.c                       \
76          $(SRC_IRC_DIR)/exe_irc.c                       \
77          $(SRC_IRC_DIR)/ena_int.c                       \
78          $(SRC_IRC_DIR)/dis_int.c                       \
79          $(SRC_IRC_DIR)/clr_int.c                       \
80          $(SRC_IRC_DIR)/chg_ilv.c                       \
81          $(SRC_IRC_DIR)/get_ilv.c
82
83
84 # カーネル共通ソースの追加
85 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
86
87
88 # %jp{ALL}
89 .PHONY : all
90 all: makelib_all
91         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
92
93 # %jp{クリーン}
94 .PHONY : clean
95 clean: makelib_clean
96         $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
97         $(RM) -f *.lst
98
99 # depend
100 .PHONY : depend
101 depend: makelib_depend
102
103 # srccpy
104 .PHONY : srccpy
105 srccpy: makelib_srccpy
106
107
108 # %jp{gcc用の設定読込み}
109 include $(KERNEL_MAKINC_DIR)/gcc_d.inc
110
111 # %jp{ライブラリ生成用設定読込み}
112 include $(KERNEL_MAKINC_DIR)/makelib.inc
113
114
115 # %jp{ch38用のルール定義読込み}
116 include $(KERNEL_MAKINC_DIR)/gcc_r.inc
117
118 # %jp{カーネル依存関係読込み}
119 include $(KERNEL_MAKINC_DIR)/knldep.inc
120
121
122 # end of file