X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=makefile;h=27e487c85e3b3da2d3b05de0066805c4fd7fac8d;hb=77d513c45df6caa3230d4905bafbfeb78b05a144;hp=f650f020f614f23573ea6aacb4be77447311ae27;hpb=93e1ab2e43ce82facb47476d9ee461b0d5beb83e;p=16.git diff --git a/makefile b/makefile index f650f020..27e487c8 100755 --- a/makefile +++ b/makefile @@ -9,7 +9,6 @@ # -oe - expand user functions inline (-oe=20 is default, adds lots of code) # -oh Enable repeated optimizations # -oi generate certain lib funcs inline -# -oi +Set max inline depth (C++ only, use -oi for C) # -ok Flowing of register save into function flow graph # -ol loop optimizations # -ol+ loop optimizations plus unrolling @@ -25,6 +24,11 @@ # -zk0u translate kanji to unicode... wwww # -zk0 kanji support~ # -zkl current codepage +# -zd{f,p} DS floats vs DS pegged to DGROUP +# -zu SS != DGROUP +# -zp{1,2,4,8,16} struct packing align. +# -ei force enums to be type int +# -wo diagnose problems in overlaid code # this enables debug output to the serial port. # comment this out on game release. @@ -32,6 +36,8 @@ # serial output is plain text ASCII. DEBUGSERIAL=1 +DELLOGFILE=1 + #192x144 #wwww will add these !ifdef __LINUX__ @@ -39,6 +45,7 @@ DEBUGSERIAL=1 to_os_path=\=/ REMOVECOMMAND=rm -f COPYCOMMAND=cp -f +MOVECOMMAND=mv DIRSEP=/ OBJ=obj DUMP=cat @@ -48,6 +55,7 @@ DOSLIBMAKEALL=./buildall.sh build all to_os_path=/=\ REMOVECOMMAND=del COPYCOMMAND=copy /y +MOVECOMMAND=move DIRSEP=\ OBJ=obj DUMP=type @@ -65,6 +73,7 @@ SPRI=$(DATADIR)/spri SRC=src UTIL=$(SRC)/util GITCONFIGDIR=$(UTIL)/git +SCRIPTBATDIR=$(UTIL)/shbat SRCLIB=$(SRC)/lib JSMNLIB=$(SRCLIB)/jsmn NYANLIB=$(SRCLIB)/nyan @@ -105,10 +114,10 @@ UPXQ=-qqq # # compile flags # -S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768 -Z_FLAGS=-zk0 -zc -zp8 -zm -O_FLAGS=-opnr -oe=24 -oil+ -outback -ohm -zp4##-ei -T_FLAGS=-bt=dos -wx -m$(MEMORYMODE) -0 -fpi87 -d1 -fo=.$(OBJ) ##-e=65536 +S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k24576#32768 +Z_FLAGS=-zk0 -zc -zm#### -zp4 -ei +O_FLAGS=-opnr -oe=24 -oil+ -outback -ohm +T_FLAGS=-bt=dos -wx -m$(MEMORYMODE) -0 -fpi87 -d1 -fo=.$(OBJ)## -e=65536 DBUGFLAGS=-fm=$^&.meh -fd=$^& CPPFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 @@ -125,8 +134,8 @@ LIBFLAGS=$(WLIBQ) -b -n # VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ) #OLDLIBOBJS=bitmap.$(OBJ) 16render.$(OBJ) -GFXLIBOBJS = 16_vl.$(OBJ) 16_vlpal.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_spri.$(OBJ) $(OLDLIBOBJS) -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) +GFXLIBOBJS = 16_vl.$(OBJ) 16_vl_1.$(OBJ) 16_vlpal.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_spri.$(OBJ) $(OLDLIBOBJS) +16LIBOBJS = 16_mm.$(OBJ) 16_pm.$(OBJ) 16_ca.$(OBJ) 16_tail.$(OBJ) 16_head.$(OBJ) 16_enti.$(OBJ) 16_dbg.$(OBJ) 16_in.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_wcpu.$(OBJ) 16_timer.$(OBJ) jsmn.$(OBJ) 16_map.$(OBJ) 16text.$(OBJ) DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ) !ifeq DEBUGSERIAL 1 DOSLIBOBJ += 8250.$(OBJ) @@ -178,15 +187,16 @@ EXTERNTESTEXEC = & wcpu.exe & db.exe TESTEXEC = & - test.exe & - tesuto.exe & - 0.exe & + vidtest.exe & exmmtest.exe & vgmtest.exe & - zcroll.exe & + xcroll.exe & inputest.exe & vrstest.exe & + tesuto.exe & + 0.exe & maptest.exe +#zcroll.exe & TESTEXEC2 = & pcxtest.exe & scroll.exe & @@ -213,36 +223,48 @@ SPRIUTILEXEC = & EXEC = & 16.exe & bakapi.exe & - $(UTILEXEC) & $(TESTEXEC) -all: $(EXEC) $(EXTERNTESTEXEC) +#!ifdef __LINUX__ +#EXEC += $(SPRIUTILEXEC) +#!endif + +ALLEXEC = & + $(EXEC) & + $(UTILEXEC) & + $(TESTEXEC2) & + $(TESTEXEC3) + +all: $(EXEC) testexec: $(EXEC) $(TESTEXEC2) # # game and bakapi executables # 16.exe: 16.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) -bakapi.exe: bakapi.$(OBJ) gfx.lib $(DOSLIB) +bakapi.exe: bakapi.$(OBJ) gfx.lib $(DOSLIB) 16_wcpu.$(OBJ) # # Test Executables! # scroll.exe: scroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) scroll.$(OBJ): $(SRC)/scroll.c +xcroll.exe: xcroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) +xcroll.$(OBJ): $(SRC)/xcroll.c zcroll.exe: zcroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) zcroll.$(OBJ): $(SRC)/zcroll.c tesuto.exe: tesuto.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIB) tesuto.$(OBJ): $(SRC)/tesuto.c 0.exe: 0.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) 0.$(OBJ): $(SRC)/0.c -test.exe: test.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) +vidtest.exe: vidtest.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) #test2.exe: test2.$(OBJ) gfx.lib $(DOSLIB) test0.exe: test0.$(OBJ) fonttest.exe: fonttest.$(OBJ) gfx.lib #fonttes0.exe: fonttes0.$(OBJ) $(16LIB) fontgfx.exe: fontgfx.$(OBJ) gfx.lib $(DOSLIB) inputest.exe: inputest.$(OBJ) $(16LIB) $(DOSLIB) gfx.lib +#inntest.exe: inntest.$(OBJ) $(16LIBNOINOBJS) 16_in_1.$(OBJ) $(DOSLIB) gfx.lib #sountest.exe: sountest.$(OBJ) $(16LIB) pcxtest.exe: pcxtest.$(OBJ) gfx.lib $(DOSLIB) $(16LIB) vrstest.exe: vrstest.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) @@ -254,7 +276,7 @@ pcxtest2.exe: pcxtest2.$(OBJ) gfx.lib $(DOSLIB) #planrpcx.exe: planrpcx.$(OBJ) gfx.lib maptest.exe: maptest.$(OBJ) 16_map.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIB) $(16LIB) fmemtest.exe: fmemtest.$(OBJ) -exmmtest.exe: exmmtest.$(OBJ) $(16LIB) $(DOSLIB) +exmmtest.exe: exmmtest.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIB) gfx.lib db.exe: db.$(OBJ) wcpu.exe: wcpu.$(OBJ) $(16LIB) $(DOSLIB) @@ -264,7 +286,7 @@ wcpu.exe: wcpu.$(OBJ) $(16LIB) $(DOSLIB) # 16.$(OBJ): $(SRC)/16.c $(SRC)/16.h bakapi.$(OBJ): $(SRC)/bakapi.c $(SRC)/bakapi.h -test.$(OBJ): $(SRC)/test.c $(SRCLIB)/16_vl.h +vidtest.$(OBJ): $(SRC)/vidtest.c $(SRCLIB)/16_vl.h #test2.$(OBJ): $(SRC)/test2.c $(SRCLIB)/16_vl.h test0.$(OBJ): $(SRC)/test0.c pcxtest.$(OBJ):$(SRC)/pcxtest.c $(SRCLIB)/16_vl.h @@ -283,6 +305,7 @@ fonttest.$(OBJ):$(SRC)/fonttest.c #fonttes0.$(OBJ): $(SRC)/fonttes0.c fontgfx.$(OBJ):$(SRC)/fontgfx.c inputest.$(OBJ):$(SRC)/inputest.c +#inntest.$(OBJ):$(SRC)/inntest.c #sountest.$(OBJ): $(SRC)/sountest.c #miditest.$(OBJ): $(SRC)/miditest.c #testemm.$(OBJ):$(SRC)/testemm.c @@ -322,8 +345,9 @@ joytest.exe: $(COPYCOMMAND) $(DOSLIB_JOYSTICK:$(to_os_path))$(DIRSEP)$(DOSLIB_MEMMODE)$(DIRSEP)test.exe joytest.exe 16_vl.$(OBJ): $(SRCLIB)/16_vl.c $(SRCLIB)/16_vl.h +16_vl_1.$(OBJ): $(SRCLIB)/16_vl_1.c $(SRCLIB)/16_vl.h 16_vlpal.$(OBJ): $(SRCLIB)/16_vlpa_.c $(SRCLIB)/16_vlpal.c $(SRCLIB)/16_vlpal.h -bakapee.$(OBJ):$(SRCLIB)/bakapee.c $(SRCLIB)/bakapee.h +bakapee.$(OBJ): $(SRCLIB)/bakapee.c $(SRCLIB)/bakapee.h 16render.$(OBJ):$(SRCLIB)/16render.c $(SRCLIB)/16render.h 16planar.$(OBJ):$(MODEXLIB16)/16planar.c $(MODEXLIB16)/16planar.h 16_vrs.$(OBJ): $(SRCLIB)/16_vrs.c $(SRCLIB)/16_vrs.h $(DOSLIB) @@ -337,10 +361,12 @@ mapread.$(OBJ):$(SRCLIB)/mapread.c $(SRCLIB)/mapread.h 16_map.$(OBJ):$(SRCLIB)/16_map.c $(SRCLIB)/16_map.h 16_timer.$(OBJ):$(SRCLIB)/16_timer.c $(SRCLIB)/16_timer.h 16_in.$(OBJ): $(SRCLIB)/16_in.c $(SRCLIB)/16_in.h +#16_in_1.$(OBJ): $(SRCLIB)/16_in_1.c $(SRCLIB)/16_in_1.h 16_rf.$(OBJ): $(SRCLIB)/16_rf.c $(SRCLIB)/16_rf.h 16_mm.$(OBJ): $(SRCLIB)/16_mm.c $(SRCLIB)/16_mm.h 16_pm.$(OBJ): $(SRCLIB)/16_pm.c $(SRCLIB)/16_pm.h 16_ca.$(OBJ): $(SRCLIB)/16_ca.c $(SRCLIB)/16_ca.h +16_us.$(OBJ): $(SRCLIB)/16_us.c 16_dbg.$(OBJ): $(SRCLIB)/16_dbg.c $(SRCLIB)/16_dbg.h midi.$(OBJ): $(SRCLIB)/midi.c $(SRCLIB)/midi.h 16_head.$(OBJ):$(SRCLIB)/16_head.c $(SRCLIB)/16_head.h @@ -360,13 +386,16 @@ ll.$(OBJ): $(SRCLIB)/ll.c $(SRCLIB)/ll.h #other~ # clean: .symbolic - @if not exist $(DOSLIBDIR)/buildall.sh wmake -h initlibs - @for %f in ($(EXEC)) do @if exist %f $(REMOVECOMMAND) %f + @if not exist $(DOSLIBDIR)/buildall.sh wmake -s -h initlibs + @wmake -s -h initscript + @for %f in ($(ALLEXEC)) do @if exist %f $(REMOVECOMMAND) %f !ifdef __LINUX__ @if exist *.LIB $(REMOVECOMMAND) *.LIB @. src/util/bcexmm.sh @if exist *.EXE $(REMOVECOMMAND) *.EXE @if exist *.OBJ $(REMOVECOMMAND) *.OBJ + #@for %f in ($(SPRIUTILEXEC)) do @if exist %f $(REMOVECOMMAND) %f + @if not exist vrl2vrs wmake -s -h pcx2vrl !else @if exist *.o $(REMOVECOMMAND) *.o !endif @@ -379,13 +408,15 @@ clean: .symbolic @if exist *.smp $(REMOVECOMMAND) *.smp @if exist *.SMP $(REMOVECOMMAND) *.SMP @if exist *.hed $(REMOVECOMMAND) *.hed - @if exist *.mah $(REMOVECOMMAND) *.mah - @if exist *.MAH $(REMOVECOMMAND) *.MAH + @if exist *.meh $(REMOVECOMMAND) *.meh + @if exist *.MEH $(REMOVECOMMAND) *.MEH @if exist *.err $(REMOVECOMMAND) *.err @if exist TC*.SWP $(REMOVECOMMAND) TC*.SWP -# @if exist *.16W $(REMOVECOMMAND) *.16W -# @if exist *.16B $(REMOVECOMMAND) *.16B - +!ifeq DELLOGFILE 1 + @if exist *.16W $(REMOVECOMMAND) *.16W + @if exist *.16B $(REMOVECOMMAND) *.16B + @if exist *.L16 $(REMOVECOMMAND) *.L16 +!endif # @$(COPYCOMMAND) $(SRC)exmmtest.c $(EXMMTESTDIR)$(SRC) # @$(COPYCOMMAND) $(SRCLIB)16_mm.* $(EXMMTESTDIR)$(SRCLIB) # @$(COPYCOMMAND) $(SRCLIB)16_head.* $(EXMMTESTDIR)$(SRCLIB) @@ -396,14 +427,39 @@ clean: .symbolic nuke: .symbolic @wmake clean + @wmake backupscript @wmake cldl @wmake all @wmake comp backupconfig: .symbolic - @$(COPYCOMMAND) .git$(DIRSEP)config $(GITCONFIGDIR)git_con.fig - @$(COPYCOMMAND) .gitmodules $(GITCONFIGDIR)git_modu.les - @$(COPYCOMMAND) .gitignore $(GITCONFIGDIR)git_igno.re + @$(COPYCOMMAND) .git$(DIRSEP)config $(GITCONFIGDIR)/git_con.fig + @$(COPYCOMMAND) .gitmodules $(GITCONFIGDIR)/git_modu.les + @$(COPYCOMMAND) .gitignore $(GITCONFIGDIR)/git_igno.re + +initconfig: .symbolic + @$(COPYCOMMAND) $(GITCONFIGDIR)/git_con.fig .git/config + @$(COPYCOMMAND) $(GITCONFIGDIR)/git_modu.les .gitmodules + @$(COPYCOMMAND) $(GITCONFIGDIR)/git_igno.re .gitignore + + +backupscript: .symbolic + @if exist *.bat $(MOVECOMMAND) *.bat $(SCRIPTBATDIR)/ + @if exist *.sh $(MOVECOMMAND) *.sh $(SCRIPTBATDIR)/ +!ifdef __LINUX__ + @if exist *.BAT $(MOVECOMMAND) *.BAT $(SCRIPTBATDIR)/ + @if not exist ud.sh $(COPYCOMMAND) $(SCRIPTBATDIR)/ud.sh ./ +!endif + @if not exist wbuild.sh $(COPYCOMMAND) $(SCRIPTBATDIR)/wbuild.sh ./ + @if not exist WBUILD.BAT $(COPYCOMMAND) $(SCRIPTBATDIR)/WBUILD.BAT ./ + +initscript: .symbolic + @$(COPYCOMMAND) $(SCRIPTBATDIR)/*.bat ./ + @$(COPYCOMMAND) $(SCRIPTBATDIR)/*.sh ./ +!ifdef __LINUX__ + @$(COPYCOMMAND) $(SCRIPTBATDIR)/*.BAT ./ +!endif + comp: .symbolic @*upx -9 $(EXEC) @@ -413,15 +469,16 @@ comq: .symbolic www: .symbolic @for %f in (/var/www/$(EXEC)) do @if exist /var/www/%f $(REMOVECOMMAND) /var/www/%f - @$(REMOVECOMMAND) /var/www/*.exe.zip* + @$(REMOVECOMMAND) /var/www/*.exe.zi* + @$(REMOVECOMMAND) /var/www/*.zip.zi* @for %f in ($(EXEC)) do @if exist %f @$(COPYCOMMAND) %f /var/www/ @./src/util/z.sh $(EXEC) $(EXEC) - @./src/util/z.sh data data - @wmake -h wwwext + @./src/util/z2.sh data.zip data + @wmake -s -h wwwext wwwext: .symbolic - @wmake -h wwwext1 - @wmake -h wwwext2 + @wmake -s -h wwwext1 + @wmake -s -h wwwext2 wwwext1: .symbolic ####----@ssh -p $(HOSTPORT) $(HOSTUSER)@$(HOSTADDR) 'rm -f $(HOSTDIR)/16/*exe*' @@ -476,13 +533,11 @@ reinitlibs: .symbolic @$(REMOVECOMMAND) -rf 16/wolf3d @$(REMOVECOMMAND) -rf 16/keen @$(REMOVECOMMAND) -rf 16/Catacomb3D - @wmake -h initlibs + @wmake -s -h initlibs initlibs: .symbolic - @$(COPYCOMMAND) $(GITCONFIGDIR)git_con.fig .git/config - @$(COPYCOMMAND) $(GITCONFIGDIR)git_modu.les .gitmodules - @$(COPYCOMMAND) $(GITCONFIGDIR)git_igno.re .gitignore - @wmake -h getlib + @wmake -s -h initconfig + @wmake -s -h getlib @cd 16 @git clone https://github.com/FlatRockSoft/CatacombApocalypse.git @git clone https://github.com/id-Software/wolf3d.git @@ -502,19 +557,19 @@ getlib: .symbolic ## xlib: .symbolic @cd 16$(DIRSEP)xlib - @wmake -h clean - @wmake -h all + @wmake -s -h clean + @wmake -s -h all @cd $(BUILD_ROOT) mx: .symbolic @cd 16$(DIRSEP)xw # @wmake clean - @wmake -h all + @wmake -s -h all @cd $(BUILD_ROOT) mx_: .symbolic @cd 16$(DIRSEP)xw_ - @wmake -h -f makefile all + @wmake -s -h -f makefile all @cd $(BUILD_ROOT) !ifdef __LINUX__