OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / sample / mn103 / mn103sfa5k / cc103 / nmake.mak
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 # %jp{ターゲット名}
10 TARGET = sample
11
12 # %jp{ディレクトリ}
13 OS_DIR             = ..\..\..\..\..
14 KERNEL_DIR         = $(OS_DIR)\kernel
15 KERNEL_CFGRTR_DIR  = $(OS_DIR)\cfgrtr\build\msc
16 KERNEL_MAKINC_DIR  = $(KERNEL_DIR)\build\common\nmake
17 KERNEL_BUILD_DIR   = $(KERNEL_DIR)\build\mn103\mn103s\cc103
18 HOSAPLFW_DIR       = $(OS_DIR)\aplfw
19 HOSAPLFW_INC_DIR   = $(HOSAPLFW_DIR)
20 HOSAPLFW_BUILD_DIR = $(HOSAPLFW_DIR)\build\mn103\mn103s\cc103
21 OBJS_DIR           = objs_$(TARGET)
22
23
24 # %jp{共通定義読込み}
25 !include $(KERNEL_MAKINC_DIR)\common.inc
26
27
28 # %jp{コンフィギュレータ定義}
29 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)\h4acfg-mn103s
30
31
32 # %jp{ライブラリ定義}
33 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)\hosaplfw.l
34
35
36 # %jp{デバッグ版の定義変更}
37 !if "$(DEBUG)" == "Yes"
38 TARGET       = $(TARGET)dbg
39 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)\hosaplfwdbg.l
40 !endif
41
42
43
44 # %jp{フラグ設定の追加}
45 CFLAGS  = $(CFLAGS)
46 AFLAGS  = $(AFLAGS)
47 LNFLAGS = $(LNFLAGS) -g -Qld=-m -Qld=-Rl -Qld=-T@CODE=0x40000000 -Qld=-T@DATA=0x00000004
48
49
50 # %jp{出力ファイル名}
51 TARGET_EXE = $(TARGET).$(EXT_EXE)
52 TARGET_BIN = $(TARGET).$(EXT_BIN)
53
54
55 # %jp{コンパイラ依存の設定読込み}
56 !include $(KERNEL_MAKINC_DIR)\cc103_d.inc
57
58
59 # %jp{インクルードディレクトリ}
60 INC_DIRS = $(INC_DIRS) $(HOSAPLFW_INC_DIR)
61
62
63 # %jp{ソースディレクトリ}
64 SRC_DIRS = $(SRC_DIRS) . ..
65
66
67 # %jp{アセンブラファイルの追加}
68 ASRCS = $(ASRCS) .\startup.as
69
70
71 # %jp{C言語ファイルの追加}
72 CSRCS = $(CSRCS) ..\kernel_cfg.c
73 CSRCS = $(CSRCS) ..\main.c
74 CSRCS = $(CSRCS) ..\boot.c
75 CSRCS = $(CSRCS) ..\ostimer.c
76
77
78 # %jp{オブジェクトファイルの追加}
79 OBJS = $(OBJS) $(OBJS_DIR)\kernel_cfg.ro
80 OBJS = $(OBJS) $(OBJS_DIR)\main.ro
81 OBJS = $(OBJS) $(OBJS_DIR)\boot.ro
82 OBJS = $(OBJS) $(OBJS_DIR)\ostimer.ro
83
84
85 # %jp{ライブラリファイルの追加}
86 LIBS = $(LIBS) $(HOSAPLFW_LIB)
87
88
89
90 # --------------------------------------
91 #  %jp{ルール}
92 # --------------------------------------
93
94 all: make_subproject makeexe_all $(OBJS_DIR)\kernel_cfg.c srcobjcp $(TARGET_EXE)
95
96 make_subproject:
97         $(CMD_CD) $(HOSAPLFW_BUILD_DIR)
98         $(MAKE) -f nmake.mak
99         $(CMD_CD) $(MAKEDIR)
100
101 clean: makeexe_clean
102         -$(CMD_RM) $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ..\kernel_cfg.c ..\kernel_id.h
103
104 mostlyclean: clean kernel_clean
105         $(CMD_CD) $(HOSAPLFW_BUILD_DIR)
106         $(MAKE) -f nmake.mak clean
107         $(CMD_CD) $(MAKEDIR)
108
109
110 ..\kernel_cfg.c ..\kernel_id.h: ..\system.cfg
111         cl /E ..\system.cfg > ..\system.i
112         $(KERNEL_CFGRTR) ..\system.i -c ..\kernel_cfg.c -i ..\kernel_id.h
113
114 $(OBJS_DIR)\kernel_cfg.c: ..\kernel_cfg.c
115         $(CMD_CP) ..\kernel_cfg.c $(OBJS_DIR)
116         $(CMD_CP) ..\kernel_id.h $(OBJS_DIR)
117
118
119 # %jp{ライブラリ生成用設定読込み}
120 !include $(KERNEL_MAKINC_DIR)\makeexe.inc
121
122 # %jp{コンパイラ依存のルール定義読込み}
123 !include $(KERNEL_MAKINC_DIR)\cc103_r.inc
124
125
126
127 # %jp{コピー}
128 srcobjcp:
129         $(CMD_CP) ..\*.* $(OBJS_DIR)
130
131
132
133 # --------------------------------------
134 #  %jp{依存関係}
135 # --------------------------------------
136
137 $(OBJS_DIR)\kernel_cfg.ro       :       $(OBJS_DIR)\kernel_cfg.c ..\kernel_id.h
138 $(OBJS_DIR)\main.ro                     :       $(OBJS_DIR)\main.c       ..\kernel_id.h
139 $(OBJS_DIR)\boot.ro                     :       $(OBJS_DIR)\boot.c       ..\kernel_id.h ..\boot.h
140 $(OBJS_DIR)\ostimer.ro          :       $(OBJS_DIR)\ostimer.c    ..\kernel_id.h ..\ostimer.h
141 $(OBJS_DIR)\wintimer.ro         :       $(OBJS_DIR)\wintimer.c   ..\kernel_id.h ..\wintimer.h
142
143
144
145 # end of file