]> 4ch.mooo.com Git - 16.git/blobdiff - makefile
more
[16.git] / makefile
index d778ae6c540432a63ee712287f2d18103553ef20..4eebe67b5e3fe066db2d5c7316d0bb1d9e15c5ce 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -48,6 +48,7 @@ OBJ=obj
 TARGET_OS = dos
 
 #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)
+PDIR=..$(DIRSEP)
 SRC=src$(DIRSEP)
 SRCLIB=$(SRC)lib$(DIRSEP)
 JSMNLIB=$(SRCLIB)jsmn$(DIRSEP)
@@ -57,11 +58,12 @@ MODEXLIB=$(SRCLIB)modex16$(DIRSEP)
 MODEXLIB_=$(SRCLIB)modex$(DIRSEP)
 VGMSNDLIB=$(SRCLIB)vgmsnd$(DIRSEP)
 DOSLIB=$(SRCLIB)doslib$(DIRSEP)
+DOSLIBDIR=$(SRCLIB)doslib
 WCPULIB=$(SRCLIB)wcpu$(DIRSEP)
 
 WLIBQ=-q
 WCLQ=-zq $(WLIBQ)
-UPXQ=
+UPXQ=-qqq
 
 AFLAGS=-mh -0 -d1
 16FLAGS=-fh=16.hed
@@ -69,19 +71,21 @@ BAKAPIFLAGS=-fh=bakapi.hed
 SFLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k55808#60000#32768
 DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 $(SFLAGS)
 ZFLAGS=-zk0 -zc -zp8 $(WCLQ) ## -zm
-CFLAGS=$(AFLAGS) $(IFLAGS)-lr -l=dos -wo##wwww
+CFLAGS=$(AFLAGS) $(IFLAGS)-lr -l=dos -wo -i$(DOSLIB)##wwww
 OFLAGS=-obmiler -out -oh -ei -zp8 -fpi87  -onac -ol+ -ok####x
 FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS)
 
+PCX2VRL=$(DOSLIBDIR)/hw/vga/pcx2vrl
 
 DOSLIBEXMMOBJ = himemsys.$(OBJ) emm.$(OBJ)
 VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)
 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
-16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) timer.$(OBJ)
-#
-#3812intf.$(OBJ)
+16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_timer.$(OBJ)
+
 GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) 16planar.$(OBJ)
 
+DOSLIBLIBS=$(DOSLIBDIR)/hw/cpu/dos86h/cpu.lib $(DOSLIBDIR)/hw/dos/dos86h/dos.lib $(DOSLIBDIR)/hw/vga/dos86h/vga.lib
+
 TESTEXEC = exmmtest.exe test.exe pcxtest.exe pcxtest2.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe fontgfx.exe scroll.exe vgmtest.exe inputest.exe palettel.exe planrpcx.exe
 # tsthimem.exe
 #testemm.exe testemm0.exe fonttes0.exe miditest.exe sega.exe sountest.exe
@@ -89,8 +93,7 @@ EXEC = 16.exe bakapi.exe $(TESTEXEC) tesuto.exe
 
 all: $(EXEC)
 
-#$(16LIBOBJS) => 16.lib
-
+#$(16LIBOBJS) => 16.lib bug....
 #
 #game and bakapi executables
 #
@@ -107,10 +110,20 @@ scroll.exe: scroll.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIBOBJS) gfx.lib
 scroll.$(OBJ): $(SRC)scroll.c
        wcl $(FLAGS) -c $(SRC)scroll.c
 
-tesuto.exe: tesuto.$(OBJ)
-       wcl $(WCLQ) -mh -d2 tesuto.$(OBJ)
+
+# NOTE: dos86h = 16-bit huge memory model. memory model must match!
+tesuto.exe: tesuto.$(OBJ) $(DOSLIBLIBS) 16_head.$(OBJ) gfx.lib
+#      %write tmp.cmd option quiet option map=tesuto.map $(DOSLIB_LDFLAGS_DOS16H) file tesuto.obj name tesuto.exe
+#      %write tmp.cmd library $(DOSLIBDIR)/hw/cpu/dos86h/cpu.lib
+#      %write tmp.cmd library $(DOSLIBDIR)/hw/dos/dos86h/dos.lib
+#      @wlink @tmp.cmd
+       wcl $(FLAGS) $(WCLQ) tesuto.$(OBJ) $(DOSLIBLIBS) 16_head.$(OBJ) gfx.lib
 tesuto.$(OBJ): $(SRC)tesuto.c
