OSDN Git Service

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