]> 4ch.mooo.com Git - 16.git/blob - makefile
0fa19f636f80b53fa483ad958ba6f9703dfaf0b2
[16.git] / makefile
1 !ifdef __LINUX__
2 REMOVECOMMAND=rm -f
3 COPYCOMMAND=cp -f
4 DIRSEP=/
5 OBJ=o
6 !else
7 REMOVECOMMAND=del
8 COPYCOMMAND=copy /y
9 DIRSEP=\
10 OBJ=obj
11 !endif
12 TARGET_OS = dos
13 #-zk0u = translate kanji to unicode... wwww
14 #-zk0 = kanji support~
15 #-zkl = current codepage
16
17 #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)
18 SRC=src$(DIRSEP)
19 SRCLIB=$(SRC)lib$(DIRSEP)
20 JSMNLIB=$(SRCLIB)jsmn$(DIRSEP)
21 NYANLIB=$(SRCLIB)nyan$(DIRSEP)
22 #EXMMLIB=$(SRCLIB)exmm$(DIRSEP)
23 VGMSNDLIB=$(SRCLIB)vgmsnd$(DIRSEP)
24 DOSLIB=$(SRCLIB)doslib$(DIRSEP)
25 WCPULIB=$(SRCLIB)wcpu$(DIRSEP)
26
27 16FLAGS=-fh=16.hed
28 BAKAPIFLAGS=-fh=bakapi.hed
29 SFLAGS=-sg -st -of+ -k32768 -zu -zdf -zff -zgf#49152#24576
30 DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 $(SFLAGS)
31 ZFLAGS=-zk0 -zq -zc -zp8# -zm
32 CFLAGS=-mc -lr -l=dos -wo -x# -d2##wwww
33 OFLAGS=-obmiler -out -oh -ei -zp8 -0 -fpi87  -onac -ol+ -ok####x
34 FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS)
35
36 DOSLIBEXMMOBJ = himemsys.$(OBJ) emm.$(OBJ)
37 VGMSNDOBJ = 16_snd.$(OBJ) vgmSnd.$(OBJ)
38 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
39 16LIBOBJS = bakapee.$(OBJ) 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) scroll16.$(OBJ) 16_ca.$(OBJ) timer.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ)
40 #3812intf.$(OBJ)
41 GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ)
42
43 TESTEXEC =  exmmtest.exe test.exe pcxtest.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe fontgfx.exe tsthimem.exe inputest.exe scroll.exe vgmtest.exe
44 #testemm.exe testemm0.exe fonttes0.exe miditest.exe sega.exe sountest.exe
45 EXEC = 16.exe bakapi.exe $(TESTEXEC)
46
47 all: $(EXEC)
48
49 #
50 #game and bakapi executables
51 #
52 16.exe: 16.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) 16.lib
53         wcl $(FLAGS) $(16FLAGS) 16.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) 16.lib -fm=16.map
54
55 bakapi.exe: bakapi.$(OBJ) 16.lib
56         wcl $(FLAGS) $(BAKAPIFLAGS) bakapi.$(OBJ) 16.lib -fm=bakapi.map
57 #
58 #Test Executables!
59 #
60 scroll.exe: scroll.$(OBJ) 16.lib mapread.$(OBJ) jsmn.$(OBJ)
61         wcl $(FLAGS) scroll.$(OBJ) 16.lib mapread.$(OBJ) jsmn.$(OBJ) -fm=scroll.map
62 scroll.$(OBJ): $(SRC)scroll.c
63         wcl $(FLAGS) -c $(SRC)scroll.c
64
65 #sega.exe: sega.$(OBJ)
66 #       wcl $(FLAGS) sega.$(OBJ)
67 #sega.$(OBJ): $(SRC)sega.c
68 #       wcl $(FLAGS) -c $(SRC)sega.c
69
70 test.exe: test.$(OBJ) gfx.lib
71         wcl $(FLAGS) test.$(OBJ) gfx.lib -fm=test.map
72
73 test2.exe: test2.$(OBJ) gfx.lib
74         wcl $(FLAGS) test2.$(OBJ) gfx.lib -fm=test2.map
75
76 fonttest.exe: fonttest.$(OBJ) 16.lib
77         wcl $(FLAGS) fonttest.$(OBJ) 16.lib# -fm=fonttest.map
78
79 #fonttes0.exe: fonttes0.$(OBJ) 16.lib
80 #       wcl $(FLAGS) fonttes0.$(OBJ) 16.lib
81
82 fontgfx.exe: fontgfx.$(OBJ) 16.lib
83         wcl $(FLAGS) fontgfx.$(OBJ) 16.lib -fm=fontgfx.map
84
85 inputest.exe: inputest.$(OBJ) 16.lib
86         wcl $(FLAGS) -D__DEBUG_InputMgr__=1 inputest.$(OBJ) 16.lib -fm=inputest.map
87
88 #sountest.exe: sountest.$(OBJ) 16.lib
89 #       wcl $(FLAGS) sountest.$(OBJ) 16.lib
90
91 #miditest.exe: miditest.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) midi.$(OBJ)
92 #       wcl $(FLAGS) miditest.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) midi.$(OBJ)
93
94 tsthimem.exe: tsthimem.$(OBJ) 16.lib $(DOSLIBEXMMOBJ)
95         wcl $(FLAGS) tsthimem.$(OBJ) 16.lib $(DOSLIBEXMMOBJ) -fm=tsthimem.map
96
97 #testemm.exe: testemm.$(OBJ) 16.lib $(DOSLIBEXMMOBJ)
98 #       wcl $(FLAGS) testemm.$(OBJ) 16.lib $(DOSLIBEXMMOBJ)
99
100 #testemm0.exe: testemm0.$(OBJ) 16.lib $(DOSLIBEXMMOBJ)
101 #       wcl $(FLAGS) testemm0.$(OBJ) 16.lib $(DOSLIBEXMMOBJ)
102
103 pcxtest.exe: pcxtest.$(OBJ) gfx.lib
104         wcl $(FLAGS) pcxtest.$(OBJ) gfx.lib -fm=pcxtest.map
105
106 palettec.exe: palettec.$(OBJ) 16.lib
107         wcl $(FLAGS) palettec.$(OBJ) 16.lib -fm=palettec.map
108
109 maptest.exe: maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) 16.lib
110         wcl $(FLAGS) maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) 16.lib -fm=maptest.map
111
112 #maptest0.exe: maptest0.$(OBJ) fmapread.$(OBJ) farjsmn.$(OBJ)# 16.lib
113 #       wcl $(FLAGS) $(MFLAGS) maptest0.$(OBJ) fmapread.$(OBJ) farjsmn.$(OBJ)# 16.lib
114
115 #emmtest.exe: emmtest.$(OBJ) memory.$(OBJ)
116 #       wcl $(FLAGS) $(MFLAGS) emmtest.$(OBJ) memory.$(OBJ)
117
118 #emsdump.exe: emsdump.$(OBJ) memory.$(OBJ)
119 #       wcl $(FLAGS) $(MFLAGS) emsdump.$(OBJ) memory.$(OBJ)
120
121 fmemtest.exe: fmemtest.$(OBJ) 16.lib
122         wcl $(FLAGS) fmemtest.$(OBJ) 16.lib -fm=fmemtest.map
123
124 exmmtest.exe: exmmtest.$(OBJ) 16.lib
125         wcl $(FLAGS) exmmtest.$(OBJ) 16.lib -fm=exmmtest.map
126
127 vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib
128         wcl $(FLAGS) vgmtest.$(OBJ) vgmsnd.lib -fm=vgmtest.map
129         #====wcl -mc vgmtest.$(OBJ) $(VGMSNDOBJ) -fm=vgmtest.map
130
131
132 #
133 #executable's objects
134 #
135 16.$(OBJ): $(SRC)16.h $(SRC)16.c
136         wcl $(FLAGS) -c $(SRC)16.c
137
138 bakapi.$(OBJ): $(SRC)bakapi.h $(SRC)bakapi.c
139         wcl $(FLAGS) -c $(SRC)bakapi.c
140
141 test.$(OBJ): $(SRC)test.c $(SRCLIB)modex16.h
142         wcl $(FLAGS) -c $(SRC)test.c
143
144 test2.$(OBJ): $(SRC)test2.c $(SRCLIB)modex16.h
145         wcl $(FLAGS) -c $(SRC)test2.c
146
147 pcxtest.$(OBJ): $(SRC)pcxtest.c $(SRCLIB)modex16.h
148         wcl $(FLAGS) -c $(SRC)pcxtest.c
149
150 palettec.$(OBJ): $(SRC)palettec.c
151         wcl $(FLAGS) -c $(SRC)palettec.c
152
153 maptest.$(OBJ): $(SRC)maptest.c $(SRCLIB)modex16.h
154         wcl $(FLAGS) -c $(SRC)maptest.c
155
156 #maptest0.$(OBJ): $(SRC)maptest0.c# $(SRCLIB)modex16.h
157 #       wcl $(FLAGS) $(MFLAGS) -c $(SRC)maptest0.c
158
159 #emmtest.$(OBJ): $(SRC)emmtest.c
160 #       wcl $(FLAGS) $(MFLAGS) -c $(SRC)emmtest.c
161
162 #emsdump.$(OBJ): $(SRC)emsdump.c
163 #       wcl $(FLAGS) $(MFLAGS) -c $(SRC)emsdump.c
164
165 fmemtest.$(OBJ): $(SRC)fmemtest.c
166         wcl $(FLAGS) -c $(SRC)fmemtest.c
167
168 fonttest.$(OBJ): $(SRC)fonttest.c
169         wcl $(FLAGS) -c $(SRC)fonttest.c
170
171 #fonttes0.$(OBJ): $(SRC)fonttes0.c
172 #       wcl $(FLAGS) -c $(SRC)fonttes0.c
173
174 fontgfx.$(OBJ): $(SRC)fontgfx.c
175         wcl $(FLAGS) -c $(SRC)fontgfx.c
176
177 inputest.$(OBJ): $(SRC)inputest.c
178         wcl $(FLAGS) -c $(SRC)inputest.c
179
180 #sountest.$(OBJ): $(SRC)sountest.c
181 #       wcl $(FLAGS) -c $(SRC)sountest.c
182
183 #miditest.$(OBJ): $(SRC)miditest.c
184 #       wcl $(FLAGS) -c $(SRC)miditest.c
185
186 #testemm.$(OBJ): $(SRC)testemm.c
187 #       wcl $(FLAGS) -c $(SRC)testemm.c
188
189 #testemm0.$(OBJ): $(SRC)testemm0.c
190 #       wcl $(FLAGS) -c $(SRC)testemm0.c
191
192 tsthimem.$(OBJ): $(SRC)tsthimem.c
193         wcl $(FLAGS) -c $(SRC)tsthimem.c
194
195 exmmtest.$(OBJ): $(SRC)exmmtest.c
196         wcl $(FLAGS) -c $(SRC)exmmtest.c
197
198 vgmtest.$(OBJ): $(SRC)vgmtest.c
199         wcl $(FLAGS) -c $(SRC)vgmtest.c
200         #====wcl -mc -c $(SRC)vgmtest.c
201
202 #
203 #non executable objects libraries
204 #
205 16.lib: $(16LIBOBJS) gfx.lib doslib.lib vgmsnd.lib
206         wlib -b -q 16.lib $(16LIBOBJS) gfx.lib doslib.lib vgmsnd.lib
207
208 gfx.lib: $(GFXLIBOBJS)
209         wlib -b -q gfx.lib $(GFXLIBOBJS)
210
211 doslib.lib: $(DOSLIBOBJ) # $(SRCLIB)cpu.lib
212         wlib -b -q doslib.lib $(DOSLIBOBJ) # $(SRCLIB)cpu.lib
213
214 vgmsnd.lib: $(VGMSNDOBJ)
215         wlib -b -q vgmsnd.lib $(VGMSNDOBJ)
216
217 modex16.$(OBJ): $(SRCLIB)modex16.h $(SRCLIB)modex16.c
218         wcl $(FLAGS) -c $(SRCLIB)modex16.c
219
220 bakapee.$(OBJ): $(SRCLIB)bakapee.h $(SRCLIB)bakapee.c
221         wcl $(FLAGS) -c $(SRCLIB)bakapee.c
222
223 bitmap.$(OBJ): $(SRCLIB)bitmap.h $(SRCLIB)bitmap.c
224         wcl $(FLAGS) -c $(SRCLIB)bitmap.c
225
226 planar.$(OBJ): $(SRCLIB)planar.h $(SRCLIB)planar.c
227         wcl $(FLAGS) -c $(SRCLIB)planar.c
228
229 scroll16.$(OBJ): $(SRCLIB)scroll16.h $(SRCLIB)scroll16.c
230         wcl $(FLAGS) -c $(SRCLIB)scroll16.c
231
232 wcpu.$(OBJ): $(WCPULIB)wcpu.h $(WCPULIB)wcpu.c
233         wcl $(FLAGS) -c $(WCPULIB)wcpu.c
234
235 16text.$(OBJ): $(SRCLIB)16text.c
236         wcl $(FLAGS) -c $(SRCLIB)16text.c
237
238 mapread.$(OBJ): $(SRCLIB)mapread.h $(SRCLIB)mapread.c
239         wcl $(FLAGS) -c $(SRCLIB)mapread.c
240
241 #fmapread.$(OBJ): $(SRCLIB)fmapread.h $(SRCLIB)fmapread.c 16.lib
242 #       wcl $(FLAGS) $(MFLAGS) -c $(SRCLIB)fmapread.c 16.lib
243
244 timer.$(OBJ): $(SRCLIB)timer.h $(SRCLIB)timer.c
245         wcl $(FLAGS) -c $(SRCLIB)timer.c
246
247 16_in.$(OBJ): $(SRCLIB)16_in.h $(SRCLIB)16_in.c
248         wcl $(FLAGS) -c $(SRCLIB)16_in.c
249
250 16_mm.$(OBJ): $(SRCLIB)16_mm.h $(SRCLIB)16_mm.c
251         wcl $(FLAGS) -c $(SRCLIB)16_mm.c
252
253 16_ca.$(OBJ): $(SRCLIB)16_ca.h $(SRCLIB)16_ca.c
254         wcl $(FLAGS) -c $(SRCLIB)16_ca.c
255
256 midi.$(OBJ): $(SRCLIB)midi.h $(SRCLIB)midi.c
257         wcl $(FLAGS) -c $(SRCLIB)midi.c
258
259 #
260 # doslib stuff
261 #
262 adlib.$(OBJ): $(DOSLIB)adlib.h $(DOSLIB)adlib.c
263         wcl $(FLAGS) -c $(DOSLIB)adlib.c
264
265 8254.$(OBJ): $(DOSLIB)8254.h $(DOSLIB)8254.c
266         wcl $(FLAGS) -c $(DOSLIB)8254.c
267
268 8259.$(OBJ): $(DOSLIB)8259.h $(DOSLIB)8259.c
269         wcl $(FLAGS) -c $(DOSLIB)8259.c
270
271 dos.$(OBJ): $(DOSLIB)dos.h $(DOSLIB)dos.c
272         wcl $(FLAGS) -c $(DOSLIB)dos.c
273
274 cpu.$(OBJ): $(DOSLIB)cpu.h $(DOSLIB)cpu.c
275         wcl $(FLAGS) -c $(DOSLIB)cpu.c
276
277 himemsys.$(OBJ): $(DOSLIB)himemsys.h $(DOSLIB)himemsys.c
278         wcl $(FLAGS) -c $(DOSLIB)himemsys.c
279
280 emm.$(OBJ): $(DOSLIB)emm.h $(DOSLIB)emm.c
281         wcl $(FLAGS) -c $(DOSLIB)emm.c
282
283 # end of doslib stuff
284
285 16_head.$(OBJ): $(SRCLIB)16_head.h $(SRCLIB)16_head.c
286         wcl $(FLAGS) -c $(SRCLIB)16_head.c
287
288 16_hc.$(OBJ): $(SRCLIB)16_hc.h $(SRCLIB)16_hc.c
289         wcl $(FLAGS) -c $(SRCLIB)16_hc.c
290
291 16_snd.$(OBJ): $(SRCLIB)16_snd.h $(SRCLIB)16_snd.c
292         wcl $(FLAGS) -c $(SRCLIB)16_snd.c
293         #====wcl -mc -c $(SRCLIB)16_snd.c
294
295 jsmn.$(OBJ): $(JSMNLIB)jsmn.h $(JSMNLIB)jsmn.c
296         wcl $(FLAGS) -c $(JSMNLIB)jsmn.c
297
298 kitten.$(OBJ): $(NYANLIB)kitten.h $(NYANLIB)kitten.c
299         wcl $(FLAGS) -c $(NYANLIB)kitten.c
300
301 vgmSnd.$(OBJ): $(VGMSNDLIB)vgmSnd.h $(VGMSNDLIB)vgmSnd.c
302         wcl $(FLAGS) -c $(VGMSNDLIB)vgmSnd.c
303         #====wcl -c -mc $(VGMSNDLIB)vgmSnd.c
304
305 #3812intf.$(OBJ): $(VGMSNDLIB)3812intf.h $(VGMSNDLIB)3812intf.c
306 #       wcl $(FLAGS) -c $(VGMSNDLIB)3812intf.c
307
308 #farjsmn.$(OBJ): $(JSMNLIB)farjsmn.h $(JSMNLIB)farjsmn.c
309 #       wcl $(FLAGS) $(MFLAGS) -c $(JSMNLIB)farjsmn.c
310
311 #memory.$(OBJ): $(EXMMLIB)memory.h $(EXMMLIB)memory.c
312 #       wcl $(FLAGS) $(MFLAGS) -c $(EXMMLIB)memory.c
313
314 #
315 #other~
316 #
317 clean: .symbolic
318         @$(REMOVECOMMAND) $(EXEC)
319         @$(REMOVECOMMAND) *.$(OBJ)
320         @$(REMOVECOMMAND) *.lib
321         @wlib -n 16.lib
322         @wlib -n  gfx.lib
323         @wlib -n  doslib.lib
324         @wlib -n  vgmsnd.lib
325         @$(REMOVECOMMAND) *.16
326         @$(REMOVECOMMAND) *.16W
327         @$(REMOVECOMMAND) *.16B
328         @$(REMOVECOMMAND) *.OBJ
329         @$(REMOVECOMMAND) *.o
330         @$(REMOVECOMMAND) *.BCO
331         @$(REMOVECOMMAND) makefi~1
332         @$(REMOVECOMMAND) makefile~
333         @$(REMOVECOMMAND) __WCL__.LNK
334 #       @$(REMOVECOMMAND) *.smp
335         @$(REMOVECOMMAND) *.SMP
336         @$(REMOVECOMMAND) *.hed
337         @$(REMOVECOMMAND) *.MAP
338         @$(REMOVECOMMAND) *.map
339         @$(REMOVECOMMAND) *.err
340         @$(COPYCOMMAND) .git/config git_con.fig
341 #       @$(COPYCOMMAND) $(SRC)exmmtest.c $(EXMMTESTDIR)$(SRC)
342 #       @$(COPYCOMMAND) $(SRCLIB)16_mm.* $(EXMMTESTDIR)$(SRCLIB)
343 #       @$(COPYCOMMAND) $(SRCLIB)16_head.* $(EXMMTESTDIR)$(SRCLIB)
344 #       @$(COPYCOMMAND) $(SRCLIB)16_ca.* $(EXMMTESTDIR)$(SRCLIB)
345 #       @$(COPYCOMMAND) $(SRCLIB)16_hc.* $(EXMMTESTDIR)$(SRCLIB)
346 #       @$(COPYCOMMAND) $(SRCLIB)types.h $(EXMMTESTDIR)$(SRCLIB)
347 #       @$(COPYCOMMAND) $(NYANLIB)* $(EXMMTESTDIR)$(NYANLIB)