-       wcl $(WCLQ) -mh -d2 -c $(SRC)tesuto.c
+       wcl $(FLAGS) $(DOSLIB_CINCLUDE) $(WCLQ) -c $(SRC)tesuto.c
+#tesuto.exe: tesuto.$(OBJ)
+#      wcl $(WCLQ) -mh -d2 tesuto.$(OBJ)
+#tesuto.$(OBJ): $(SRC)tesuto.c
+#      wcl $(WCLQ) -mh -d2 -c $(SRC)tesuto.c
 
 #sega.exe: sega.$(OBJ)
 #      wcl $(FLAGS) sega.$(OBJ)
@@ -153,11 +166,11 @@ tsthimem.exe: tsthimem.$(OBJ) $(16LIBOBJS) $(DOSLIBEXMMOBJ)
 pcxtest.exe: pcxtest.$(OBJ) gfx.lib
        wcl $(FLAGS) pcxtest.$(OBJ) gfx.lib -fm=pcxtest.map
 
-palettec.exe: palettec.$(OBJ) $(16LIBOBJS) gfx.lib
-       wcl $(FLAGS) palettec.$(OBJ) $(16LIBOBJS) gfx.lib -fm=palettec.map
+palettec.exe: palettec.$(OBJ) gfx.lib #$(16LIBOBJS)
+       wcl $(FLAGS) palettec.$(OBJ) gfx.lib -fm=palettec.map #$(16LIBOBJS)
 
-palettel.exe: palettel.$(OBJ) $(16LIBOBJS) gfx.lib
-       wcl $(FLAGS) palettel.$(OBJ) $(16LIBOBJS) gfx.lib -fm=palettel.map
+palettel.exe: palettel.$(OBJ) gfx.lib #$(16LIBOBJS)
+       wcl $(FLAGS) palettel.$(OBJ) gfx.lib -fm=palettel.map #$(16LIBOBJS)
 
 pcxtest2.exe: pcxtest2.$(OBJ) gfx.lib
        wcl $(FLAGS) pcxtest2.$(OBJ) gfx.lib -fm=pcxtest2.map
@@ -276,12 +289,27 @@ vgmtest.$(OBJ): $(SRC)vgmtest.c
 gfx.lib: $(GFXLIBOBJS)
        wlib -b $(WLIBQ) gfx.lib $(GFXLIBOBJS)
 
-doslib.lib: $(DOSLIBOBJ) # $(SRCLIB)cpu.lib
-       wlib -b $(WLIBQ) doslib.lib $(DOSLIBOBJ) # $(SRCLIB)cpu.lib
+#doslib.lib: $(DOSLIBOBJ) # $(SRCLIB)cpu.lib
+#      wlib -b $(WLIBQ) doslib.lib $(DOSLIBOBJ) # $(SRCLIB)cpu.lib
 
 vgmsnd.lib: $(VGMSNDOBJ)
        wlib -b $(WLIBQ) vgmsnd.lib $(VGMSNDOBJ)
 
+# extdep:
+# !include $(DOSLIBDIR)/extdep.mak
+
+# library deps 16-bit huge
+$(DOSLIBDIR)/hw/cpu/dos86h/cpu.lib:
+       cd $(DOSLIBDIR)/hw/cpu && ./make.sh
+$(DOSLIBDIR)/hw/dos/dos86h/dos.lib:
+       cd $(DOSLIBDIR)/hw/dos && ./make.sh
+$(DOSLIBDIR)/hw/vga/dos86h/vga.lib:
+       cd $(DOSLIBDIR)/hw/vga && ./make.sh
+#$(DOSLIBLIBS): .symbolic
+#      @cd $(DOSLIB)
+#      @./buildall.sh
+#      @cd $(PDIR)$(PDIR)$(PDIR)
+
 modex16.$(OBJ): $(SRCLIB)modex16.h $(SRCLIB)modex16.c
        wcl $(FLAGS) -c $(SRCLIB)modex16.c
 
@@ -312,8 +340,8 @@ wcpu.$(OBJ): $(WCPULIB)wcpu.h $(WCPULIB)wcpu.c
 mapread.$(OBJ): $(SRCLIB)mapread.h $(SRCLIB)mapread.c
        wcl $(FLAGS) -c $(SRCLIB)mapread.c
 
-timer.$(OBJ): $(SRCLIB)timer.h $(SRCLIB)timer.c
-       wcl $(FLAGS) -c $(SRCLIB)timer.c
+16_timer.$(OBJ): $(SRCLIB)16_timer.h $(SRCLIB)16_timer.c
+       wcl $(FLAGS) -c $(SRCLIB)16_timer.c
 
 16_in.$(OBJ): $(SRCLIB)16_in.h $(SRCLIB)16_in.c
        wcl $(FLAGS) -c $(SRCLIB)16_in.c
