]> 4ch.mooo.com Git - 16.git/blob - makefile.med
reverted to makefile.med until issue is solved makefile.meb is the debugging make...
[16.git] / makefile.med
1 #\r
2 #       Higanbana Project makefile\r
3 #\r
4 #\r
5 # Possible optimizations for 8088 class processors\r
6 #\r
7 # -oa   Relax alias checking\r
8 # -ob   Try to generate straight line code\r
9 # -oe - expand user functions inline (-oe=20 is default, adds lots of code)\r
10 # -oh   Enable repeated optimizations\r
11 # -oi   generate certain lib funcs inline\r
12 # -oi+  Set max inline depth (C++ only, use -oi for C)\r
13 # -ok   Flowing of register save into function flow graph\r
14 # -ol   loop optimizations\r
15 # -ol+  loop optimizations plus unrolling\r
16 # -or   Reorder for pipelined (486+ procs); not sure if good to use\r
17 # -os   Favor space over time\r
18 # -ot   Favor time over space\r
19 # -ei   Allocate an "int" for all enum types\r
20 # -zp2  Allow compiler to add padding to structs\r
21 # -zpw  Use with above; make sure you are warning free!\r
22 # -0    8088/8086 class code generation\r
23 # -s    disable stack overflow checking\r
24 \r
25 # -zk0u translate kanji to unicode... wwww\r
26 # -zk0  kanji support~\r
27 # -zkl          current codepage\r
28 \r
29 # this enables debug output to the serial port.\r
30 # comment this out on game release.\r
31 # serial output goes to COM1 at 9600 baud 1 stop bit odd parity.\r
32 # serial output is plain text ASCII.\r
33 DEBUGSERIAL=1\r
34 \r
35 #%.C\r
36 #192x144\r
37 #wwww will add these\r
38 !ifdef __LINUX__\r
39 REMOVECOMMAND=rm -f\r
40 COPYCOMMAND=cp -f\r
41 DIRSEP=/\r
42 OBJ=o\r
43 DUMP=cat\r
44 !else\r
45 REMOVECOMMAND=del\r
46 COPYCOMMAND=copy /y\r
47 DIRSEP=\\r
48 OBJ=OBJ\r
49 DUMP=type\r
50 !endif\r
51 \r
52 TARGET_OS = dos\r
53 \r
54 #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)\r
55 PDIR=..$(DIRSEP)\r
56 SRC=src$(DIRSEP)\r
57 DATADIR=data$(DIRSEP)\r
58 SPRI=$(DATADIR)$(DIRSEP)spri$(DIRSEP)\r
59 SRCLIB=$(SRC)lib$(DIRSEP)\r
60 JSMNLIB=$(SRCLIB)jsmn$(DIRSEP)\r
61 NYANLIB=$(SRCLIB)nyan$(DIRSEP)\r
62 #EXMMLIB=$(SRCLIB)exmm$(DIRSEP)\r
63 MODEXLIB=$(SRCLIB)modex16$(DIRSEP)\r
64 MODEXLIB_=$(SRCLIB)modex$(DIRSEP)\r
65 VGMSNDLIB=$(SRCLIB)vgmsnd$(DIRSEP)\r
66 DOSLIB=$(SRCLIB)doslib$(DIRSEP)\r
67 DOSLIBDIR=$(SRCLIB)doslib\r
68 WCPULIB=$(SRCLIB)wcpu$(DIRSEP)\r
69 \r
70 #\r
71 # quiet flags\r
72 #\r
73 WLIBQ=-q\r
74 WCLQ=-zq $(WLIBQ)\r
75 UPXQ=-qqq\r
76 \r
77 #\r
78 # compile flags\r
79 #\r
80 S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768#54096#60000\r
81 Z_FLAGS=-zk0 -zc -zp8 -zm\r
82 O_FLAGS=-obmilr -oe=24 -out -oh -ei -onac -ol+ -ok##x\r
83 T_FLAGS=-bt=dos -mh -0 -fpi87 -fo=.$(OBJ) -d1\r
84 \r
85 CPPFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1\r
86 !ifeq DEBUGSERIAL 1\r
87 CPPFLAGS += -DDEBUGSERIAL\r
88 !endif\r
89 AFLAGS=$(WCLQ) $(T_FLAGS)\r
90 CFLAGS=$(WCLQ) $(T_FLAGS) -wo -i"$(DOSLIB)" $(O_FLAGS) $(S_FLAGS) $(Z_FLAGS)\r
91 LFLAGS=$(WCLQ) -l=dos -fm=$^&.mah -lr\r
92 LIBFLAGS=$(WLIBQ) -b -n\r
93 \r
94 FLAGS=$(CPPFLAGS) $(CFLAGS)\r
95 \r
96 #\r
97 # objects\r
98 #\r
99 VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)\r
100 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)\r
101 16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) 16_dbg.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_timer.$(OBJ)\r
102 GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) $(DOSLIBLIBS) 16_vrs.$(OBJ) 16_sprit.$(OBJ)\r
103 #planar.$(OBJ) 16planar.$(OBJ)\r
104 DOSLIBLIBS=$(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)cpu$(DIRSEP)dos86h$(DIRSEP)cpu.lib $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)dos$(DIRSEP)dos86h$(DIRSEP)dos.lib $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)vga$(DIRSEP)dos86h$(DIRSEP)vga.lib\r
105 \r
106 !ifeq DEBUGSERIAL 1\r
107 FLAGS += -DDEBUGSERIAL\r
108 DOSLIBOBJ += 8250.$(OBJ)\r
109 DOSLIBLIBS += $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)8250$(DIRSEP)dos86h$(DIRSEP)8250.lib\r
110 !endif\r
111 \r
112 TESTEXEC = test.exe test0.exe pcxtest.exe pcxtest2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe fontgfx.exe scroll.exe vgmtest.exe inputest.exe palettel.exe exmmtest.exe vrstest.exe\r
113 #planrpcx.exe test2.exe\r
114 EXEC = 16.exe bakapi.exe tesuto.exe 0.exe $(TESTEXEC)\r
115 \r
116 all: $(EXEC) joytest.exe\r
117 #16.lib => $(16LIBOBJS) bug....\r
118 16LIB=$(16LIBOBJS)\r
119 #16LIB=16.lib\r
120 \r
121 !ifeq DEBUGSERIAL 1\r
122 16LIBOBJS += $(DOSLIBLIBS)\r
123 !endif\r
124 #\r
125 #game and bakapi executables\r
126 #\r
127 16.exe: 16.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIB) gfx.lib\r
128         wcl $(FLAGS) $(16FLAGS) 16.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIB) gfx.lib -fm=16.mah\r
129 \r
130 bakapi.exe: bakapi.$(OBJ) gfx.lib $(DOSLIBLIBS)\r
131         wcl $(FLAGS) $(BAKAPIFLAGS) bakapi.$(OBJ) gfx.lib $(DOSLIBLIBS) -fm=bakapi.mah\r
132 #modex.lib\r
133 #\r
134 #Test Executables!\r
135 #\r
136 scroll.exe: scroll.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIB) gfx.lib\r
137         wcl $(FLAGS) scroll.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIB) gfx.lib -fm=scroll.mah\r
138 scroll.$(OBJ): $(SRC)scroll.c\r
139         wcl $(FLAGS) -c $(SRC)scroll.c\r
140 \r
141 \r
142 # NOTE: dos86h = 16-bit huge memory model. memory model must match!\r
143 tesuto.exe: tesuto.$(OBJ) $(DOSLIBLIBS) 16_head.$(OBJ) gfx.lib\r
144 #       %write tmp.cmd option quiet option max=tesuto.mah $(DOSLIB_LDFLAGS_DOS16H) file tesuto.obj name tesuto.exe\r
145 #       %write tmp.cmd library $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)cpu$(DIRSEP)dos86h$(DIRSEP)cpu.lib\r
146 #       %write tmp.cmd library $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)dos$(DIRSEP)dos86h$(DIRSEP)dos.lib\r
147 #       @wlink @tmp.cmd\r
148 \r
149 #\r
150 # add this ww to reduce junk www\r
151 #\r
152 # NTS we have to construct the command line into tmp.cmd because for MS-DOS\r
153 # systems all arguments would exceed the pitiful 128 char command line limit\r
154 #.C.OBJ:\r
155 #       %write temp.cmd $(CFLAGS_THIS) $(CFLAGS_CON) $[@\r
156 #       wcl @temp.cmd\r
157 #\r
158         wcl $(FLAGS) $(WCLQ) tesuto.$(OBJ) $(DOSLIBLIBS) 16_head.$(OBJ) gfx.lib\r
159 tesuto.$(OBJ): $(SRC)tesuto.c\r
160         wcl $(FLAGS) $(WCLQ) -c $(SRC)tesuto.c\r
161 \r
162 0.exe: 0.$(OBJ) $(DOSLIBLIBS) gfx.lib $(16LIB)\r
163         wcl $(FLAGS) $(WCLQ) 0.$(OBJ) $(DOSLIBLIBS) gfx.lib $(16LIB)\r
164 0.$(OBJ): $(SRC)0.c\r
165         wcl $(FLAGS) $(WCLQ) -c $(SRC)0.c\r
166 \r
167 test.exe: test.$(OBJ) gfx.lib $(DOSLIBLIBS) $(16LIB)\r
168         wcl $(FLAGS) test.$(OBJ) gfx.lib $(DOSLIBLIBS) $(16LIB) -fm=test.mah\r
169 \r
170 #test2.exe: test2.$(OBJ) $(DOSLIBLIBS) gfx.lib\r
171 #       wcl $(FLAGS) test2.$(OBJ) $(DOSLIBLIBS) gfx.lib -fm=test2.mah\r
172 \r
173 test0.exe: test0.$(OBJ)\r
174         wcl $(FLAGS) test0.$(OBJ) -fm=test0.mah\r
175 \r
176 fonttest.exe: fonttest.$(OBJ) $(16LIB) gfx.lib\r
177         wcl $(FLAGS) fonttest.$(OBJ) $(16LIB) gfx.lib -fm=fonttest.mah\r
178 \r
179 #fonttes0.exe: fonttes0.$(OBJ) $(16LIB)\r
180 #       wcl $(FLAGS) fonttes0.$(OBJ) $(16LIB)\r
181 \r
182 fontgfx.exe: fontgfx.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)\r
183         wcl $(FLAGS) fontgfx.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) -fm=fontgfx.mah\r
184 \r
185 inputest.exe: inputest.$(OBJ) $(16LIB)\r
186         wcl $(FLAGS) inputest.$(OBJ) $(16LIB) -fm=inputest.mah\r
187 \r
188 #sountest.exe: sountest.$(OBJ) $(16LIB)\r
189 #       wcl $(FLAGS) sountest.$(OBJ) $(16LIB)\r
190 \r
191 pcxtest.exe: pcxtest.$(OBJ) gfx.lib\r
192         wcl $(FLAGS) pcxtest.$(OBJ) gfx.lib -fm=pcxtest.mah\r
193 \r
194 vrstest.exe: vrstest.$(OBJ) gfx.lib $(16LIB)\r
195         wcl $(FLAGS) vrstest.$(OBJ) gfx.lib $(16LIB) -fm=vrstest.mah\r
196 \r
197 palettec.exe: palettec.$(OBJ) gfx.lib #$(16LIB)\r
198         wcl $(FLAGS) palettec.$(OBJ) gfx.lib -fm=palettec.mah #$(16LIB)\r
199 \r
200 palettel.exe: palettel.$(OBJ) gfx.lib #$(16LIB)\r
201         wcl $(FLAGS) palettel.$(OBJ) gfx.lib -fm=palettel.mah #$(16LIB)\r
202 \r
203 pcxtest2.exe: pcxtest2.$(OBJ) gfx.lib\r
204         wcl $(FLAGS) pcxtest2.$(OBJ) gfx.lib -fm=pcxtest2.mah\r
205 \r
206 ##planrpcx.exe: planrpcx.$(OBJ) gfx.lib\r
207 ##      wcl $(FLAGS) planrpcx.$(OBJ) gfx.lib -fm=planrpcx.mah\r
208 \r
209 maptest.exe: maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIB) gfx.lib\r
210         wcl $(FLAGS) maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIB) gfx.lib -fm=maptest.mah\r
211 \r
212 fmemtest.exe: fmemtest.$(OBJ) $(16LIB)\r
213         wcl $(FLAGS) fmemtest.$(OBJ) $(16LIB) -fm=fmemtest.mah\r
214 \r
215 exmmtest.exe: exmmtest.$(OBJ) 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) 16_hc.$(OBJ) kitten.$(OBJ)\r
216         wcl $(FLAGS) exmmtest.$(OBJ) -fm=exmmtest.mah $(16LIB)\r
217 ####0000        ./wlink32 @__wcl__.lnk\r
218 \r
219 vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB)\r
220         wcl $(FLAGS) vgmtest.$(OBJ) vgmsnd.lib -fm=vgmtest.mah $(16LIB)\r
221         #====wcl -mc vgmtest.$(OBJ) $(VGMSNDOBJ) -fm=vgmtest.mah\r
222 \r
223 \r
224 #\r
225 #executable's objects\r
226 #\r
227 16.$(OBJ): $(SRC)16.h $(SRC)16.c\r
228         wcl $(FLAGS) -c $(SRC)16.c\r
229 \r
230 bakapi.$(OBJ): $(SRC)bakapi.h $(SRC)bakapi.c\r
231         wcl $(FLAGS) -c $(SRC)bakapi.c\r
232 \r
233 test.$(OBJ): $(SRC)test.c $(SRCLIB)modex16.h\r
234         wcl $(FLAGS) -c $(SRC)test.c\r
235 \r
236 #test2.$(OBJ): $(SRC)test2.c $(SRCLIB)modex16.h\r
237 #       wcl $(FLAGS) -c $(SRC)test2.c\r
238 \r
239 test0.$(OBJ): $(SRC)test0.c\r
240         wcl $(FLAGS) -c $(SRC)test0.c\r
241 \r
242 pcxtest.$(OBJ): $(SRC)pcxtest.c $(SRCLIB)modex16.h\r
243         wcl $(FLAGS) -c $(SRC)pcxtest.c\r
244 \r
245 vrstest.$(OBJ): $(SRC)vrstest.c $(SRCLIB)modex16.h\r
246         wcl $(FLAGS) -c $(SRC)vrstest.c\r
247 \r
248 ##planrpcx.$(OBJ): $(SRC)planrpcx.c $(SRCLIB)modex16.h\r
249 ##      wcl $(FLAGS) -c $(SRC)planrpcx.c\r
250 \r
251 pcxtest2.$(OBJ): $(SRC)pcxtest2.c $(SRCLIB)modex16.h\r
252         wcl $(FLAGS) -c $(SRC)pcxtest2.c\r
253 \r
254 palettec.$(OBJ): $(SRC)palettec.c\r
255         wcl $(FLAGS) -c $(SRC)palettec.c\r
256 \r
257 palettel.$(OBJ): $(SRC)palettel.c\r
258         wcl $(FLAGS) -c $(SRC)palettel.c\r
259 \r
260 maptest.$(OBJ): $(SRC)maptest.c $(SRCLIB)modex16.h\r
261         wcl $(FLAGS) -c $(SRC)maptest.c\r
262 \r
263 #emmtest.$(OBJ): $(SRC)emmtest.c\r
264 #       wcl $(FLAGS) $(MFLAGS) -c $(SRC)emmtest.c\r
265 \r
266 #emsdump.$(OBJ): $(SRC)emsdump.c\r
267 #       wcl $(FLAGS) $(MFLAGS) -c $(SRC)emsdump.c\r
268 \r
269 fmemtest.$(OBJ): $(SRC)fmemtest.c\r
270         wcl $(FLAGS) -c $(SRC)fmemtest.c\r
271 \r
272 fonttest.$(OBJ): $(SRC)fonttest.c\r
273         wcl $(FLAGS) -c $(SRC)fonttest.c\r
274 \r
275 #fonttes0.$(OBJ): $(SRC)fonttes0.c\r
276 #       wcl $(FLAGS) -c $(SRC)fonttes0.c\r
277 \r
278 fontgfx.$(OBJ): $(SRC)fontgfx.c\r
279         wcl $(FLAGS) -c $(SRC)fontgfx.c\r
280 \r
281 inputest.$(OBJ): $(SRC)inputest.c\r
282         wcl $(FLAGS) -c $(SRC)inputest.c\r
283 \r
284 #sountest.$(OBJ): $(SRC)sountest.c\r
285 #       wcl $(FLAGS) -c $(SRC)sountest.c\r
286 \r
287 #miditest.$(OBJ): $(SRC)miditest.c\r
288 #       wcl $(FLAGS) -c $(SRC)miditest.c\r
289 \r
290 #testemm.$(OBJ): $(SRC)testemm.c\r
291 #       wcl $(FLAGS) -c $(SRC)testemm.c\r
292 \r
293 #testemm0.$(OBJ): $(SRC)testemm0.c\r
294 #       wcl $(FLAGS) -c $(SRC)testemm0.c\r
295 \r
296 tsthimem.$(OBJ): $(SRC)tsthimem.c\r
297         wcl $(FLAGS) -c $(SRC)tsthimem.c\r
298 \r
299 exmmtest.$(OBJ): $(SRC)exmmtest.c\r
300         wcl $(FLAGS) -c $(SRC)exmmtest.c 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) 16_hc.$(OBJ) kitten.$(OBJ)\r
301 \r
302 vgmtest.$(OBJ): $(SRC)vgmtest.c\r
303         wcl $(FLAGS) -c $(SRC)vgmtest.c\r
304         #====wcl -mc -c $(SRC)vgmtest.c\r
305 \r
306 #\r
307 #non executable objects libraries\r
308 #\r
309 16.lib: $(16LIBOBJS)# doslib.lib vgmsnd.lib\r
310         wlib -b $(WLIBQ) 16.lib $(16LIBOBJS)# doslib.lib vgmsnd.lib\r
311 \r
312 gfx.lib: $(GFXLIBOBJS)\r
313         wlib -b $(WLIBQ) gfx.lib $(GFXLIBOBJS)\r
314 \r
315 vgmsnd.lib: $(VGMSNDOBJ)\r
316         wlib -b $(WLIBQ) vgmsnd.lib $(VGMSNDOBJ)\r
317 \r
318 # extdep:\r
319 # !include $(DOSLIBDIR)$(DIRSEP)extdep.mak\r
320 \r
321 # library deps 16-bit huge\r
322 $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)cpu$(DIRSEP)dos86h$(DIRSEP)cpu.lib:\r
323         cd $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)cpu && .$(DIRSEP)make.sh\r
324 $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)dos$(DIRSEP)dos86h$(DIRSEP)dos.lib:\r
325         cd $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)dos && .$(DIRSEP)make.sh\r
326 $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)vga$(DIRSEP)dos86h$(DIRSEP)vgatty.lib:\r
327         cd $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)vga && .$(DIRSEP)make.sh\r
328 $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)vga$(DIRSEP)dos86h$(DIRSEP)vga.lib:\r
329         cd $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)vga && .$(DIRSEP)make.sh\r
330 $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)8250$(DIRSEP)dos86h$(DIRSEP)8250.lib:\r
331         cd $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)8250 && .$(DIRSEP)make.sh\r
332 \r
333 joytest.exe:\r
334         cd $(DOSLIBDIR)$(DIRSEP)hw$(DIRSEP)joystick && .$(DIRSEP)make.sh && $(COPYCOMMAND) dos86h$(DIRSEP)test.exe $(PDIR)$(PDIR)$(PDIR)$(PDIR)$(PDIR)joytest.exe\r
335 #$(DOSLIBLIBS): .symbolic\r
336 #       @cd $(DOSLIB)\r
337 #       @.$(DIRSEP)buildall.sh\r
338 #       @cd $(PDIR)$(PDIR)$(PDIR)\r
339 \r
340 modex16.$(OBJ): $(SRCLIB)modex16.h $(SRCLIB)modex16.c\r
341         wcl $(FLAGS) -c $(SRCLIB)modex16.c\r
342 \r
343 bakapee.$(OBJ): $(SRCLIB)bakapee.h $(SRCLIB)bakapee.c\r
344         wcl $(FLAGS) -c $(SRCLIB)bakapee.c\r
345 \r
346 16render.$(OBJ): $(SRCLIB)16render.h $(SRCLIB)16render.c\r
347         wcl $(FLAGS) -c $(SRCLIB)16render.c\r
348 \r
349 ##16planar.$(OBJ): $(MODEXLIB)16planar.h $(MODEXLIB)16planar.c\r
350 ##      wcl $(FLAGS) -c $(MODEXLIB)16planar.c\r
351 \r
352 16_vrs.$(OBJ): $(SRCLIB)16_vrs.h $(SRCLIB)16_vrs.c $(DOSLIBLIBS)\r
353         wcl $(FLAGS) -c $(SRCLIB)16_vrs.c $(DOSLIBLIBS)\r
354 16_sprit.$(OBJ): $(SRCLIB)16_sprit.h $(SRCLIB)16_sprit.c\r
355         wcl $(FLAGS) -c $(SRCLIB)16_sprit.c\r
356 \r
357 \r
358 bitmap.$(OBJ): $(SRCLIB)bitmap.h $(SRCLIB)bitmap.c\r
359         wcl $(FLAGS) -c $(SRCLIB)bitmap.c\r
360 \r
361 ##planar.$(OBJ): $(SRCLIB)planar.h $(SRCLIB)planar.c\r
362 ##      wcl $(FLAGS) -c $(SRCLIB)planar.c\r
363 \r
364 scroll16.$(OBJ): $(SRCLIB)scroll16.h $(SRCLIB)scroll16.c\r
365         wcl $(FLAGS) -c $(SRCLIB)scroll16.c\r
366 \r
367 wcpu.$(OBJ): $(WCPULIB)wcpu.h $(WCPULIB)wcpu.c\r
368         wcl $(FLAGS) -c $(WCPULIB)wcpu.c\r
369 \r
370 16text.$(OBJ): $(SRCLIB)16text.c\r
371         wcl $(FLAGS) -c $(SRCLIB)16text.c\r
372 \r
373 mapread.$(OBJ): $(SRCLIB)mapread.h $(SRCLIB)mapread.c\r
374         wcl $(FLAGS) -c $(SRCLIB)mapread.c\r
375 \r
376 16_timer.$(OBJ): $(SRCLIB)16_timer.h $(SRCLIB)16_timer.c\r
377         wcl $(FLAGS) -c $(SRCLIB)16_timer.c\r
378 \r
379 16_in.$(OBJ): $(SRCLIB)16_in.h $(SRCLIB)16_in.c\r
380         wcl $(FLAGS) -c $(SRCLIB)16_in.c\r
381 \r
382 16_mm.$(OBJ): $(SRCLIB)16_mm.h $(SRCLIB)16_mm.c\r
383         wcl $(FLAGS) -c $(SRCLIB)16_mm.c\r
384 \r
385 16_ca.$(OBJ): $(SRCLIB)16_ca.h $(SRCLIB)16_ca.c\r
386         wcl $(FLAGS) -c $(SRCLIB)16_ca.c\r
387 \r
388 16_dbg.$(OBJ): $(SRCLIB)16_dbg.h $(SRCLIB)16_dbg.c\r
389         wcl $(FLAGS) -c $(SRCLIB)16_dbg.c\r
390 \r
391 midi.$(OBJ): $(SRCLIB)midi.h $(SRCLIB)midi.c\r
392         wcl $(FLAGS) -c $(SRCLIB)midi.c\r
393 \r
394 16_head.$(OBJ): $(SRCLIB)16_head.h $(SRCLIB)16_head.c\r
395         wcl $(FLAGS) -c $(SRCLIB)16_head.c\r
396 \r
397 16_hc.$(OBJ): $(SRCLIB)16_hc.h $(SRCLIB)16_hc.c\r
398         wcl $(FLAGS) -c $(SRCLIB)16_hc.c\r
399 \r
400 16_snd.$(OBJ): $(SRCLIB)16_snd.h $(SRCLIB)16_snd.c\r
401         wcl $(FLAGS) -c $(SRCLIB)16_snd.c\r
402         #====wcl -mc -c $(SRCLIB)16_snd.c\r
403 \r
404 jsmn.$(OBJ): $(JSMNLIB)jsmn.h $(JSMNLIB)jsmn.c\r
405         wcl $(FLAGS) -c $(JSMNLIB)jsmn.c\r
406 \r
407 kitten.$(OBJ): $(NYANLIB)kitten.h $(NYANLIB)kitten.c\r
408         wcl $(FLAGS) -c $(NYANLIB)kitten.c\r
409 \r
410 vgmSnd.$(OBJ): $(VGMSNDLIB)vgmSnd.h $(VGMSNDLIB)vgmSnd.c\r
411         wcl $(FLAGS) -c $(VGMSNDLIB)vgmSnd.c\r
412         #====wcl -c -mc $(VGMSNDLIB)vgmSnd.c\r
413 \r
414 #memory.$(OBJ): $(EXMMLIB)memory.h $(EXMMLIB)memory.c\r
415 #       wcl $(FLAGS) $(MFLAGS) -c $(EXMMLIB)memory.c\r
416 \r
417 c_utils.$(OBJ): $(MODEXLIB_)c_utils.asm\r
418         wcl -c $(AFLAGS) $(MODEXLIB_)c_utils.asm\r
419 modex.$(OBJ): $(MODEXLIB_)modex.asm\r
420         wcl -c $(AFLAGS) $(MODEXLIB_)modex.asm\r
421 \r
422 #\r
423 #other~\r
424 #\r
425 clean: .symbolic\r
426         @$(REMOVECOMMAND) $(EXEC)\r
427         @$(REMOVECOMMAND) *.$(OBJ)\r
428 !ifdef __LINUX__\r
429         @rm *.LIB\r
430         @rm *.EXE\r
431         #@$(REMOVECOMMAND) *.\$\$\$\r
432 !else\r
433         @*$(REMOVECOMMAND) *.$$$\r
434 !endif\r
435         @$(REMOVECOMMAND) 16.lib\r
436         @$(REMOVECOMMAND) gfx.lib\r
437         @$(REMOVECOMMAND) vgmsnd.lib\r
438         @*wlib -n $(WLIBQ) 16.lib\r
439         @*wlib -n $(WLIBQ) gfx.lib\r
440         @*wlib -n $(WLIBQ) vgmsnd.lib\r
441         @$(REMOVECOMMAND) *.16W\r
442         @$(REMOVECOMMAND) *.16B\r
443         @$(REMOVECOMMAND) *.OBJ\r
444         @$(REMOVECOMMAND) *.o\r
445         @$(REMOVECOMMAND) *.BCO\r
446         #@$(REMOVECOMMAND) makefi~1\r
447         #@$(REMOVECOMMAND) makefile~\r
448         @$(REMOVECOMMAND) __wcl__.LNK\r
449 #       @$(REMOVECOMMAND) *.smp\r
450         @$(REMOVECOMMAND) *.SMP\r
451         @$(REMOVECOMMAND) *.hed\r
452         @$(REMOVECOMMAND) *.MAH\r
453         @$(REMOVECOMMAND) *.mah\r
454         @$(REMOVECOMMAND) *.err\r
455         #@cd $(DOSLIB:$(to_os_path))\r
456         #@./buildall.sh clean\r
457         #@cd $(BUILD_ROOT)\r
458 #       @$(COPYCOMMAND) $(SRC)exmmtest.c $(EXMMTESTDIR)$(SRC)\r
459 #       @$(COPYCOMMAND) $(SRCLIB)16_mm.* $(EXMMTESTDIR)$(SRCLIB)\r
460 #       @$(COPYCOMMAND) $(SRCLIB)16_head.* $(EXMMTESTDIR)$(SRCLIB)\r
461 #       @$(COPYCOMMAND) $(SRCLIB)16_ca.* $(EXMMTESTDIR)$(SRCLIB)\r
462 #       @$(COPYCOMMAND) $(SRCLIB)16_hc.* $(EXMMTESTDIR)$(SRCLIB)\r
463 #       @$(COPYCOMMAND) $(SRCLIB)types.h $(EXMMTESTDIR)$(SRCLIB)\r
464 #       @$(COPYCOMMAND) $(NYANLIB)* $(EXMMTESTDIR)$(NYANLIB)\r
465 #       @echo $(watcom)\r
466 #       @echo $(INCLUDE)\r
467 \r
468 backupconfig: .symbolic\r
469         @$(COPYCOMMAND) .git$(DIRSEP)config git_con.fig\r
470         @$(COPYCOMMAND) .gitmodules git_modu.les\r
471         @$(COPYCOMMAND) .gitignore git_igno.re\r
472 \r
473 comp: .symbolic\r
474         @*upx -9 $(EXEC)\r
475 \r
476 comq: .symbolic\r
477         @*upx -9 $(UPXQ) $(EXEC)\r
478 \r
479 www: .symbolic\r
480         @ssh -p 26 sparky4@4ch.mooo.com 'rm -f /var/www/16/*exe*'\r
481         #@rm -f /var/www/$(EXEC)*\r
482         @rm -f /var/www/*.exe.zip*\r
483         #@cp ./$(EXEC) $(DIRSEP)var$(DIRSEP)www$(DIRSEP)\r
484         @./src/util/z.sh $(EXEC) $(EXEC)\r
485         @scp -r -P 26 *.exe 4ch.mooo.com:/var/www/16/\r
486         @scp -r -P 26 x4get.bat 4ch.mooo.com:/var/www/16/\r
487         @scp -r -P 26 /var/www/*.exe.zip.* 4ch.mooo.com:/var/www/16/\r
488 \r
489 getwww: .symbolic\r
490         *x4get.bat $(EXEC)\r
491 \r
492 vomitchan: .symbolic\r
493         @$(DUMP) *.err\r
494 \r
495 ##\r
496 ##      External library management~ ^^\r
497 ##\r
498 #git submodule add <repo>\r
499 mkdl: .symbolic\r
500         @cd $(DOSLIB:$(to_os_path))\r
501         @./buildall.sh\r
502         @cd $(BUILD_ROOT)\r
503 \r
504 uplibs: .symbolic\r
505         @cd $(JSMNLIB:$(to_os_path))\r
506         @git pull\r
507         @cd $(BUILD_ROOT)\r
508         @cd $(DOSLIB:$(to_os_path))\r
509         @git pull\r
510         @cd $(BUILD_ROOT)\r
511 \r
512 reinitlibs: .symbolic\r
513         @rm -rf $(SRCLIB)doslib\r
514         @rm -rf $(SRCLIB)jsmn\r
515         @rm -rf 16/CatacombApocalypse\r
516         @rm -rf 16/wolf3d\r
517         @rm -rf 16/keen\r
518         @wmake -h initlibs\r
519 \r
520 initlibs: .symbolic\r
521         @cp git_con.fig .git/config\r
522         @cp git_modu.les .gitmodules\r
523         @cp git_igno.re .gitignore\r
524         @cd $(SRCLIB:$(to_os_path))\r
525         @git clone https://github.com/joncampbell123/doslib.git\r
526         @git clone https://github.com/zserge/jsmn.git\r
527         @cd $(BUILD_ROOT)\r
528         @cd 16\r
529         @git clone https://github.com/FlatRockSoft/CatacombApocalypse.git\r
530         @git clone https://github.com/id-Software/wolf3d.git\r
531         @git clone https://github.com/keendreams/keen.git\r
532         @cd $(BUILD_ROOT)\r
533         @cp $(DOSLIB)/make-lowercase .\r
534 \r
535 ##\r
536 ##      experimental libs\r
537 ##\r
538 xlib: .symbolic\r
539         @cd 16$(DIRSEP)xlib\r
540         @wmake -h clean\r
541         @wmake -h all\r
542         @cd $(BUILD_ROOT)\r
543 \r
544 mx: .symbolic\r
545         @cd 16$(DIRSEP)xw\r
546 #       @wmake clean\r
547         @wmake -h all\r
548         @cd $(BUILD_ROOT)\r
549 \r
550 mx_: .symbolic\r
551         @cd 16$(DIRSEP)xw_\r
552         @wmake -h -f makefile all\r
553         @cd $(BUILD_ROOT)\r
554 \r
555 vrs: .symbolic\r
556         @cd $(DOSLIB_VGA:$(to_os_path))\r
557         #@make clean\r
558         @make all\r
559         @mv pcx2vrl $(BUILD_ROOT)$(DIRSEP)\r
560         @mv pcxsscut $(BUILD_ROOT)$(DIRSEP)\r
561         @mv vrl2vrs $(BUILD_ROOT)$(DIRSEP)\r
562         @mv vrsdump $(BUILD_ROOT)$(DIRSEP)\r
563         @cd $(BUILD_ROOT)\r