#
# Possible optimizations for 8088 class processors
#
-# -oaRelax alias checking
-# -obTry to generate straight line code
+# -oa Relax alias checking
+# -ob Try to generate straight line code
# -oe - expand user functions inline (-oe=20 is default, adds lots of code)
-# -ohEnable repeated optimizations
-# -oigenerate certain lib funcs inline
-# -oi+Set max inline depth (C++ only, use -oi for C)
-# -okFlowing of register save into function flow graph
-# -olloop optimizations
-# -ol+loop optimizations plus unrolling
-# -orReorder for pipelined (486+ procs); not sure if good to use
-# -osFavor space over time
-# -otFavor time over space
-# -eiAllocate an "int" for all enum types
-# -zp2Allow compiler to add padding to structs
-# -zpwUse with above; make sure you are warning free!
+# -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
+# -or Reorder for pipelined (486+ procs); not sure if good to use
+# -os Favor space over time
+# -ot Favor time over space
+# -ei Allocate an "int" for all enum types
+# -zp2 Allow compiler to add padding to structs
+# -zpw Use with above; make sure you are warning free!
# -0 8088/8086 class code generation
# -s disable stack overflow checking
DIRSEP=/
OBJ=obj
DUMP=cat
-DOSLIBMAKE=./make.sh
-DOSLIBMAKEALL=./buildall.sh
+DOSLIBMAKE=./make.sh build all dos86h
+DOSLIBMAKEALL=./buildall.sh build all dos86h
!else #DOS ^^
to_os_path=/=\
REMOVECOMMAND=del
# objects
#
VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)
-GFXLIBOBJS = 16_vl.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) 16_vrs.$(OBJ) 16_sprit.$(OBJ)
-OLDLIBOBJS=bitmap.$(OBJ) mapread.$(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) 16_map.$(OBJ) jsmn.$(OBJ)
-#16planar.$(OBJ) planar.$(OBJ)
+OLDLIBOBJS=bitmap.$(OBJ) 16render.$(OBJ)
+GFXLIBOBJS = 16_vl.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) 16_scr.$(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) 16_map.$(OBJ)
+#16planar.$(OBJ) planar.$(OBJ) mapread.$(OBJ)
DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
!ifeq DEBUGSERIAL 1
DOSLIBOBJ += 8250.$(OBJ)
TESTEXEC = &
tesuto.exe &
0.exe &
- zcroll.exe &
exmmtest.exe &
- vrstest.exe
-TESTEXEC2 = &
- scroll.exe &
vgmtest.exe &
+ scroll.exe &
+ zcroll.exe &
inputest.exe &
+ vrstest.exe
+TESTEXEC2 = &
maptest.exe &
fmemtest.exe &
fonttest.exe &
pcxtest2.exe
UTILEXEC = &
palettel.exe &
- palettec.exe
+ palettec.exe &
+ db.exe
EXEC = &
16.exe &
bakapi.exe &
#
# Test Executables!
#
-scroll.exe: scroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) $(OLDLIBOBJS)
+scroll.exe: scroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)
scroll.$(OBJ): $(SRC)/scroll.c
zcroll.exe: zcroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS)
zcroll.$(OBJ): $(SRC)/zcroll.c
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) $(OLDLIBOBJS)
+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) $(OLDLIBOBJS)
+pcxtest2.exe: pcxtest2.$(OBJ) gfx.lib $(DOSLIBLIBS)
#planrpcx.exe: planrpcx.$(OBJ) gfx.lib
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)
#
# 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
16_sprit.$(OBJ):$(SRCLIB)/16_sprit.c $(SRCLIB)/16_sprit.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
+16_scr.$(OBJ):$(SRCLIB)/16_scr.c $(SRCLIB)/16_scr.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
#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/
@cd $(BUILD_ROOT)
reinitlibs: .symbolic
- @rm -rf $(DOSLIB)
- @rm -rf $(JSMNLIB)
- @rm -rf 16/CatacombApocalypse
- @rm -rf 16/wolf3d
- @rm -rf 16/keen
+ @$(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