]> 4ch.mooo.com Git - 16.git/blobdiff - makefile
boolean IN_KeyDown(byte code) polished
[16.git] / makefile
index cf5e8b19c704870abf5ac8b6b62ea767a65a825a..d2fa87c0090ce79513d2b77367011bd7599a3bfe 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -42,8 +42,8 @@ COPYCOMMAND=cp -f
 DIRSEP=/
 OBJ=obj
 DUMP=cat
-DOSLIBMAKE=./make.sh
-DOSLIBMAKEALL=./buildall.sh
+DOSLIBMAKE=./make.sh build all
+DOSLIBMAKEALL=./buildall.sh build all
 !else          #DOS ^^
 to_os_path=/=\
 REMOVECOMMAND=del
@@ -56,27 +56,30 @@ DOSLIBMAKEALL=.\build.bat
 !endif
 
 TARGET_OS = dos
+MEMORYMODE = l
 
 BUILD_ROOT=$+$(%__CWD__)$-
 #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)
 DATADIR=data$(DIRSEP)
 SPRI=$(DATADIR)/spri
 SRC=src
-SRCLIB=src/lib
-JSMNLIB=src/lib/jsmn
-NYANLIB=src/lib/nyan
-EXMMLIB=src/lib/exmm
-MODEXLIB16=src/lib/16_vl
-MODEXLIB=src/lib/modex
-VGMSNDLIB=src/lib/vgmsnd
-DOSLIB=src/lib/doslib
-WCPULIB=src/lib/wcpu
-
-DOSLIB_CPU=src/lib/doslib/hw/cpu
-DOSLIB_DOS=src/lib/doslib/hw/dos
-DOSLIB_VGA=src/lib/doslib/hw/vga
-DOSLIB_8250=src/lib/doslib/hw/8250
-DOSLIB_JOYSTICK=src/lib/doslib/hw/joystick
+UTIL=$(SRC)/util
+SRCLIB=$(SRC)/lib
+JSMNLIB=$(SRCLIB)/jsmn
+NYANLIB=$(SRCLIB)/nyan
+EXMMLIB=$(SRCLIB)/exmm
+MODEXLIB16=$(SRCLIB)/16_vl
+MODEXLIB=$(SRCLIB)/modex
+VGMSNDLIB=$(SRCLIB)/vgmsnd
+DOSLIB=$(SRCLIB)/doslib
+WCPULIB=$(SRCLIB)/wcpu
+
+DOSLIB_CPU=$(DOSLIB)/hw/cpu
+DOSLIB_DOS=$(DOSLIB)/hw/dos
+DOSLIB_VGA=$(DOSLIB)/hw/vga
+DOSLIB_8250=$(DOSLIB)/hw/8250
+DOSLIB_JOYSTICK=$(DOSLIB)/hw/joystick
+DOSLIB_MEMMODE=dos86$(MEMORYMODE)
 
 #
 # quiet flags
@@ -91,7 +94,7 @@ UPXQ=-qqq
 S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -zq -k32768#54096#60000
 Z_FLAGS=-zk0 -zc -zp8 -zm
 O_FLAGS=-obmilr -oe=24 -out -oh -ei -onac -ol+ -ok##x
-T_FLAGS=-bt=dos -wx -mh -0 -fpi87 -fo=.$(OBJ) -d1###### -e=65536
+T_FLAGS=-bt=dos -wx -m$(MEMORYMODE) -0 -fpi87 -fo=.$(OBJ) -d1###### -e=65536
 
 CPPFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1
 !ifeq DEBUGSERIAL 1
@@ -99,17 +102,17 @@ CPPFLAGS += -DDEBUGSERIAL
 !endif
 AFLAGS=$(WCLQ) $(T_FLAGS)
 CFLAGS=$(WCLQ) $(T_FLAGS) -wo -i"$(DOSLIB)" $(O_FLAGS) $(S_FLAGS) $(Z_FLAGS)
-LFLAGS=$(WCLQ) -l=dos -fm=$^&.mah $(S_FLAGS)
+LFLAGS=$(WCLQ) -l=dos -fd -fm=$^&.mah $(S_FLAGS)
 LIBFLAGS=$(WLIBQ) -b -n
 
 #
 # objects
 #
 VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)
-OLDLIBOBJS=bitmap.$(OBJ) mapread.$(OBJ) 16render.$(OBJ)
+OLDLIBOBJS=bitmap.$(OBJ) 16render.$(OBJ)
 GFXLIBOBJS = 16_vl.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_sprit.$(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) wcpu.$(OBJ) 16_timer.$(OBJ) jsmn.$(OBJ)
