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