OSDN Git Service

renemae gmake.mak,nmake.mak to makefile
[hos/hos-v4a.git] / sample / win / win32 / gcc / Makefile
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System V4 Advance
3 #  makefile for sh2-sample
4 #
5 # Copyright (C) 1998-2006 by Project HOS
6 # http://sourceforge.jp/projects/hos/
7 # ----------------------------------------------------------------------------
8
9
10
11 # --------------------------------------
12 #  %jp{各種設定}{setting}
13 # --------------------------------------
14
15 # %jp{ターゲット名}%en{target name}
16 TARGET ?= sample
17
18
19 # %jp{ツール定義}%en{tools}
20 GCC_ARCH   ?= 
21 CMD_CC     ?= $(GCC_ARCH)gcc
22 CMD_ASM    ?= $(GCC_ARCH)gcc
23 CMD_LINK   ?= $(GCC_ARCH)gcc
24 CMD_OBJCNV ?= $(GCC_ARCH)objcopy
25
26
27 # %jp{拡張子定義}%en{file extention}
28 EXT_EXE = exe
29
30
31 # %jp{アーキテクチャ定義}%en{architecture}
32 ARCH_NAME ?= win32
33 ARCH_CC   ?= gcc
34
35
36 # %jp{ディレクトリ定義}%en{directories}
37 TOP_DIR           = ../../../..
38 KERNEL_DIR        = $(TOP_DIR)/kernel
39 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
40 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/win/win32/gcc
41 KERNEL_CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
42
43
44 # %jp{コンフィギュレータ定義}
45 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-$(ARCH_NAME)
46
47
48 # %jp{共通定義読込み}%jp{common setting}
49 include $(KERNEL_MAKINC_DIR)/common.inc
50
51
52 # %jp{パス設定}%en{add source directories}
53 INC_DIRS += . ..
54 SRC_DIRS += . ..
55
56
57 # %jp{オプションフラグ}%en{option flags}
58 AFLAGS   = 
59 CFLAGS   = 
60 LNFLAGS  = 
61 LNFLAGS2 = -lwinmm
62
63
64 # %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
65 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
66
67 # %jp{実行ファイル生成用設定読込み}%en{definitions for exection file}
68 include $(KERNEL_MAKINC_DIR)/makexe_d.inc
69
70
71 # %jp{出力ファイル名}%en{output files}
72 TARGET_EXE = $(TARGET).$(EXT_EXE)
73
74
75
76 # --------------------------------------
77 #  %jp{ソースファイル}%en{source files}
78 # --------------------------------------
79
80
81 # --------------------------------------
82 #  %jp{ソースファイル}%en{source files}
83 # --------------------------------------
84
85 # %jp{アセンブラファイルの追加}%en{assembry sources}
86 ASRCS += 
87
88
89 # %jp{C言語ファイルの追加}%en{C sources}
90 CSRCS += ../kernel_cfg.c
91 CSRCS += ../main.c
92 CSRCS += ../sample.c
93 CSRCS += ../ostimer.c
94 CSRCS += ../wintimer.c
95
96
97 # %jp{ライブラリの追加}%en{libraries}
98 LIBS += 
99
100
101
102 # --------------------------------------
103 #  %jp{ルール定義}%en{rules}
104 # --------------------------------------
105
106
107 # %jp{ALL}%en{all}
108 .PHONY : all
109 all: makeexe_all $(TARGET_EXE)
110
111 # %jp{クリーン}%en{clean}
112 clean: makeexe_clean
113         rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
114
115 # %jp{依存関係更新}%en{depend}
116 .PHONY : depend
117 depend: makeexe_depend
118
119 # %jp{ソース一括コピー}%en{source files copy}
120 .PHONY : srccpy
121 srccpy: makeexe_srccpy
122
123 # %jp{カーネルごとクリーン}%en{mostlyclean}
124 .PHONY : mostlyclean
125 mostlyclean: clean kernel_clean
126
127 # %jp{コンフィギュレータ実行}%en{configurator}
128 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
129         cpp -E ../system.cfg ../system.i
130         $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
131
132
133 # %jp{実行ファイル生成用設定読込み}%en{rules for exection file}
134 include $(KERNEL_MAKINC_DIR)/makexe_r.inc
135
136 # %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
137 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
138
139
140
141
142 # --------------------------------------
143 #  %jp{依存関係}
144 # --------------------------------------
145
146 $(OBJS_DIR)/sample.$(EXT_OBJ): ../sample.c ../kernel_id.h
147
148
149 # end of file
150