OSDN Git Service

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