-#16planar.$(OBJ) planar.$(OBJ)
+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)
+#16planar.$(OBJ) planar.$(OBJ) mapread.$(OBJ)
 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
 !ifeq DEBUGSERIAL 1
 DOSLIBOBJ += 8250.$(OBJ)
@@ -118,20 +121,20 @@ DOSLIBOBJ += 8250.$(OBJ)
 #
 # libraries
 #
-DOSLIBLIBS = $(DOSLIB_CPU)/dos86h/cpu.lib $(DOSLIB_DOS)/dos86h/dos.lib $(DOSLIB_VGA)/dos86h/vga.lib
+DOSLIBLIBS = $(DOSLIB_CPU)/$(DOSLIB_MEMMODE)/cpu.lib $(DOSLIB_DOS)/$(DOSLIB_MEMMODE)/dos.lib $(DOSLIB_VGA)/$(DOSLIB_MEMMODE)/vga.lib
 !ifeq DEBUGSERIAL 1
-DOSLIBLIBS += $(DOSLIB_8250)/dos86h/8250.lib
+DOSLIBLIBS += $(DOSLIB_8250)/$(DOSLIB_MEMMODE)/8250.lib
 !endif
 16LIB=$(16LIBOBJS)#16.lib bad program lock up
 
 #
 #      Files locations
 #
-.c : $(SRC);$(SRCLIB);$(MODEXLIB16);$(JSMNLIB);$(NYANLIB);$(VGMSNDLIB);$(WCPULIB)
+.c : $(SRC);$(SRCLIB);$(MODEXLIB16);$(JSMNLIB);$(NYANLIB);$(VGMSNDLIB);$(WCPULIB);$(UTIL)
 
-.asm : $(MODEXLIB)
+.asm : $(MODEXLIB);$(UTIL)
 
-.lib : .;$(DOSLIB_CPU)/dos86h;$(DOSLIB_DOS)/dos86h;$(DOSLIB_VGA)/dos86h;$(DOSLIB_8250)/dos86h
+.lib : .;$(DOSLIB_CPU)/$(DOSLIB_MEMMODE);$(DOSLIB_DOS)/$(DOSLIB_MEMMODE);$(DOSLIB_VGA)/$(DOSLIB_MEMMODE);$(DOSLIB_8250)/$(DOSLIB_MEMMODE)
 
 .obj : .
 
@@ -154,16 +157,20 @@ DOSLIBLIBS += $(DOSLIB_8250)/dos86h/8250.lib
 #
 # List of executables to build
 #
+EXTERNTESTEXEC = &
+       joytest.exe &
+       wcpu.exe &
+       db.exe
 TESTEXEC = &
        tesuto.exe &
        0.exe &
        exmmtest.exe &
        vgmtest.exe &
        scroll.exe &
-       vrstest.exe
-TESTEXEC2 = &
        zcroll.exe &
        inputest.exe &
+       vrstest.exe
+TESTEXEC2 = &
        maptest.exe &
        fmemtest.exe &
        fonttest.exe &
@@ -171,7 +178,8 @@ TESTEXEC2 = &
        test.exe &
        test0.exe &
        pcxtest.exe &
-       pcxtest2.exe
+       pcxtest2.exe &
+       $(EXTERNTESTEXEC)
 UTILEXEC = &
        palettel.exe &
        palettec.exe
@@ -181,8 +189,8 @@ EXEC = &
        $(UTILEXEC) &
        $(TESTEXEC)
 
-all: $(EXEC) joytest.exe
-testexec: $(EXEC) joytest.exe $(TESTEXEC2)
+all: $(EXEC) $(EXTERNTESTEXEC)
+testexec: $(EXEC) $(TESTEXEC2)
 
 #
 # game and bakapi executables
@@ -209,7 +217,7 @@ fonttest.exe:        fonttest.$(OBJ) gfx.lib
 fontgfx.exe:   fontgfx.$(OBJ) gfx.lib $(DOSLIBLIBS)
 inputest.exe:   inputest.$(OBJ) $(16LIB) $(DOSLIBLIBS)
 #sountest.exe: sountest.$(OBJ) $(16LIB)
-pcxtest.exe:   pcxtest.$(OBJ) gfx.lib $(DOSLIBLIBS)
+pcxtest.exe:   pcxtest.$(OBJ) gfx.lib $(DOSLIBLIBS) $(16LIB)##++++
 vrstest.exe:   vrstest.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)
 #vgacamm.exe:  vgacamm.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)
 palettec.exe:   palettec.$(OBJ) gfx.lib $(DOSLIBLIBS)
