From 32a94c33de59a927237406cd68743b94db1ebc46 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 6 Jan 2017 11:37:22 -0600 Subject: [PATCH] makefile polished!! --- {src => 16/src}/_scroll.c | 0 swapbranchcode.sh => 16/swapbranchcode.sh | 0 DEBUG.16W | 210 ---------------------- HEAP.16W | 69 ------- MEMINFO.16W | 0 MMDUMP.16W | Bin 2550 -> 0 bytes data/G.PAL | Bin 768 -> 768 bytes db.exe | Bin 13186 -> 13186 bytes makefile | 113 ++++++------ src/lib/doslib | 2 +- wcpu.exe | Bin 85748 -> 13136 bytes 11 files changed, 60 insertions(+), 334 deletions(-) rename {src => 16/src}/_scroll.c (100%) rename swapbranchcode.sh => 16/swapbranchcode.sh (100%) delete mode 100755 DEBUG.16W delete mode 100755 HEAP.16W delete mode 100755 MEMINFO.16W delete mode 100755 MMDUMP.16W diff --git a/src/_scroll.c b/16/src/_scroll.c similarity index 100% rename from src/_scroll.c rename to 16/src/_scroll.c diff --git a/swapbranchcode.sh b/16/swapbranchcode.sh similarity index 100% rename from swapbranchcode.sh rename to 16/swapbranchcode.sh diff --git a/DEBUG.16W b/DEBUG.16W deleted file mode 100755 index 8f489286..00000000 --- a/DEBUG.16W +++ /dev/null @@ -1,210 +0,0 @@ -Seg:0 Size:10276 Owner:0x0 -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000 -Seg:290d Size:44 Owner:0x0 -+ -Seg:2939 Size:256 Owner:0x1650 -+++++ -Seg:2a39 Size:256 Owner:0x1442 -++++ -Seg:2b39 Size:256 Owner:0x1444 -++++ -Seg:2c39 Size:256 Owner:0x1446 -++++ -Seg:2d39 Size:256 Owner:0x1448 -++++ -Seg:2e39 Size:256 Owner:0x144a -+++++ -Seg:2f39 Size:256 Owner:0x144c -++++ -Seg:3039 Size:256 Owner:0x144e -++++ -Seg:3139 Size:256 Owner:0x1450 -++++ -Seg:3239 Size:256 Owner:0x1452 -++++ -Seg:3339 Size:256 Owner:0x1454 -+++++ -Seg:3439 Size:256 Owner:0x1456 -++++ -Seg:3539 Size:256 Owner:0x1458 -++++ -Seg:3639 Size:256 Owner:0x145a -++++ -Seg:3739 Size:256 Owner:0x145c -++++ -Seg:3839 Size:256 Owner:0x145e -+++++ -Seg:3939 Size:256 Owner:0x1460 -++++ -Seg:3a39 Size:256 Owner:0x1462 -++++ -Seg:3b39 Size:256 Owner:0x1464 -++++ -Seg:3c39 Size:256 Owner:0x1466 -++++ -Seg:3d39 Size:256 Owner:0x1468 -+++++ -Seg:3e39 Size:256 Owner:0x146a -++++ -Seg:3f39 Size:256 Owner:0x146c -++++ -Seg:4039 Size:256 Owner:0x146e -++++ -Seg:4139 Size:256 Owner:0x1470 -++++ -Seg:4239 Size:256 Owner:0x1472 -+++++ -Seg:4339 Size:256 Owner:0x1474 -++++ -Seg:4439 Size:256 Owner:0x1476 -++++ -Seg:4539 Size:256 Owner:0x1478 -++++ -Seg:4639 Size:256 Owner:0x147a -++++ -Seg:4739 Size:256 Owner:0x147c -+++++ -Seg:4839 Size:256 Owner:0x147e -++++ -Seg:4939 Size:256 Owner:0x1480 -++++ -Seg:4a39 Size:256 Owner:0x1482 -++++ -Seg:4b39 Size:256 Owner:0x1484 -++++ -Seg:4c39 Size:256 Owner:0x1486 -+++++ -Seg:4d39 Size:256 Owner:0x1488 -++++ -Seg:4e39 Size:256 Owner:0x148a -++++ -Seg:4f39 Size:256 Owner:0x148c -++++ -Seg:5039 Size:256 Owner:0x148e -++++ -Seg:5139 Size:256 Owner:0x1490 -+++++ -Seg:5239 Size:256 Owner:0x1492 -++++ -Seg:5339 Size:256 Owner:0x1494 -++++ -Seg:5439 Size:256 Owner:0x1496 -++++ -Seg:5539 Size:256 Owner:0x1498 -++++ -Seg:5639 Size:256 Owner:0x149a -+++++ -Seg:5739 Size:256 Owner:0x149c -++++ -Seg:5839 Size:256 Owner:0x149e -++++ -Seg:5939 Size:256 Owner:0x14a0 -++++ -Seg:5a39 Size:256 Owner:0x14a2 -++++ -Seg:5b39 Size:256 Owner:0x14a4 -+++++ -Seg:5c39 Size:256 Owner:0x14a6 -++++ -Seg:5d39 Size:256 Owner:0x14a8 -++++ -Seg:5e39 Size:256 Owner:0x14aa -++++ -Seg:5f39 Size:256 Owner:0x14ac -++++ -Seg:6039 Size:256 Owner:0x14ae -+++++ -Seg:6139 Size:256 Owner:0x14b0 -++++ -Seg:6239 Size:256 Owner:0x14b2 -++++ -Seg:6339 Size:256 Owner:0x14b4 -++++ -Seg:6439 Size:256 Owner:0x14b6 -++++ -Seg:6539 Size:256 Owner:0x14b8 -+++++ -Seg:6639 Size:256 Owner:0x14ba -++++ -Seg:6739 Size:256 Owner:0x14bc -++++ -Seg:6839 Size:256 Owner:0x14be -++++ -Seg:6939 Size:256 Owner:0x14c0 -++++ -Seg:6a39 Size:256 Owner:0x14c2 -+++++ -Seg:6b39 Size:256 Owner:0x14c4 -++++ -Seg:6c39 Size:256 Owner:0x14c6 -++++ -Seg:6d39 Size:256 Owner:0x14c8 -++++ -Seg:6e39 Size:256 Owner:0x14ca -++++ -Seg:6f39 Size:256 Owner:0x14cc -+++++ -Seg:7039 Size:256 Owner:0x14ce -++++ -Seg:7139 Size:256 Owner:0x14d0 -++++ -Seg:7239 Size:256 Owner:0x14d2 -++++ -Seg:7339 Size:256 Owner:0x14d4 -++++ -Seg:7439 Size:256 Owner:0x14d6 -+++++ -Seg:7539 Size:256 Owner:0x14d8 -++++ -Seg:7639 Size:256 Owner:0x14da -++++ -Seg:7739 Size:256 Owner:0x14dc -++++ -Seg:7839 Size:256 Owner:0x14de -++++ -Seg:7939 Size:256 Owner:0x14e0 -+++++ -Seg:7a39 Size:256 Owner:0x14e2 -++++ -Seg:7b39 Size:256 Owner:0x14e4 -++++ -Seg:7c39 Size:256 Owner:0x14e6 -++++ -Seg:7d39 Size:256 Owner:0x14e8 -++++ -Seg:7e39 Size:256 Owner:0x14ea -+++++ -Seg:7f39 Size:256 Owner:0x14ec -++++ -Seg:8039 Size:256 Owner:0x14ee -++++ -Seg:8139 Size:256 Owner:0x14f0 -++++ -Seg:8239 Size:256 Owner:0x14f2 -++++ -Seg:8339 Size:256 Owner:0x14f4 -+++++ -Seg:8439 Size:256 Owner:0x14f6 -++++ -Seg:8539 Size:256 Owner:0x14f8 -++++ -Seg:8639 Size:256 Owner:0x14fa -++++ -Seg:8739 Size:256 Owner:0x14fc -++++ -Seg:8839 Size:256 Owner:0x14fe -+++++ -Seg:8939 Size:256 Owner:0x1500 -++++ -Seg:8a39 Size:256 Owner:0x1502 -++++ -Seg:8b39 Size:256 Owner:0x1504 -++++ -Seg:8c39 Size:256 Owner:0x1506 -++++ -Seg:8d39 Size:256 Owner:0x1508 -+++++ -Seg:8e39 Size:401 Owner:0xec1c -++++++ -Seg:b939 Size:18118 Owner:0x0 -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \ No newline at end of file diff --git a/HEAP.16W b/HEAP.16W deleted file mode 100755 index 2eed9231..00000000 --- a/HEAP.16W +++ /dev/null @@ -1,69 +0,0 @@ - - == default == - - USED block at 292f0016 of size 136 - FREE block at 292f009e of size 68 - USED block at 292f00e2 of size 50 - USED block at 292f0114 of size 50 - USED block at 292f0146 of size 50 - USED block at 292f0178 of size 50 - USED block at 292f01aa of size 50 - USED block at 292f01dc of size 50 - USED block at 292f020e of size 50 - USED block at 292f0240 of size 50 - USED block at 292f0272 of size 50 - USED block at 292f02a4 of size 50 - USED block at 292f02d6 of size 50 - USED block at 292f0308 of size 50 - FREE block at 292f033a of size 14 - USED block at 292f0348 of size 20 - FREE block at 292f035c of size 7328 -OK - end of heap - - == near == - - USED block at 192eec66 of size 12 - USED block at 192eec72 of size 564 - USED block at 192eeea6 of size 72 - USED block at 192eeeee of size 20 - USED block at 192eef02 of size 20 - USED block at 192eef16 of size 20 - USED block at 192eef2a of size 20 - USED block at 192eef3e of size 20 - USED block at 192eef52 of size 4266 -OK - end of heap - - == far == - - USED block at 292f0016 of size 136 - USED block at 292f009e of size 68 - USED block at 292f00e2 of size 50 - USED block at 292f0114 of size 50 - USED block at 292f0146 of size 50 - USED block at 292f0178 of size 50 - USED block at 292f01aa of size 50 - USED block at 292f01dc of size 50 - USED block at 292f020e of size 50 - USED block at 292f0240 of size 50 - USED block at 292f0272 of size 50 - USED block at 292f02a4 of size 50 - USED block at 292f02d6 of size 50 - USED block at 292f0308 of size 50 - USED block at 292f033a of size 14 - USED block at 292f0348 of size 20 - USED block at 292f035c of size 7328 -OK - end of heap - -Memory Type Total Used Free ----------------- -------- -------- -------- -Default 8166 756 7410 -Near 5014 748 4266 -Far 8166 756 7410 ----------------- -------- -------- -------- -coreleft = 4264 -farcoreleft = 27902 -GetFreeSize = 23660 -GetNearFreeSize = 4266 -GetFarFreeSize = 23660 -memavl = 4264 -stackavail = 31539 diff --git a/MEMINFO.16W b/MEMINFO.16W deleted file mode 100755 index e69de29b..00000000 diff --git a/MMDUMP.16W b/MMDUMP.16W deleted file mode 100755 index 55e51064c30315b91f79aa836e81043696b0c297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2550 zcmZ|RyG=tu002Q^OZ4zU6IeQ1?|w-1KnwS+fi~zENFYEHZ#3D4j}RX7^?sg@3^|4zLyjTGkYmU(<(P6zIi?&_jw#2KW6H7Q zSaK{mmK;ltCC8Fu$+6|wa%?%a99xbp$ChKm5d$1Cz!3u+F~AW69O-9@ZvP){jr+Ib I_W3t=Uxfks?f?J) diff --git a/data/G.PAL b/data/G.PAL index 906897bc70e146ee900bce31986fb34212d9f138..0ecbac33f44529d9701eae8c9b262c7da0f50416 100755 GIT binary patch literal 768 QcmZQz7zLvtFmgix00RI30RR91 literal 768 zcmZXSYjd(N6ol7S3tsRBqLhmPDi0`Dcs!P6Syffj zG`HJLVVi&rct8lGKmpW%YN@ByG#Umii>}KkVwO=#bBxUdu7PlYbdADB?V$Dg));F{ z4CWS3E@j9%Q)!rM*cQBJgaYXS#VhJJv=^0_lE%(pXYuZ`3)yAtBovTJCjep~2TI@_ zxb{FAwK=T*KUA=Oc*lk|8f3YkXXAZAZ83^y{|z z`r6*_{=JL4E+-{*U<%9!gZ1OXW;ERCPu^s_pHIWpJh9EAyDf!ZB~f$AZnfmK(RC~q zuuM4iL*P8d?kEeiVn2~${uZ0{VfUH)ms5N_=lA!sI^PfdKfUhv{}$CB+w6j(C|uY5 E22HbD8vpWm=Y-6uq#Cikfeq41y$_A5y_#h#ePW zaIjh+xYRyYa3M^n)+`mI=))k1eF{di+1mn*u&rlW6dm|o{^xL?|9Q^yJY#)heclJ7 z$^wLZKp1#gh)@E^S0SVU?ubL8yFdr%LEr}92lV?9ss}CrVITtJG9l5N8sdR-JVKMe zG_VLf2KqG!eFYwZ-y*OBx{wKRqIoSsQ$+|33DuaeSWA~OY&cWkI0rspU}lXB+3f7@ zYH#aUTgXQ8x@b6ytc(W+FYoQ<>8ONfOpM=5{gNCIvu3&=xwOy3xbw|aFD=J@+9o}Q zYv^t15Pn7TWaW5)uWY*9MZY1?Dhu|oMdj58xaoLbflS$g=tS#zJnbPj2yQ?1UPWX zq|0I$Y`3K}LM}_0)AYy73SRYlUflm)Tr8~H?qqeYGYlIOgr2Nb5q>Tl&Xr`S2R?eq zItea>M4t5|KO_Dv=EUUnMughcy*Qf+>gJp{A^+P$MHzEg2JjVwV0 z?IccC<#7V;c_RY>BpnhXt&rsP0O9|(5<1yrceFeTiFOlr zR~i{NZ=j#F1*HatKrB2iE{|4l-q>1Gst;R@60K9zvF2`+!mYhjU-TKesw!6DkWf{u z7OAFLUo76z+Dsx>HyN@_x^~Ff1bG8LM`?eFHM5rW#=dRDSrS0IOL$V!kcLkQV*Sr_ fB8sU@4bg}4)>fh*frQS zJmc2qBQy@gfVTw*kwS!ufHL4wT7;VfIzjgV4}mG5vIwC@pc{w*2_T0=xTjk1*CEsj z3e}HX+Xj5iqk^d3U;r`0~uGLSe*H%%P~q z_3VM-7LKr7r4diE)5;n=#`=_6JR*%MM=>sB)#?yVur2i~w;%iM0uB4$iHkNKA-do> zS>9U?Z$rdt?muCzb=QhM8&5+kv6UDO4UzjRF{2sbkX@v$d}4LJyWiqvtZvrYuA(XCsgkP%hfs6_6!<^ z8aB~Qx}=H^umN3@S}&&|`Wjvj(eJAGWA<6sj2+CPZ^JHjSFgb%?1{cFRo6N*J8U?M zO{~XIcclvIY$5)R9V(lRaP%_gkKPGV-M_{`-&&fQFTIFxVE0FT$1TJMX783O)BE0) zzS~&;N1x0GuB(A6LLnTD(oI#|$dttga62n2{-z!KN`oylyc=R@{1owg!R925wl7x( z*WO5#2ell&$1ap=aEx6mwFx!+aN@_>I!}YrTxmlFz9^+t{FZ4D%BWX@Lu&7Vw)_EMa}2rw diff --git a/makefile b/makefile index 49039237..116be140 100755 --- a/makefile +++ b/makefile @@ -40,7 +40,7 @@ to_os_path=\=/ REMOVECOMMAND=rm -f COPYCOMMAND=cp -f DIRSEP=/ -OBJ=obj +OBJ=o DUMP=cat DOSLIBMAKE=./make.sh build all DOSLIBMAKEALL=./buildall.sh build all @@ -71,14 +71,14 @@ EXMMLIB=$(SRCLIB)/exmm MODEXLIB16=$(SRCLIB)/16_vl MODEXLIB=$(SRCLIB)/modex VGMSNDLIB=$(SRCLIB)/vgmsnd -DOSLIB=$(SRCLIB)/doslib +DOSLIBDIR=$(SRCLIB)/doslib WCPULIB=$(SRCLIB)/wcpu -DOSLIB_CPU=$(DOSLIB)/hw/cpu -DOSLIB_DOS=$(DOSLIB)/hw/dos -DOSLIB_VGA=$(DOSLIB)/hw/vga -DOSLIB_8250=$(DOSLIB)/hw/8250 -DOSLIB_JOYSTICK=$(DOSLIB)/hw/joystick +DOSLIB_CPU=$(DOSLIBDIR)/hw/cpu +DOSLIB_DOS=$(DOSLIBDIR)/hw/dos +DOSLIB_VGA=$(DOSLIBDIR)/hw/vga +DOSLIB_8250=$(DOSLIBDIR)/hw/8250 +DOSLIB_JOYSTICK=$(DOSLIBDIR)/hw/joystick DOSLIB_MEMMODE=dos86$(MEMORYMODE) # remote host (for sparky4) @@ -91,24 +91,25 @@ HOSTPORT=22 # quiet flags # WLIBQ=-q -WCLQ=-q +WCLQ=-zq UPXQ=-qqq # # compile flags # -S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -zq -k32768#54096#60000 +S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768 Z_FLAGS=-zk0 -zc -zp8 -zm -O_FLAGS=-obmilr -oe=24 -out -oh -ei -onac -ol+ -ok##x -T_FLAGS=-bt=dos -wx -m$(MEMORYMODE) -0 -fpi87 -fo=.$(OBJ) -d1###### -e=65536 +O_FLAGS=-obmilr -oe=24 -outpack -ei -ohnl+ -zp4 +T_FLAGS=-bt=dos -wx -m$(MEMORYMODE) -0 -fpi87 -d1##-fo=.$(OBJ) -e=65536 +DBUGFLAGS=-fm=$^&.mah -fd=$^& CPPFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 !ifeq DEBUGSERIAL 1 CPPFLAGS += -DDEBUGSERIAL !endif AFLAGS=$(WCLQ) $(T_FLAGS) -CFLAGS=$(WCLQ) $(T_FLAGS) -wo -i"$(DOSLIB)" $(O_FLAGS) $(S_FLAGS) $(Z_FLAGS) -LFLAGS=$(WCLQ) -l=dos -fd -fm=$^&.mah $(S_FLAGS) +CFLAGS=$(WCLQ) $(T_FLAGS) -wo -i"$(DOSLIBDIR)" $(O_FLAGS) $(S_FLAGS) $(Z_FLAGS) +LFLAGS=$(WCLQ) -l=dos $(S_FLAGS) $(DBUGFLAGS) LIBFLAGS=$(WLIBQ) -b -n # @@ -118,7 +119,6 @@ VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(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) 16_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) @@ -131,7 +131,8 @@ DOSLIBLIBS = $(DOSLIB_CPU)/$(DOSLIB_MEMMODE)/cpu.lib $(DOSLIB_DOS)/$(DOSLIB_MEMM !ifeq DEBUGSERIAL 1 DOSLIBLIBS += $(DOSLIB_8250)/$(DOSLIB_MEMMODE)/8250.lib !endif -16LIB=$(16LIBOBJS)#16.lib bad program lock up +DOSLIB=doslib.lib +16LIB=16.lib # # Files locations @@ -142,23 +143,24 @@ DOSLIBLIBS += $(DOSLIB_8250)/$(DOSLIB_MEMMODE)/8250.lib .lib : .;$(DOSLIB_CPU)/$(DOSLIB_MEMMODE);$(DOSLIB_DOS)/$(DOSLIB_MEMMODE);$(DOSLIB_VGA)/$(DOSLIB_MEMMODE);$(DOSLIB_8250)/$(DOSLIB_MEMMODE) -.obj : . +.$(OBJ) : . # # Default make rules # -.c.obj: - *wcl $(CPPFLAGS) $(CFLAGS) $(extra_$^&_obj_opts) -c $[@ +.c.$(OBJ): + *wcl $(CFLAGS) $(extra_$^&_obj_opts) $(CPPFLAGS) -c $[@ -.asm.obj: - *wcl $(AFLAGS) $(extra_$^&_obj_opts) -c $[@ +.asm.$(OBJ): + *wcl $(AFLAGS) $(extra_$^&_obj_opts) -c $[@ #CFLAGS is neccessary here -.obj.exe : - *wcl $(LFLAGS) $(extra_$^&_exe_opts) -fe=$@ $< +.$(OBJ).exe : + *wcl $(LFLAGS) $(extra_$^&_exe_opts)$< -fe=$@ -.obj.lib : - *wlib $(LIBFLAGS) $(extra_$^&_lib_opts) $@ $< +LIBMAKERULE=*wlib $(LIBFLAGS) $(extra_$^&_lib_opts)$@ $< +.$(OBJ).lib : + $(LIBMAKERULE) # # List of executables to build @@ -201,41 +203,41 @@ testexec: $(EXEC) $(TESTEXEC2) # # game and bakapi executables # -16.exe: 16.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) -bakapi.exe: bakapi.$(OBJ) gfx.lib $(DOSLIBLIBS) +16.exe: 16.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) +bakapi.exe: bakapi.$(OBJ) gfx.lib $(DOSLIB) # # Test Executables! # -scroll.exe: scroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) +scroll.exe: scroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) scroll.$(OBJ): $(SRC)/scroll.c -zcroll.exe: zcroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) +zcroll.exe: zcroll.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) zcroll.$(OBJ): $(SRC)/zcroll.c -tesuto.exe: tesuto.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIBLIBS) +tesuto.exe: tesuto.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIB) tesuto.$(OBJ): $(SRC)/tesuto.c -0.exe: 0.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) +0.exe: 0.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) 0.$(OBJ): $(SRC)/0.c -test.exe: test.$(OBJ) $(16LIB) gfx.lib $(DOSLIBLIBS) -#test2.exe: test2.$(OBJ) gfx.lib $(DOSLIBLIBS) +test.exe: test.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) +#test2.exe: test2.$(OBJ) gfx.lib $(DOSLIB) test0.exe: test0.$(OBJ) fonttest.exe: fonttest.$(OBJ) gfx.lib #fonttes0.exe: fonttes0.$(OBJ) $(16LIB) -fontgfx.exe: fontgfx.$(OBJ) gfx.lib $(DOSLIBLIBS) -inputest.exe: inputest.$(OBJ) $(16LIB) $(DOSLIBLIBS) +fontgfx.exe: fontgfx.$(OBJ) gfx.lib $(DOSLIB) +inputest.exe: inputest.$(OBJ) $(16LIB) $(DOSLIB) #sountest.exe: sountest.$(OBJ) $(16LIB) -pcxtest.exe: pcxtest.$(OBJ) gfx.lib $(DOSLIBLIBS) $(16LIB)##++++ -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) +pcxtest.exe: pcxtest.$(OBJ) gfx.lib $(DOSLIB) $(16LIB) +vrstest.exe: vrstest.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) +#vgacamm.exe: vgacamm.$(OBJ) $(16LIB) gfx.lib $(DOSLIB) +palettec.exe: palettec.$(OBJ) gfx.lib $(DOSLIB) +palettel.exe: palettel.$(OBJ) gfx.lib $(DOSLIB) +pcxtest2.exe: pcxtest2.$(OBJ) gfx.lib $(DOSLIB) #planrpcx.exe: planrpcx.$(OBJ) gfx.lib -maptest.exe: maptest.$(OBJ) 16_map.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIBLIBS) +maptest.exe: maptest.$(OBJ) 16_map.$(OBJ) 16_head.$(OBJ) gfx.lib $(DOSLIB) fmemtest.exe: fmemtest.$(OBJ) -exmmtest.exe: exmmtest.$(OBJ) $(16LIB) $(DOSLIBLIBS) -vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIBLIBS) +exmmtest.exe: exmmtest.$(OBJ) $(16LIB) $(DOSLIB) +vgmtest.exe: vgmtest.$(OBJ) vgmsnd.lib $(16LIB) $(DOSLIB) db.exe: db.$(OBJ) -wcpu.exe: wcpu.$(OBJ) $(16LIB) $(DOSLIBLIBS) +wcpu.exe: wcpu.$(OBJ) $(16LIB) $(DOSLIB) # # executable's objects @@ -274,14 +276,15 @@ db.$(OBJ): $(UTIL)/db.c # 16.lib: $(16LIBOBJS) vgmsnd.lib: $(VGMSNDOBJ) - gfx.lib: $(GFXLIBOBJS) - *wlib $(LIBFLAGS) $(extra_$^&_lib_opts) $@ $< + $(LIBMAKERULE) +doslib.lib: $(DOSLIBLIBS) + $(LIBMAKERULE) # # doslib # -# library deps 16-bit huge +# library deps 16-bit large $(DOSLIB_CPU)/$(DOSLIB_MEMMODE)/cpu.lib: cd $(DOSLIB_CPU:$(to_os_path)) && $(DOSLIBMAKE) $(DOSLIB_MEMMODE) && cd $(BUILD_ROOT) $(DOSLIB_DOS)/$(DOSLIB_MEMMODE)/dos.lib: @@ -301,7 +304,7 @@ joytest.exe: bakapee.$(OBJ):$(SRCLIB)/bakapee.c $(SRCLIB)/bakapee.h 16render.$(OBJ):$(SRCLIB)/16render.c $(SRCLIB)/16render.h 16planar.$(OBJ):$(MODEXLIB16)/16planar.c $(MODEXLIB16)/16planar.h -16_vrs.$(OBJ): $(SRCLIB)/16_vrs.c $(SRCLIB)/16_vrs.h $(DOSLIBLIBS) +16_vrs.$(OBJ): $(SRCLIB)/16_vrs.c $(SRCLIB)/16_vrs.h $(DOSLIB) 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 @@ -332,15 +335,17 @@ modex.$(OBJ): $(MODEXLIB)/modex.asm #other~ # clean: .symbolic - @if not exist $(DOSLIB)/buildall.sh wmake -h initlibs + @if not exist $(DOSLIBDIR)/buildall.sh wmake -h initlibs @for %f in ($(EXEC)) do @if exist %f $(REMOVECOMMAND) %f !ifdef __LINUX__ @rm *.LIB @. src/util/bcexmm.sh @rm *.EXE -!endif - @if exist *.obj $(REMOVECOMMAND) *.obj @if exist *.OBJ $(REMOVECOMMAND) *.OBJ +!else + @if exist *.o $(REMOVECOMMAND) *.o +!endif + @if exist *.$(OBJ) $(REMOVECOMMAND) *.$(OBJ) @if exist *.bco $(REMOVECOMMAND) *.bco @if exist *.BCO $(REMOVECOMMAND) *.BCO @if exist *.LIB $(REMOVECOMMAND) *.LIB @@ -417,12 +422,12 @@ uplibs: .symbolic @cd $(JSMNLIB:$(to_os_path)) @git pull @cd $(BUILD_ROOT) - @cd $(DOSLIB:$(to_os_path)) + @cd $(DOSLIBDIR:$(to_os_path)) @git pull @cd $(BUILD_ROOT) reinitlibs: .symbolic - @$(REMOVECOMMAND) -rf $(DOSLIB) + @$(REMOVECOMMAND) -rf $(DOSLIBDIR) @$(REMOVECOMMAND) -rf $(JSMNLIB) @$(REMOVECOMMAND) -rf 16/CatacombApocalypse @$(REMOVECOMMAND) -rf 16/wolf3d @@ -441,7 +446,7 @@ initlibs: .symbolic @git clone https://github.com/keendreams/keen.git @git clone https://github.com/FlatRockSoft/Catacomb3D.git @cd $(BUILD_ROOT) - @$(COPYCOMMAND) $(DOSLIB)/make-lowercase . + @$(COPYCOMMAND) $(DOSLIBDIR)/make-lowercase . getlib: .symbolic @cd $(SRCLIB:$(to_os_path)) diff --git a/src/lib/doslib b/src/lib/doslib index 912a2929..12428fa3 160000 --- a/src/lib/doslib +++ b/src/lib/doslib @@ -1 +1 @@ -Subproject commit 912a29296248429f341b4727b441fb36c3e823a5 +Subproject commit 12428fa3369141cd22cd4497511f9c2068f06013 diff --git a/wcpu.exe b/wcpu.exe index cdc348c1ac1ce7659a568a25ff10692d02ff36be..47dc411017701138dc389d7a9821a8f649c465c4 100755 GIT binary patch delta 4846 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 -- 2.39.5