DIRSEP=/
OBJ=obj
DUMP=cat
-DOSLIBMAKE=make.sh
-DOSLIBMAKEALL=buildall.sh
+DOSLIBMAKE=./make.sh
+DOSLIBMAKEALL=./buildall.sh
!else #DOS ^^
to_os_path=/=\
-REMOVECOMMAND=*del
+REMOVECOMMAND=del
COPYCOMMAND=copy /y
DIRSEP=\
OBJ=obj
DUMP=type
-DOSLIBMAKE=make.bat
-DOSLIBMAKEALL=build.bat
+DOSLIBMAKE=.\make.bat
+DOSLIBMAKEALL=.\build.bat
!endif
TARGET_OS = dos
BUILD_ROOT=$+$(%__CWD__)$-
#EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)
DATADIR=data$(DIRSEP)
-SPRI=$(DATADIR)$(DIRSEP)spri$(DIRSEP)
+SPRI=$(DATADIR)/spri
SRC=src
SRCLIB=src/lib
JSMNLIB=src/lib/jsmn
# quiet flags
#
WLIBQ=-q
-WCLQ=-zq $(WLIBQ)
+WCLQ=-q
UPXQ=-qqq
#
S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -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 -mh -0 -fpi87 -fo=.$(OBJ) -d1
+T_FLAGS=-bt=dos -mh -0 -fpi87 -fo=.$(OBJ) -d1###### -e=65536
CPPFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1
!ifeq DEBUGSERIAL 1
# objects
#
VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)
-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)
GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) 16_vrs.$(OBJ) 16_sprit.$(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) wcpu.$(OBJ) 16_timer.$(OBJ)
#16planar.$(OBJ) planar.$(OBJ)
DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
!ifeq DEBUGSERIAL 1
# List of executables to build
#
TESTEXEC = &
+ tesuto.exe &
+ 0.exe &
test.exe &
test0.exe &
pcxtest.exe &
EXEC = &
16.exe &
bakapi.exe &
- tesuto.exe &
- 0.exe &
$(TESTEXEC)
all: $(EXEC) joytest.exe
#sountest.exe: sountest.$(OBJ) $(16LIB)
pcxtest.exe: pcxtest.$(OBJ) gfx.lib $(DOSLIBLIBS)
vrstest.exe: vrstest.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)
+#vgacamm.exe: vgacamm.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)
palettec.exe: palettec.$(OBJ) gfx.lib $(DOSLIBLIBS)
palettel.exe: palettel.$(OBJ) gfx.lib $(DOSLIBLIBS)
pcxtest2.exe: pcxtest2.$(OBJ) gfx.lib $(DOSLIBLIBS)
#planrpcx.exe: planrpcx.$(OBJ) gfx.lib
-maptest.exe: maptest.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) gfx.lib $(DOSLIBLIBS)
+maptest.exe: maptest.$(OBJ) 16_map.$(OBJ) 16_head.$(OBJ) jsmn.$(OBJ) gfx.lib $(DOSLIBLIBS)
fmemtest.exe: fmemtest.$(OBJ)
exmmtest.exe: exmmtest.$(OBJ) $(16LIB) $(DOSLIBLIBS)
vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIBLIBS)
test0.$(OBJ): $(SRC)/test0.c
pcxtest.$(OBJ): $(SRC)/pcxtest.c $(SRCLIB)/modex16.h
vrstest.$(OBJ): $(SRC)/vrstest.c $(SRCLIB)/modex16.h
+#vgacamm.$(OBJ): $(SRC)/vgacamm.c $(SRCLIB)/modex16.h
#planrpcx.$(OBJ): $(SRC)/planrpcx.c $(SRCLIB)/modex16.h
pcxtest2.$(OBJ): $(SRC)/pcxtest2.c $(SRCLIB)/modex16.h
palettec.$(OBJ): $(SRC)/palettec.c
#
# library deps 16-bit huge
$(DOSLIB_CPU)/dos86h/cpu.lib:
- cd $(DOSLIB_CPU:$(to_os_path)) && .$(DIRSEP)$(DOSLIBMAKE) && cd $(BUILD_ROOT)
+ cd $(DOSLIB_CPU:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
$(DOSLIB_DOS)/dos86h/dos.lib:
- cd $(DOSLIB_DOS:$(to_os_path)) && .$(DIRSEP)$(DOSLIBMAKE) && cd $(BUILD_ROOT)
+ cd $(DOSLIB_DOS:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
$(DOSLIB_VGA)/dos86h/vgatty.lib:
- cd $(DOSLIB_VGA:$(to_os_path)) && .$(DIRSEP)$(DOSLIBMAKE) && cd $(BUILD_ROOT)
+ cd $(DOSLIB_VGA:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
$(DOSLIB_VGA)/dos86h/vga.lib:
- cd $(DOSLIB_VGA:$(to_os_path)) && .$(DIRSEP)$(DOSLIBMAKE) && cd $(BUILD_ROOT)
+ cd $(DOSLIB_VGA:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
$(DOSLIB_8250)/dos86h/8250.lib:
- cd $(DOSLIB_8250:$(to_os_path)) && .$(DIRSEP)$(DOSLIBMAKE) && cd $(BUILD_ROOT)
+ cd $(DOSLIB_8250:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
joytest.exe:
- cd $(DOSLIB_JOYSTICK:$(to_os_path)) && .$(DIRSEP)$(DOSLIBMAKE) && cd $(BUILD_ROOT)
+ cd $(DOSLIB_JOYSTICK:$(to_os_path)) && $(DOSLIBMAKE) && cd $(BUILD_ROOT)
$(COPYCOMMAND) $(DOSLIB_JOYSTICK:$(to_os_path))$(DIRSEP)dos86h$(DIRSEP)test.exe joytest.exe
modex16.$(OBJ): $(SRCLIB)/modex16.c $(SRCLIB)/modex16.h
scroll16.$(OBJ): $(SRCLIB)/scroll16.c $(SRCLIB)/scroll16.h
16text.$(OBJ): $(SRCLIB)/16text.c
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_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_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
+16_tail.$(OBJ): $(SRCLIB)/16_tail.c $(SRCLIB)/16_tail.h
16_hc.$(OBJ): $(SRCLIB)/16_hc.c $(SRCLIB)/16_hc.h
16_snd.$(OBJ): $(SRCLIB)/16_snd.c $(SRCLIB)/16_snd.h
jsmn.$(OBJ): $(JSMNLIB)/jsmn.c $(JSMNLIB)/jsmn.h
#other~
#
clean: .symbolic
- @$(REMOVECOMMAND) $(EXEC)
- @$(REMOVECOMMAND) *.$(OBJ)
+ @for %f in ($(EXEC)) do @if exist %f $(REMOVECOMMAND) %f
!ifdef __LINUX__
@rm *.LIB
- @mv BCEXMM.EXE bcexmm.ex0
- @mv bcexmm.ex0 bcexmm.exe
- @mv BCEXMM.MAP bcexmm.mah
+ @. src/util/bcexmm.sh
@rm *.EXE
- #@$(REMOVECOMMAND) *.\$\$\$
- @$(REMOVECOMMAND) *.OBJ
- @$(REMOVECOMMAND) *.BCO
-!else
- @*$(REMOVECOMMAND) *.$$$
!endif
- @$(REMOVECOMMAND) 16.lib
- @$(REMOVECOMMAND) gfx.lib
- @$(REMOVECOMMAND) vgmsnd.lib
- @*wlib -n $(WLIBQ) 16.lib
- @*wlib -n $(WLIBQ) gfx.lib
- @*wlib -n $(WLIBQ) vgmsnd.lib
-## @$(REMOVECOMMAND) *.16W
-## @$(REMOVECOMMAND) *.16B
- @$(REMOVECOMMAND) __wcl__.LNK
- @$(REMOVECOMMAND) *.SMP
- @$(REMOVECOMMAND) *.hed
-# @$(REMOVECOMMAND) *.MAH
-# @$(REMOVECOMMAND) *.mah
- @$(REMOVECOMMAND) *.err
+ @if exist *.obj $(REMOVECOMMAND) *.obj
+ @if exist *.OBJ $(REMOVECOMMAND) *.OBJ
+ @if exist *.bco $(REMOVECOMMAND) *.bco
+ @if exist *.BCO $(REMOVECOMMAND) *.BCO
+ @if exist *.LIB $(REMOVECOMMAND) *.LIB
+ @if exist *.lnk $(REMOVECOMMAND) *.lnk
+ @if exist *.LNK $(REMOVECOMMAND) *.LNK
+ @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 *.err $(REMOVECOMMAND) *.err
+# @if exist *.16W $(REMOVECOMMAND) *.16W
+# @if exist *.16B $(REMOVECOMMAND) *.16B
# @$(COPYCOMMAND) $(SRC)exmmtest.c $(EXMMTESTDIR)$(SRC)
# @$(COPYCOMMAND) $(SRCLIB)16_mm.* $(EXMMTESTDIR)$(SRCLIB)
@cd $(BUILD_ROOT)
reinitlibs: .symbolic
- @rm -rf $(SRCLIB)doslib
- @rm -rf $(SRCLIB)jsmn
+ @rm -rf $(DOSLIB)
+ @rm -rf $(JSMNLIB)
@rm -rf 16/CatacombApocalypse
@rm -rf 16/wolf3d
@rm -rf 16/keen
@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 .