]> 4ch.mooo.com Git - 16.git/blobdiff - makefile
seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd...
[16.git] / makefile
index cc491802f4666d34729be447ec9b8114345db4e7..6c97f4e4fae4f6574dc736390ea2055cd3a8a95c 100755 (executable)
--- 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
 # -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
@@ -64,6 +72,8 @@ DATADIR=data$(DIRSEP)
 SPRI=$(DATADIR)/spri
 SRC=src
 UTIL=$(SRC)/util
+GITCONFIGDIR=$(UTIL)/git
+SCRIPTBATDIR=$(UTIL)/shbat
 SRCLIB=$(SRC)/lib
 JSMNLIB=$(SRCLIB)/jsmn
 NYANLIB=$(SRCLIB)/nyan
@@ -104,12 +114,12 @@ UPXQ=-qqq
 #
 # compile flags
 #
-S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768
-Z_FLAGS=-zk0 -zc -zp8 -zm
-O_FLAGS=-opmilr -oe=24 -outback -ei -ohnl+                             -zp4
-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=$^&.mah -fd=$^&
+DBUGFLAGS=-fm=$^&.meh -fd=$^&
 CPPFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1
 !ifeq DEBUGSERIAL 1
 CPPFLAGS += -DDEBUGSERIAL
@@ -125,7 +135,7 @@ 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_in.$(OBJ) 16_head.$(OBJ) 16_dbg.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_wcpu.$(OBJ) 16_timer.$(OBJ) jsmn.$(OBJ) 16_map.$(OBJ) 16text.$(OBJ) 16_enti.$(OBJ)
+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)
 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
 !ifeq DEBUGSERIAL 1
 DOSLIBOBJ += 8250.$(OBJ)
@@ -156,10 +166,10 @@ DOSLIB=doslib.lib
 #      Default make rules
 #
 .c.$(OBJ):
-       *wcl $(CFLAGS) $(extra_$^&_obj_opts)            $(CPPFLAGS) -c $[@
+       *wcl $(CFLAGS)   $(extra_$^&_obj_opts)          $(CPPFLAGS) -c $[@
 
 .asm.$(OBJ):
-       *wcl $(AFLAGS) $(extra_$^&_obj_opts)            -c $[@
+       *wcl $(AFLAGS)   $(extra_$^&_obj_opts)          -c $[@
 
 #CFLAGS is neccessary here
 .$(OBJ).exe :
@@ -212,10 +222,19 @@ 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)
 
 #
@@ -360,12 +379,14 @@ ll.$(OBJ):                $(SRCLIB)/ll.c  $(SRCLIB)/ll.h
 #
 clean: .symbolic
        @if not exist $(DOSLIBDIR)/buildall.sh wmake -h initlibs
-       @for %f in ($(EXEC)) do @if exist %f $(REMOVECOMMAND) %f
+       @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 -h vrs
 !else
        @if exist *.o $(REMOVECOMMAND) *.o
 !endif
@@ -378,13 +399,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)
@@ -395,14 +418,36 @@ clean: .symbolic
 
 nuke: .symbolic
        @wmake clean
+       @wmake backupscript
        @wmake cldl
        @wmake all
        @wmake comp
 
 backupconfig: .symbolic
-       @$(COPYCOMMAND) .git$(DIRSEP)config git_con.fig
-       @$(COPYCOMMAND) .gitmodules git_modu.les
-       @$(COPYCOMMAND) .gitignore git_igno.re
+       @$(COPYCOMMAND) .git$(DIRSEP)config $(GITCONFIGDIR)/git_con.fig
+       @$(COPYCOMMAND) .gitmodules $(GITCONFIGDIR)/git_modu.les
+       @$(COPYCOMMAND) .gitignore $(GITCONFIGDIR)/git_igno.re
+
+initconfig:
+       @$(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)/
+!endif
+
+initscript: .symbolic
+       @if not exist *.bat $(COPYCOMMAND) $(SCRIPTBATDIR)/*.bat ./
+       @if not exist *.sh $(COPYCOMMAND) $(SCRIPTBATDIR)/*.sh ./
+!ifdef __LINUX__
+       @if not exist *.BAT $(COPYCOMMAND) $(SCRIPTBATDIR)/*.BAT ./
+!endif
+
 
 comp: .symbolic
        @*upx -9 $(EXEC)
@@ -412,9 +457,11 @@ 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/z2.sh data.zip data
        @wmake -h wwwext
 
 wwwext: .symbolic
@@ -427,14 +474,17 @@ wwwext1: .symbolic
        @scp -r -P $(HOSTPORT) *.exe $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/
        @scp -r -P $(HOSTPORT) *get.bat $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/
        @scp -r -P $(HOSTPORT) /var/www/*.exe.zip.* $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/
-       @scp -r -P $(HOSTPORT) $(DATADIR)spri.zip $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/
+       #@scp -r -P $(HOSTPORT) $(DATADIR)spri.zip $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/
+       @scp -r -P $(HOSTPORT) /var/www/data.zip.* $(HOSTUSER)@$(HOSTADDR):$(HOSTDIR)/16/
+
 
 wwwext2: .symbolic
        #beta.latech.edu
        @scp -r -P $(HOST2PORT) *.exe $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/
        @scp -r -P $(HOST2PORT) *get.bat $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/
        @scp -r -P $(HOST2PORT) /var/www/*.exe.zip.* $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/
-       @scp -r -P $(HOST2PORT) $(DATADIR)spri.zip $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/
+       #@scp -r -P $(HOST2PORT) $(DATADIR)spri.zip $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/
+       @scp -r -P $(HOST2PORT) /var/www/data.zip.* $(HOST2USER)@$(HOST2ADDR):$(HOST2DIR)/16/
 
 getwww: .symbolic
        *x4get.bat $(EXEC)
@@ -474,9 +524,7 @@ reinitlibs: .symbolic
        @wmake -h initlibs
 
 initlibs: .symbolic
-       @$(COPYCOMMAND) git_con.fig .git/config
-       @$(COPYCOMMAND) git_modu.les .gitmodules
-       @$(COPYCOMMAND) git_igno.re .gitignore
+       @wmake -h initconfig
        @wmake -h getlib
        @cd 16
        @git clone https://github.com/FlatRockSoft/CatacombApocalypse.git