]> 4ch.mooo.com Git - 16.git/blobdiff - makefile
cleanup, get working, linking to DOSLIB, also build step to make
[16.git] / makefile
index b1ca6b2ee32aa66763ec5b4933f0093a9a7ea43b..3aeb7643143a8d074f7a5b0c36a0b11e24719723 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -75,6 +75,7 @@ CFLAGS=$(AFLAGS) $(IFLAGS)-lr -l=dos -wo##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)
@@ -83,6 +84,8 @@ DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
 
 GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) 16planar.$(OBJ)
 
+DOSLIBLIBS=dl_vga.lib dl_cpu.lib dl_dos.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
@@ -90,7 +93,17 @@ EXEC = 16.exe bakapi.exe $(TESTEXEC) tesuto.exe
 
 !include $(DOSLIBDIR)/extdep.mak
 
-all: $(EXEC)
+all: $(EXEC) datatest
+
+cute.vrl: data/cute.pcx $(PCX2VRL)
+       $(PCX2VRL) -i data/cute.pcx -o cute.vrl -p cute.pal -tc 254
+       # you can then test this against TESUTO.EXE by typing: TESUTO CUTE.VRL CUTE.PAL
+
+datatest: cute.vrl .symbolic
+
+# doslib PCX to VRL converter native host binary
+$(PCX2VRL): $(DOSLIBDIR)/hw/vga/pcx2vrl.c
+       cd $(DOSLIBDIR)/hw/vga && make pcx2vrl
 
 #$(16LIBOBJS) => 16.lib bug....
 
@@ -112,14 +125,14 @@ scroll.$(OBJ): $(SRC)scroll.c
 
 
 # NOTE: dos86h = 16-bit huge memory model. memory model must match!
-tesuto.exe: tesuto.$(OBJ) dl_vga.lib
+tesuto.exe: tesuto.$(OBJ) $(DOSLIBLIBS) 16_head.$(OBJ)
 #      %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 $(WCLQ) tesuto.$(OBJ) dl_vga.lib
+       wcl $(FLAGS) $(WCLQ) tesuto.$(OBJ) $(DOSLIBLIBS) 16_head.$(OBJ)
 tesuto.$(OBJ): $(SRC)tesuto.c
-       wcl $(WCLQ) -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
@@ -298,7 +311,16 @@ vgmsnd.lib: $(VGMSNDOBJ)
 
 # library deps 16-bit huge
 dl_vga.lib:
-       cd $(DOSLIBDIR)/hw/vga/dos86h && ./make.sh
+       cd $(DOSLIBDIR)/hw/vga && ./make.sh
+       cp $(DOSLIBDIR)/hw/vga/dos86h/vga.lib dl_vga.lib
+
+dl_cpu.lib:
+       cd $(DOSLIBDIR)/hw/cpu && ./make.sh
+       cp $(DOSLIBDIR)/hw/cpu/dos86h/cpu.lib dl_cpu.lib
+
+dl_dos.lib:
+       cd $(DOSLIBDIR)/hw/dos && ./make.sh
+       cp $(DOSLIBDIR)/hw/dos/dos86h/dos.lib dl_dos.lib
 
 modex16.$(OBJ): $(SRCLIB)modex16.h $(SRCLIB)modex16.c
        wcl $(FLAGS) -c $(SRCLIB)modex16.c
@@ -413,13 +435,13 @@ clean: .symbolic
        @$(REMOVECOMMAND) *.$(OBJ)
        @$(REMOVECOMMAND) 16.lib
        @$(REMOVECOMMAND) gfx.lib
-       @$(REMOVECOMMAND) doslib.lib
        @$(REMOVECOMMAND) vgmsnd.lib
-       @$(REMOVECOMMAND) dl_vga.lib
+       @$(REMOVECOMMAND) $(DOSLIBLIBS)
        @wlib -n $(WLIBQ) 16.lib
        @wlib -n $(WLIBQ) gfx.lib
-       @wlib -n $(WLIBQ) doslib.lib
        @wlib -n $(WLIBQ) vgmsnd.lib
+       @wlib -n $(WLIBQ) dl_cpu.lib
+       @wlib -n $(WLIBQ) dl_dos.lib
        @wlib -n $(WLIBQ) dl_vga.lib
        @$(REMOVECOMMAND) *.16
        @$(REMOVECOMMAND) *.16W