OSDN Git Service

62f4e6c5189ebf0cb48927c56a71c258f064b987
[hos/hos-v4a.git] / aplfw / sample / sh / cq7144a / shc / nmake.mak
1 # ----------------------------------------------------------------------------
2 # Hyper Operating System  Application Framework
3 #
4 # Copyright (C) 2007-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\sh\sh2\shc
18 HOSAPLFW_DIR       = $(OS_DIR)\aplfw
19 HOSAPLFW_INC_DIR   = $(HOSAPLFW_DIR)
20 HOSAPLFW_BUILD_DIR = $(HOSAPLFW_DIR)\build\sh\sh2\shc
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-sh2
30
31
32 # %jp{ライブラリ定義}
33 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)\hosaplfw.$(EXT_LIB)
34 STD_LIBS     = stdlib.lib
35
36 # %jp{メモリマップ}
37 !if "$(MEMMAP)" == "ext"
38 # %jp{外部メモリ}
39 TARGET       = $(TARGET)ext
40 SECTION_VECT = 00400000
41 SECTION_ROM  = 00400400
42 SECTION_RAM  = 00410000
43 !else
44 # %jp{内蔵ROMメモリ}
45 SECTION_VECT = 00000000
46 SECTION_ROM  = 00000400
47 SECTION_RAM  = 00400000
48 !endif
49
50
51 # %jp{デバッグ版の定義変更}
52 !if "$(DEBUG)" == "Yes"
53 TARGET       = $(TARGET)dbg
54 HOSAPLFW_LIB = $(HOSAPLFW_BUILD_DIR)\hosaplfwdbg.$(EXT_LIB)
55 !endif
56
57
58
59 # %jp{フラグ設定の追加}
60 CFLAGS  = $(CFLAGS) -CP=sh2 -DEBug -NOLOGO
61 AFLAGS  = $(AFLAGS) -CP=sh2 -DEBug -NOLOGO
62 LNFLAGS = $(LNFLAGS)
63
64
65 # %jp{出力ファイル名}
66 TARGET_EXE = $(TARGET).$(EXT_EXE)
67 TARGET_MOT = $(TARGET).$(EXT_MOT)
68
69
70 # %jp{コンパイラ依存の設定読込み}
71 !include $(KERNEL_MAKINC_DIR)\shc_d.inc
72
73
74 # %jp{インクルードディレクトリ}
75 INC_DIRS = $(INC_DIRS) $(HOSAPLFW_INC_DIR)
76
77
78 # %jp{ソースディレクトリ}
79 SRC_DIRS = $(SRC_DIRS) . ..
80
81
82 # %jp{アセンブラファイルの追加}
83 ASRCS = $(ASRCS) .\vcttbl.src
84 ASRCS = $(ASRCS) .\startup.src
85
86
87 # %jp{C言語ファイルの追加}
88 CSRCS = $(CSRCS) .\dbsct.c
89 CSRCS = $(CSRCS) ..\kernel_cfg.c
90 CSRCS = $(CSRCS) ..\main.c
91 CSRCS = $(CSRCS) ..\boot.c
92 CSRCS = $(CSRCS) ..\ostimer.c
93
94
95 # %jp{オブジェクトファイルの追加}
96 OBJS = $(OBJS) $(OBJS_DIR)\vcttbl.$(EXT_OBJ)
97 OBJS = $(OBJS) $(OBJS_DIR)\startup.$(EXT_OBJ)
98 OBJS = $(OBJS) $(OBJS_DIR)\kernel_cfg.$(EXT_OBJ)
99 OBJS = $(OBJS) $(OBJS_DIR)\main.$(EXT_OBJ)
100 OBJS = $(OBJS) $(OBJS_DIR)\boot.$(EXT_OBJ)
101 OBJS = $(OBJS) $(OBJS_DIR)\ostimer.$(EXT_OBJ)
102
103
104 # %jp{ライブラリファイルの追加}
105 LIBS = $(LIBS) $(HOSAPLFW_LIB) $(STD_LIBS)
106
107
108
109 # --------------------------------------
110 #  %jp{ルール}
111 # --------------------------------------
112
113 all: make_subproject makeexe_all $(OBJS_DIR)\kernel_cfg.c srcobjcp $(TARGET_EXE) $(TARGET_MOT)
114
115 make_subproject:
116         $(CMD_CD) $(HOSAPLFW_BUILD_DIR)
117         $(MAKE) -f nmake.mak
118         $(CMD_CD) $(MAKEDIR)
119
120 clean: makeexe_clean
121         -$(CMD_RM) $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ..\kernel_cfg.c ..\kernel_id.h
122
123 mostlyclean: clean kernel_clean
124         $(CMD_CD) $(HOSAPLFW_BUILD_DIR)
125         $(MAKE) -f nmake.mak clean
126         $(CMD_CD) $(MAKEDIR)
127
128
129 ..\kernel_cfg.c ..\kernel_id.h: ..\system.cfg
130         cl /E ..\system.cfg > ..\system.i
131         $(KERNEL_CFGRTR) ..\system.i -c ..\kernel_cfg.c -i ..\kernel_id.h
132
133 $(OBJS_DIR)\kernel_cfg.c: ..\kernel_cfg.c
134         $(CMD_CP) ..\kernel_cfg.c $(OBJS_DIR)
135         $(CMD_CP) ..\kernel_id.h $(OBJS_DIR)
136
137 $(STD_LIBS):
138         lbgsh -OUTPut=$(STD_LIBS) -CP=sh2
139
140
141 # %jp{ライブラリ生成用設定読込み}
142 !include $(KERNEL_MAKINC_DIR)\makeexe.inc
143
144 # %jp{コンパイラ依存のルール定義読込み}
145 !include $(KERNEL_MAKINC_DIR)\shc_r.inc
146
147
148
149 # %jp{コピー}
150 srcobjcp:
151         $(CMD_CP) .\*.src $(OBJS_DIR)
152         $(CMD_CP) .\*.c $(OBJS_DIR)
153         $(CMD_CP) ..\*.c $(OBJS_DIR)
154
155
156
157 # --------------------------------------
158 #  %jp{依存関係}
159 # --------------------------------------
160
161 $(OBJS_DIR)\kernel_cfg.$(EXT_OBJ)       :       $(OBJS_DIR)\kernel_cfg.c ..\kernel_id.h
162 $(OBJS_DIR)\main.$(EXT_OBJ)                     :       $(OBJS_DIR)\main.c       ..\kernel_id.h
163 $(OBJS_DIR)\boot.$(EXT_OBJ)                     :       $(OBJS_DIR)\boot.c       ..\kernel_id.h ..\boot.h
164 $(OBJS_DIR)\ostimer.$(EXT_OBJ)          :       $(OBJS_DIR)\ostimer.c    ..\kernel_id.h ..\ostimer.h
165 $(OBJS_DIR)\wintimer.$(EXT_OBJ)         :       $(OBJS_DIR)\wintimer.c   ..\kernel_id.h ..\wintimer.h
166
167
168
169 # end of file