@@ -220,6 +228,8 @@ maptest.exe:        maptest.$(OBJ) 16_map.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIBLIBS)
 fmemtest.exe:   fmemtest.$(OBJ)
 exmmtest.exe:   exmmtest.$(OBJ) $(16LIB) $(DOSLIBLIBS)
 vgmtest.exe:   vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIBLIBS)
+db.exe:                db.$(OBJ)
+wcpu.exe:              wcpu.$(OBJ) $(16LIB) $(DOSLIBLIBS)
 
 #
 # executable's objects
@@ -251,6 +261,7 @@ inputest.$(OBJ):$(SRC)/inputest.c
 #tsthimem.$(OBJ): $(SRC)/tsthimem.c
 exmmtest.$(OBJ):$(SRC)/exmmtest.c
 vgmtest.$(OBJ):$(SRC)/vgmtest.c
+db.$(OBJ):             $(UTIL)/db.c
 
 #
 # non executable objects libraries
@@ -265,20 +276,20 @@ gfx.lib: $(GFXLIBOBJS)
 #      doslib
 #
 # library deps 16-bit huge
-$(DOSLIB_CPU)/dos86h/cpu.lib:
-       cd $(DOSLIB_CPU:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
-$(DOSLIB_DOS)/dos86h/dos.lib:
-       cd $(DOSLIB_DOS:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
-$(DOSLIB_VGA)/dos86h/vgatty.lib:
-       cd $(DOSLIB_VGA:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
-$(DOSLIB_VGA)/dos86h/vga.lib:
-       cd $(DOSLIB_VGA:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
-$(DOSLIB_8250)/dos86h/8250.lib:
-       cd $(DOSLIB_8250:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
+$(DOSLIB_CPU)/$(DOSLIB_MEMMODE)/cpu.lib:
+       cd $(DOSLIB_CPU:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT)
+$(DOSLIB_DOS)/$(DOSLIB_MEMMODE)/dos.lib:
+       cd $(DOSLIB_DOS:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT)
+$(DOSLIB_VGA)/$(DOSLIB_MEMMODE)/vgatty.lib:
+       cd $(DOSLIB_VGA:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT)
+$(DOSLIB_VGA)/$(DOSLIB_MEMMODE)/vga.lib:
+       cd $(DOSLIB_VGA:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT)
+$(DOSLIB_8250)/$(DOSLIB_MEMMODE)/8250.lib:
+       cd $(DOSLIB_8250:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT)
 
 joytest.exe:
-       cd $(DOSLIB_JOYSTICK:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
-       $(COPYCOMMAND) $(DOSLIB_JOYSTICK:$(to_os_path))$(DIRSEP)dos86h$(DIRSEP)test.exe joytest.exe
+       cd $(DOSLIB_JOYSTICK:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT)
+       $(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
 bakapee.$(OBJ):$(SRCLIB)/bakapee.c $(SRCLIB)/bakapee.h
@@ -289,7 +300,7 @@ bakapee.$(OBJ):$(SRCLIB)/bakapee.c $(SRCLIB)/bakapee.h
 bitmap.$(OBJ): $(SRCLIB)/bitmap.c $(SRCLIB)/bitmap.h
 planar.$(OBJ): $(SRCLIB)/planar.c $(SRCLIB)/planar.h
 scroll16.$(OBJ):$(SRCLIB)/scroll16.c $(SRCLIB)/scroll16.h
-16text.$(OBJ): $(SRCLIB)/16text.c
+16text.$(OBJ): $(SRCLIB)/16text.c $(SRCLIB)/16text.h
 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
@@ -306,7 +317,7 @@ midi.$(OBJ):        $(SRCLIB)/midi.c $(SRCLIB)/midi.h
 jsmn.$(OBJ):   $(JSMNLIB)/jsmn.c $(JSMNLIB)/jsmn.h
 kitten.$(OBJ): $(NYANLIB)/kitten.c $(NYANLIB)/kitten.h
 vgmSnd.$(OBJ): $(VGMSNDLIB)/vgmSnd.c $(VGMSNDLIB)/vgmSnd.h
-wcpu.$(OBJ):   $(WCPULIB)/wcpu.c $(WCPULIB)/wcpu.h
+16_wcpu.$(OBJ):        $(WCPULIB)/16_wcpu.c $(WCPULIB)/16_wcpu.h
 #memory.$(OBJ):$(EXMMLIB)/memory.c $(EXMMLIB)/memory.h
 c_utils.$(OBJ):$(MODEXLIB)/c_utils.asm
 modex.$(OBJ):   $(MODEXLIB)/modex.asm
@@ -315,6 +326,7 @@ modex.$(OBJ):        $(MODEXLIB)/modex.asm
 #other~
 #
 clean: .symbolic
+       @if not exist $(DOSLIB)/buildall.sh wmake -h initlibs
        @for %f in ($(EXEC)) do @if exist %f $(REMOVECOMMAND) %f
 !ifdef __LINUX__
        @rm *.LIB
@@ -363,11 +375,11 @@ comq: .symbolic
        @*upx -9 $(UPXQ) $(EXEC)
 
 www: .symbolic
-       @ssh -p 26 sparky4@4ch.mooo.com 'rm -f /var/www/16/*exe*'
-       #@rm -f /var/www/$(EXEC)*
-       @rm -f /var/www/*.exe.zip*
-       #@cp ./$(EXEC) $(DIRSEP)var$(DIRSEP)www$(DIRSEP)
+       @if exist /var/www/$(EXEC)* @$(REMOVECOMMAND) -f /var/www/$(EXEC)*
+       @$(REMOVECOMMAND) -f /var/www/*.exe.zip*
+       @$(COPYCOMMAND) ./$(EXEC) /var/www/
        @./src/util/z.sh $(EXEC) $(EXEC)
+       @ssh -p 26 sparky4@4ch.mooo.com 'rm -f /var/www/16/*exe*'
        @scp -r -P 26 *.exe 4ch.mooo.com:/var/www/16/
        @scp -r -P 26 x4get.bat 4ch.mooo.com:/var/www/16/
        @scp -r -P 26 /var/www/*.exe.zip.* 4ch.mooo.com:/var/www/16/
@@ -384,12 +396,13 @@ vomitchan: .symbolic
 #git submodule add <repo>
 mkdl: .symbolic
        @cd $(DOSLIB:$(to_os_path))
-       @$(DOSLIBMAKEALL)
+       @$(DOSLIBMAKEALL) $(DOSLIB_MEMMODE)
        @cd $(BUILD_ROOT)
 
 cldl: .symbolic
        @cd $(DOSLIB:$(to_os_path))
-       @$(DOSLIBMAKEALL) clean
+       @$(DOSLIBMAKEALL) $(DOSLIB_MEMMODE) clean
+       @if exist ext/readme $(REMOVECOMMAND) -rf ext/readme
        @cd $(BUILD_ROOT)
 
 uplibs: .symbolic
@@ -401,29 +414,37 @@ uplibs: .symbolic
        @cd $(BUILD_ROOT)
 
 reinitlibs: .symbolic
-       @rm -rf $(DOSLIB)
-       @rm -rf $(JSMNLIB)
-       @rm -rf 16/CatacombApocalypse
-       @rm -rf 16/wolf3d
-       @rm -rf 16/keen
-       @rm -rf 16/Catacomb3D
+       @$(REMOVECOMMAND) -rf $(DOSLIB)
+       @$(REMOVECOMMAND) -rf $(JSMNLIB)
+       @$(REMOVECOMMAND) -rf 16/CatacombApocalypse
+       @$(REMOVECOMMAND) -rf 16/wolf3d
+       @$(REMOVECOMMAND) -rf 16/keen
+       @$(REMOVECOMMAND) -rf 16/Catacomb3D
        @wmake -h initlibs
 
 initlibs: .symbolic
-       @cp git_con.fig .git/config
-       @cp git_modu.les .gitmodules
-       @cp git_igno.re .gitignore
-       @cd $(SRCLIB:$(to_os_path))
-       @git clone https://github.com/joncampbell123/doslib.git
-       @git clone https://github.com/zserge/jsmn.git
-       @cd $(BUILD_ROOT)
+       @$(COPYCOMMAND) git_con.fig .git/config
+       @$(COPYCOMMAND) git_modu.les .gitmodules
+       @$(COPYCOMMAND) git_igno.re .gitignore
+       @wmake -h cldl
+       @wmake -h jmdl
        @cd 16
        @git clone https://github.com/FlatRockSoft/CatacombApocalypse.git
        @git clone https://github.com/id-Software/wolf3d.git
        @git clone https://github.com/keendreams/keen.git
        @git clone https://github.com/FlatRockSoft/Catacomb3D.git
        @cd $(BUILD_ROOT)
-       @cp $(DOSLIB)/make-lowercase .
+       @$(COPYCOMMAND) $(DOSLIB)/make-lowercase .
+
+dlcl: .symbolic
+       @cd $(SRCLIB:$(to_os_path))
+       @git clone https://github.com/joncampbell123/doslib.git
+       @cd $(BUILD_ROOT)
+
+jmcl: .symbolic
+       @cd $(SRCLIB:$(to_os_path))
+       @git clone https://github.com/zserge/jsmn.git
+       @cd $(BUILD_ROOT)
 
 ##
 ##     experimental libs