@@ -395,11 +423,9 @@ clean: .symbolic
        @$(REMOVECOMMAND) *.$(OBJ)
        @$(REMOVECOMMAND) 16.lib
        @$(REMOVECOMMAND) gfx.lib
-       @$(REMOVECOMMAND) doslib.lib
        @$(REMOVECOMMAND) vgmsnd.lib
        @wlib -n $(WLIBQ) 16.lib
        @wlib -n $(WLIBQ) gfx.lib
-       @wlib -n $(WLIBQ) doslib.lib
        @wlib -n $(WLIBQ) vgmsnd.lib
        @$(REMOVECOMMAND) *.16
        @$(REMOVECOMMAND) *.16W
@@ -417,6 +443,7 @@ clean: .symbolic
        @$(REMOVECOMMAND) *.map
        @$(REMOVECOMMAND) *.err
        @$(COPYCOMMAND) .git/config git_con.fig
+       @$(COPYCOMMAND) .gitmodules git_modu.les
 #      @$(COPYCOMMAND) $(SRC)exmmtest.c $(EXMMTESTDIR)$(SRC)
 #      @$(COPYCOMMAND) $(SRCLIB)16_mm.* $(EXMMTESTDIR)$(SRCLIB)
 #      @$(COPYCOMMAND) $(SRCLIB)16_head.* $(EXMMTESTDIR)$(SRCLIB)
@@ -428,46 +455,68 @@ clean: .symbolic
 #      @echo $(INCLUDE)
 
 comp: .symbolic
+       @upx -9 $(EXEC)
+
+comq: .symbolic
        @upx -9 $(UPXQ) $(EXEC)
-##     @upx -9 $(UPXQ) x-demo.exe
 
+www: .symbolic
+       #@rm /var/www/$(EXEC)
+       #@cp ./$(EXEC) /var/www/
+       @./z.sh $(EXEC) $(EXEC)
+       @scp -r -P 26 *.exe 4ch.mooo.com:/var/www/16/
+       @scp -r -P 26 /var/www/*.exe.zip.* 4ch.mooo.com:/var/www/16/
+
+getwww: .symbolic
+       @x4get.bat $(EXEC)
+
+##
+##     External library management~ ^^
+##
 #git submodule add <repo>
-uplibs: .symbolic
-       @wmake -h updatelibs
+mkdl: .symbolic
+       @cd $(DOSLIB)
+       @./buildall.sh
+       @cd $(PDIR)$(PDIR)$(PDIR)
 
-updatelibs: .symbolic
+uplibs: .symbolic
        @cd $(JSMNLIB)
        @git pull
-       @cd ../../../
+       @cd $(PDIR)$(PDIR)$(PDIR)
        @cd $(DOSLIB)
        @git pull
-       @./buildall.sh
-       @cd ../../../
+       @cd $(PDIR)$(PDIR)$(PDIR)
+
+reinitlibs: .symbolic
+       @rm -rf $(SRCLIB)doslib
+       @rm -rf $(SRCLIB)jsmn
+       #@mkdir $(SRCLIB)doslib
+       #@mkdir $(SRCLIB)jsmn
+       @wmake -h initlibs
 
 initlibs: .symbolic
-       @cd src/lib
+       @cp git_modu.les .gitmodules
+       @cd $(SRCLIB)
        @git clone https://github.com/joncampbell123/doslib.git
        @git clone https://github.com/zserge/jsmn.git
-       @cd ../../
+       @cd $(PDIR)$(PDIR)
 
+##
+##     experimental libs
+##
 xlib: .symbolic
        @cd 16/xlib
        @wmake -h clean
        @wmake -h all
-       @cd ../../
+       @cd $(PDIR)$(PDIR)
 
 mx: .symbolic
        @cd 16/xw
 #      @wmake clean
        @wmake -h all
-       @cd ../../
+       @cd $(PDIR)$(PDIR)
 
 mx_: .symbolic
        @cd 16/xw_
        @wmake -h -f makefile all
-       @cd ../../
-
-www: .symbolic
-       @rm -f /var/www/$(EXEC)
-       @cp -f $(EXEC) /var/www/
-       @scp -r -P 26 *.exe 4ch.mooo.com:/var/www/16/
+       @cd $(PDIR)$(PDIR)