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
!endif
TARGET_OS = dos
+MEMORYMODE = l
BUILD_ROOT=$+$(%__CWD__)$-
#EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)
DOSLIB_VGA=src/lib/doslib/hw/vga
DOSLIB_8250=src/lib/doslib/hw/8250
DOSLIB_JOYSTICK=src/lib/doslib/hw/joystick
+DOSLIB_MEMMODE=dos86$(MEMORYMODE)
#
# quiet flags
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
!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) 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)
#
# 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
.asm : $(MODEXLIB)
-.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 : .
vgmtest.exe &
scroll.exe &
zcroll.exe &
+ inputest.exe &
vrstest.exe
TESTEXEC2 = &
- inputest.exe &
maptest.exe &
fmemtest.exe &
fonttest.exe &
pcxtest2.exe
UTILEXEC = &
palettel.exe &
- palettec.exe
+ palettec.exe &
+ db.exe
EXEC = &
16.exe &
bakapi.exe &
fmemtest.exe: fmemtest.$(OBJ)
exmmtest.exe: exmmtest.$(OBJ) $(16LIB) $(DOSLIBLIBS)
vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIBLIBS)
+db.exe: db.$(OBJ)
#
# executable's objects
#tsthimem.$(OBJ): $(SRC)/tsthimem.c
exmmtest.$(OBJ):$(SRC)/exmmtest.c
vgmtest.$(OBJ):$(SRC)/vgmtest.c
+db.$(OBJ):$(SRC)/db.c
#
# non executable objects libraries
# 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
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
#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
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)
+ #@$(REMOVECOMMAND) -f /var/www/$(EXEC)*
+ @$(REMOVECOMMAND) -f /var/www/*.exe.zip*
+ #@$(COPYCOMMAND) ./$(EXEC) $(DIRSEP)var$(DIRSEP)www$(DIRSEP)
@./src/util/z.sh $(EXEC) $(EXEC)
@scp -r -P 26 *.exe 4ch.mooo.com:/var/www/16/
@scp -r -P 26 x4get.bat 4ch.mooo.com:/var/www/16/
#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
@cd $(BUILD_ROOT)
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
+ @$(COPYCOMMAND) git_con.fig .git/config
+ @$(COPYCOMMAND) git_modu.les .gitmodules
+ @$(COPYCOMMAND) 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
@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 .
##
## experimental libs