From 0310154789d2f3294a51fcf63840520e615b334b Mon Sep 17 00:00:00 2001 From: nmlgc Date: Sat, 15 Jun 2024 06:12:08 +0200 Subject: [PATCH] [Maintenance] Commit .bat files with LF line endings, but check out as CRLF Windows 9x requires CRLF for batch files to work at all. While Windows XP and later appear to work with LF line endings, they introduce devious glitches with certain commands: https://www.dostips.com/forum/viewtopic.php?t=8988 However, we still want to use LF endings in the repo to prevent the annoying ^M whitespace errors. Part of P0002, funded by GhostPhanom. --- .gitattributes | 1 + Tupfile.bat | 176 ++++++++++++++++++++-------------------- build.bat | 4 +- build16b.bat | 74 ++++++++--------- build32b.bat | 124 ++++++++++++++-------------- set_errorlevel_to_1.bat | 2 +- 6 files changed, 191 insertions(+), 190 deletions(-) diff --git a/.gitattributes b/.gitattributes index b742be2f..e6d6e419 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ *.asm text eol=crlf +*.bat text eol=crlf *.[ch]* text eol=lf *.mak text eol=lf zuncom/zun*.txt -text diff --git a/Tupfile.bat b/Tupfile.bat index e0762e93..27dadea9 100644 --- a/Tupfile.bat +++ b/Tupfile.bat @@ -1,88 +1,88 @@ -: Dumb, full batch build script, provided as a fallback for systems that can't -: run Tup. Auto-generated via `tup generate`; make sure to re-run that command -: if the Tupfile changes. -@echo on -bcc32 -w-8004 -w-8012 -O2 -v- -x- -nbin/Pipeline/ Pipeline/bmp2arr.c Pipeline/bmp2arrl.c -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_s.bmp -o th01/sprites/leaf_s.csp -sym sSPARK -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_l.bmp -o th01/sprites/leaf_l.csp -sym sLEAF_LEFT -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_r.bmp -o th01/sprites/leaf_r.csp -sym sLEAF_RIGHT -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/ileave_m.bmp -o th01/sprites/ileave_m.csp -sym sINTERLEAVE_MASKS -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/laser_s.bmp -o th01/sprites/laser_s.csp -sym sSHOOTOUT_LASER -of cpp -sw 16 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/mousecur.bmp -o th01/sprites/mousecur.csp -sym sMOUSE_CURSOR -of cpp -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet.bmp -o th01/sprites/pellet.csp -sym sPELLET -of cpp -sw 8 -sh 8 -pshf inner -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet_c.bmp -o th01/sprites/pellet_c.csp -sym sPELLET_CLOUD -of cpp -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pillar.bmp -o th01/sprites/pillar.csp -sym sPILLAR -of cpp -sw 32 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/shape8x8.bmp -o th01/sprites/shape8x8.csp -sym sSHAPE8X8 -of cpp -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/bonusbox.bmp -o th01/sprites/bonusbox.csp -sym sSTAGEBONUS_BOX -of cpp -sw 8 -sh 4 -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/bombpart.bmp -o th02/sprites/bombpart.asp -sym _sBOMB_PARTICLES -of asm -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pellet.bmp -o th02/sprites/pellet.asp -sym _sPELLET -of asm -sw 8 -sh 8 -pshf outer -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/sparks.bmp -o th02/sprites/sparks.asp -sym _sSPARKS -of asm -sw 8 -sh 8 -pshf outer -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pointnum.bmp -o th02/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/verdict.bmp -o th02/sprites/verdict.csp -sym sVERDICT_MASKS -of cpp -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th03/sprites/score.bmp -o th03/sprites/score.asp -sym _sSCORE_FONT -of asm -sw 8 -sh 8 -u -bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pelletbt.bmp -o th04/sprites/pelletbt.asp -sym _sPELLET_BOTTOM -of asm -sw 8 -sh 4 -pshf outer -bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pointnum.bmp -o th04/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 -pshf inner -bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/gaiji.bmp -o th05/sprites/gaiji.asp -sym _sGAIJI -of asm -sw 16 -sh 16 -bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/piano_l.bmp -o th05/sprites/piano_l.asp -sym _sPIANO_LABEL_FONT -of asm -sw 8 -sh 8 -bin\\Pipeline\\bmp2arr.exe -q -i Research/blitperf.bmp -o Research/blitperf.csp -sym sBLITPERF -of cpp -sw 16 -sh 16 -tasm32 /m /mx /kh32768 /t /ml libs\piloadc\piloadc.asm bin\piloadc.obj -tasm32 /m /mx /kh32768 /t zuncom\zun_stub.asm bin\zuncom\zun_stub.obj -tasm32 /m /mx /kh32768 /t zuncom\cstmstub.asm bin\zuncom\cstmstub.obj -tasm32 /m /mx /kh32768 /t th01_op.asm bin\th01\op.obj -tasm32 /m /mx /kh32768 /t th01_reiiden.asm bin\th01\reiiden.obj -tasm32 /m /mx /kh32768 /t th01_fuuin.asm bin\th01\fuuin.obj -tasm32 /m /mx /kh32768 /t th02_zuninit.asm bin\th02\zuninit.obj -tasm32 /m /mx /kh32768 /t th02_op.asm bin\th02\op.obj -tasm32 /m /mx /kh32768 /t th02_main.asm bin\th02\main.obj -tasm32 /m /mx /kh32768 /t th02_maine.asm bin\th02\maine.obj -tasm32 /m /mx /kh32768 /t /DTHIEF libs\sprite16\sprite16.asm bin\th03\zunsp.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_put.asm bin\th03\cdg_put.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_p_na.asm bin\th03\cdg_p_na.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\collmap.asm bin\th03\collmap.obj -tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\hfliplut.asm bin\th03\hfliplut.obj -tasm32 /m /mx /kh32768 /t th03_op.asm bin\th03\op.obj -tasm32 /m /mx /kh32768 /t th03_op2.asm bin\th03\op2.obj -tasm32 /m /mx /kh32768 /t th03_main.asm bin\th03\main.obj -tasm32 /m /mx /kh32768 /t th03_mainl.asm bin\th03\mainl.obj -tasm32 /m /mx /kh32768 /t th04_zuninit.asm bin\th04\zuninit.obj -tasm32 /m /mx /kh32768 /t th04_memchk.asm bin\th04\memchk.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\scoreupd.asm bin\th04\scoreupd.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_put.asm bin\th04\cdg_put.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_nc.asm bin\th04\cdg_p_nc.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pl.asm bin\th04\cdg_p_pl.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pr.asm bin\th04\cdg_p_pr.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\input_s.asm bin\th04\input_s.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_load.asm bin\th04\cdg_load.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\bgimager.asm bin\th04\bgimager.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\motion_3.asm bin\th04\motion_3.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\spark_a.asm bin\th04\spark_a.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\vector2n.asm bin\th04\vector2n.obj -tasm32 /m /mx /kh32768 /t /dGAME=4 th04\grppsafx.asm bin\th04\grppsafx.obj -tasm32 /m /mx /kh32768 /t th04_op.asm bin\th04\op.obj -tasm32 /m /mx /kh32768 /t th04_op2.asm bin\th04\op2.obj -tasm32 /m /mx /kh32768 /t th04_op_master.asm bin\th04\opm.obj -tasm32 /m /mx /kh32768 /t th04_main.asm bin\th04\main.obj -tasm32 /m /mx /kh32768 /t th04_maine.asm bin\th04\maine.obj -tasm32 /m /mx /kh32768 /t th04_maine_master.asm bin\th04\mainem.obj -tasm32 /m /mx /kh32768 /t th05_zuninit.asm bin\th05\zuninit.obj -tasm32 /m /mx /kh32768 /t th05_gjinit.asm bin\th05\gjinit.obj -tasm32 /m /mx /kh32768 /t th05_memchk.asm bin\th05\memchk.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th04\scoreupd.asm bin\th05\scoreupd.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\player.asm bin\th05\player.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\hud_bar.asm bin\th05\hud_bar.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet_1.asm bin\th05\bullet_1.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet.asm bin\th05\bullet.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\input_s.asm bin\th05\input_s.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\cdg_put.asm bin\th05\cdg_put.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\musicp_a.asm bin\th05\musicp_a.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bgimager.asm bin\th05\bgimager.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_1.asm bin\th05\pi_asm_1.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_2.asm bin\th05\pi_asm_2.obj -tasm32 /m /mx /kh32768 /t /dGAME=5 th05\spark_a.asm bin\th05\spark_a.obj -tasm32 /m /mx /kh32768 /t th05_op.asm bin\th05\op.obj -tasm32 /m /mx /kh32768 /t th05_op2.asm bin\th05\op2.obj -tasm32 /m /mx /kh32768 /t th05_op_master.asm bin\th05\opm.obj -tasm32 /m /mx /kh32768 /t th05_main.asm bin\th05\main.obj -tasm32 /m /mx /kh32768 /t th05_maine.asm bin\th05\maine.obj -tasm32 /m /mx /kh32768 /t th05_maine_master.asm bin\th05\mainem.obj -@echo off +: Dumb, full batch build script, provided as a fallback for systems that can't +: run Tup. Auto-generated via `tup generate`; make sure to re-run that command +: if the Tupfile changes. +@echo on +bcc32 -w-8004 -w-8012 -O2 -v- -x- -nbin/Pipeline/ Pipeline/bmp2arr.c Pipeline/bmp2arrl.c +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_s.bmp -o th01/sprites/leaf_s.csp -sym sSPARK -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_l.bmp -o th01/sprites/leaf_l.csp -sym sLEAF_LEFT -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/leaf_r.bmp -o th01/sprites/leaf_r.csp -sym sLEAF_RIGHT -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/ileave_m.bmp -o th01/sprites/ileave_m.csp -sym sINTERLEAVE_MASKS -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/laser_s.bmp -o th01/sprites/laser_s.csp -sym sSHOOTOUT_LASER -of cpp -sw 16 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/mousecur.bmp -o th01/sprites/mousecur.csp -sym sMOUSE_CURSOR -of cpp -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet.bmp -o th01/sprites/pellet.csp -sym sPELLET -of cpp -sw 8 -sh 8 -pshf inner +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet_c.bmp -o th01/sprites/pellet_c.csp -sym sPELLET_CLOUD -of cpp -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pillar.bmp -o th01/sprites/pillar.csp -sym sPILLAR -of cpp -sw 32 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/shape8x8.bmp -o th01/sprites/shape8x8.csp -sym sSHAPE8X8 -of cpp -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/bonusbox.bmp -o th01/sprites/bonusbox.csp -sym sSTAGEBONUS_BOX -of cpp -sw 8 -sh 4 +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/bombpart.bmp -o th02/sprites/bombpart.asp -sym _sBOMB_PARTICLES -of asm -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pellet.bmp -o th02/sprites/pellet.asp -sym _sPELLET -of asm -sw 8 -sh 8 -pshf outer +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/sparks.bmp -o th02/sprites/sparks.asp -sym _sSPARKS -of asm -sw 8 -sh 8 -pshf outer +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pointnum.bmp -o th02/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/verdict.bmp -o th02/sprites/verdict.csp -sym sVERDICT_MASKS -of cpp -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th03/sprites/score.bmp -o th03/sprites/score.asp -sym _sSCORE_FONT -of asm -sw 8 -sh 8 -u +bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pelletbt.bmp -o th04/sprites/pelletbt.asp -sym _sPELLET_BOTTOM -of asm -sw 8 -sh 4 -pshf outer +bin\\Pipeline\\bmp2arr.exe -q -i th04/sprites/pointnum.bmp -o th04/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8 -pshf inner +bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/gaiji.bmp -o th05/sprites/gaiji.asp -sym _sGAIJI -of asm -sw 16 -sh 16 +bin\\Pipeline\\bmp2arr.exe -q -i th05/sprites/piano_l.bmp -o th05/sprites/piano_l.asp -sym _sPIANO_LABEL_FONT -of asm -sw 8 -sh 8 +bin\\Pipeline\\bmp2arr.exe -q -i Research/blitperf.bmp -o Research/blitperf.csp -sym sBLITPERF -of cpp -sw 16 -sh 16 +tasm32 /m /mx /kh32768 /t /ml libs\piloadc\piloadc.asm bin\piloadc.obj +tasm32 /m /mx /kh32768 /t zuncom\zun_stub.asm bin\zuncom\zun_stub.obj +tasm32 /m /mx /kh32768 /t zuncom\cstmstub.asm bin\zuncom\cstmstub.obj +tasm32 /m /mx /kh32768 /t th01_op.asm bin\th01\op.obj +tasm32 /m /mx /kh32768 /t th01_reiiden.asm bin\th01\reiiden.obj +tasm32 /m /mx /kh32768 /t th01_fuuin.asm bin\th01\fuuin.obj +tasm32 /m /mx /kh32768 /t th02_zuninit.asm bin\th02\zuninit.obj +tasm32 /m /mx /kh32768 /t th02_op.asm bin\th02\op.obj +tasm32 /m /mx /kh32768 /t th02_main.asm bin\th02\main.obj +tasm32 /m /mx /kh32768 /t th02_maine.asm bin\th02\maine.obj +tasm32 /m /mx /kh32768 /t /DTHIEF libs\sprite16\sprite16.asm bin\th03\zunsp.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_put.asm bin\th03\cdg_put.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\cdg_p_na.asm bin\th03\cdg_p_na.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\collmap.asm bin\th03\collmap.obj +tasm32 /m /mx /kh32768 /t /dGAME=3 th03\\hfliplut.asm bin\th03\hfliplut.obj +tasm32 /m /mx /kh32768 /t th03_op.asm bin\th03\op.obj +tasm32 /m /mx /kh32768 /t th03_op2.asm bin\th03\op2.obj +tasm32 /m /mx /kh32768 /t th03_main.asm bin\th03\main.obj +tasm32 /m /mx /kh32768 /t th03_mainl.asm bin\th03\mainl.obj +tasm32 /m /mx /kh32768 /t th04_zuninit.asm bin\th04\zuninit.obj +tasm32 /m /mx /kh32768 /t th04_memchk.asm bin\th04\memchk.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\scoreupd.asm bin\th04\scoreupd.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_put.asm bin\th04\cdg_put.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_nc.asm bin\th04\cdg_p_nc.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pl.asm bin\th04\cdg_p_pl.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_p_pr.asm bin\th04\cdg_p_pr.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\input_s.asm bin\th04\input_s.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\cdg_load.asm bin\th04\cdg_load.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\bgimager.asm bin\th04\bgimager.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\motion_3.asm bin\th04\motion_3.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\spark_a.asm bin\th04\spark_a.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\vector2n.asm bin\th04\vector2n.obj +tasm32 /m /mx /kh32768 /t /dGAME=4 th04\grppsafx.asm bin\th04\grppsafx.obj +tasm32 /m /mx /kh32768 /t th04_op.asm bin\th04\op.obj +tasm32 /m /mx /kh32768 /t th04_op2.asm bin\th04\op2.obj +tasm32 /m /mx /kh32768 /t th04_op_master.asm bin\th04\opm.obj +tasm32 /m /mx /kh32768 /t th04_main.asm bin\th04\main.obj +tasm32 /m /mx /kh32768 /t th04_maine.asm bin\th04\maine.obj +tasm32 /m /mx /kh32768 /t th04_maine_master.asm bin\th04\mainem.obj +tasm32 /m /mx /kh32768 /t th05_zuninit.asm bin\th05\zuninit.obj +tasm32 /m /mx /kh32768 /t th05_gjinit.asm bin\th05\gjinit.obj +tasm32 /m /mx /kh32768 /t th05_memchk.asm bin\th05\memchk.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th04\scoreupd.asm bin\th05\scoreupd.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\player.asm bin\th05\player.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\hud_bar.asm bin\th05\hud_bar.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet_1.asm bin\th05\bullet_1.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bullet.asm bin\th05\bullet.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\input_s.asm bin\th05\input_s.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\cdg_put.asm bin\th05\cdg_put.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\musicp_a.asm bin\th05\musicp_a.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\bgimager.asm bin\th05\bgimager.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_1.asm bin\th05\pi_asm_1.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\pi_asm_2.asm bin\th05\pi_asm_2.obj +tasm32 /m /mx /kh32768 /t /dGAME=5 th05\spark_a.asm bin\th05\spark_a.obj +tasm32 /m /mx /kh32768 /t th05_op.asm bin\th05\op.obj +tasm32 /m /mx /kh32768 /t th05_op2.asm bin\th05\op2.obj +tasm32 /m /mx /kh32768 /t th05_op_master.asm bin\th05\opm.obj +tasm32 /m /mx /kh32768 /t th05_main.asm bin\th05\main.obj +tasm32 /m /mx /kh32768 /t th05_maine.asm bin\th05\maine.obj +tasm32 /m /mx /kh32768 /t th05_maine_master.asm bin\th05\mainem.obj +@echo off diff --git a/build.bat b/build.bat index 8be81cb3..cff88aac 100755 --- a/build.bat +++ b/build.bat @@ -1,2 +1,2 @@ -@call BUILD32B.BAT -@call BUILD16B.BAT +@call BUILD32B.BAT +@call BUILD16B.BAT diff --git a/build16b.bat b/build16b.bat index b740b60f..f1979f06 100755 --- a/build16b.bat +++ b/build16b.bat @@ -1,37 +1,37 @@ -@echo off -echo Running the second, 16-bit part of the ReC98 build process. -echo If this fails or shows other weird behavior, run BUILD16B separately in DOSBox. -REM (Yes, we don't use %0%, as it actually has to be %0 on DOS. Just spelling -REM out the name saves us that trouble.) - -tlink >NUL -if errorlevel 9009 goto no_tlink -if errorlevel 216 goto 64_bit - -tcc >NUL -if errorlevel 9009 goto no_tcc -if errorlevel 216 goto 64_bit - -maker -B -if errorlevel 9009 goto no_make -if errorlevel 216 goto 64_bit -goto eof - -:64_bit -echo You're running a 64-bit OS. Run BUILD16B.BAT separately in DOSBox instead. -goto eof - -:no_tcc -echo Could not find TCC. -goto tc4j_bin -:no_tlink -echo Could not find TLINK. -goto tc4j_bin -:no_make -echo Could not find MAKER. -goto tc4j_bin -:tc4j_bin -echo Please make sure that the BIN directory of Turbo C++ 4.0J is in your PATH. -goto eof - -:eof +@echo off +echo Running the second, 16-bit part of the ReC98 build process. +echo If this fails or shows other weird behavior, run BUILD16B separately in DOSBox. +REM (Yes, we don't use %0%, as it actually has to be %0 on DOS. Just spelling +REM out the name saves us that trouble.) + +tlink >NUL +if errorlevel 9009 goto no_tlink +if errorlevel 216 goto 64_bit + +tcc >NUL +if errorlevel 9009 goto no_tcc +if errorlevel 216 goto 64_bit + +maker -B +if errorlevel 9009 goto no_make +if errorlevel 216 goto 64_bit +goto eof + +:64_bit +echo You're running a 64-bit OS. Run BUILD16B.BAT separately in DOSBox instead. +goto eof + +:no_tcc +echo Could not find TCC. +goto tc4j_bin +:no_tlink +echo Could not find TLINK. +goto tc4j_bin +:no_make +echo Could not find MAKER. +goto tc4j_bin +:tc4j_bin +echo Please make sure that the BIN directory of Turbo C++ 4.0J is in your PATH. +goto eof + +:eof diff --git a/build32b.bat b/build32b.bat index 1abb9be0..b6ea0f8f 100755 --- a/build32b.bat +++ b/build32b.bat @@ -1,62 +1,62 @@ -@echo off -echo Running the first, 32-bit part of the ReC98 build process. - -: Windows 9x doesn't support stderr redirection, and always sets ERRORLEVEL to -: 2 if you attempt to do that, regardless of `tasm32`'s existence. NT properly -: returns 9009 if not found, or 0 otherwise. -set STDERR_IGNORE= -tasm32 >NUL 2>NUL -if errorlevel 9009 goto no_tasm32 -if errorlevel 2 goto check_tasm32_win9x - -: NT + TASM32 existing confirmed at this point -setlocal -set STDERR_IGNORE=2^>NUL -goto check_bcc32 - -: Re-run the actual TASM check for Windows 9x. Calling a nonexistent command -: leaves ERRORLEVEL untouched, so we have to override it ourselves first. -:check_tasm32_win9x -call set_errorlevel_to_1.bat -tasm32 >NUL %STDERR_IGNORE% -if errorlevel 1 goto no_tasm32 - -:check_bcc32 -call set_errorlevel_to_1.bat -bcc32 >NUL %STDERR_IGNORE% -if errorlevel 1 goto no_bcc32 - -: Neither BCC32 nor TASM32 automatically create nonexisting output -: directories. Tup would, but not everybody can use it. -mkdir bin\zuncom %STDERR_IGNORE% -mkdir bin\Pipeline %STDERR_IGNORE% -for %%i in (1 2 3 4 5) do mkdir bin\th0%%i %STDERR_IGNORE% - -call set_errorlevel_to_1.bat -tup version >NUL -if errorlevel 1 goto fallback -: NT returns negative values for things like DLL import failures -if not errorlevel 0 goto fallback - -tup -goto eof - -:fallback -echo [:(] Failed to run Tup (gittup.org/tup), falling back on a dumb full rebuild... -if not errorlevel 0 echo (Delete `tup.exe` to avoid the error message boxes in the future) -call Tupfile.bat - -goto eof - -:no_tasm32 -echo Could not find TASM32. -echo Please make sure that the BIN directory of Turbo Assembler 5.0 is in your PATH. -goto eof - -:no_bcc32 -echo Could not find BCC32. -echo Please make sure that the BIN directory of Borland C++ 5.5 is in your PATH. -goto eof - -:eof -echo ------------------------------------------------------------------------------- +@echo off +echo Running the first, 32-bit part of the ReC98 build process. + +: Windows 9x doesn't support stderr redirection, and always sets ERRORLEVEL to +: 2 if you attempt to do that, regardless of `tasm32`'s existence. NT properly +: returns 9009 if not found, or 0 otherwise. +set STDERR_IGNORE= +tasm32 >NUL 2>NUL +if errorlevel 9009 goto no_tasm32 +if errorlevel 2 goto check_tasm32_win9x + +: NT + TASM32 existing confirmed at this point +setlocal +set STDERR_IGNORE=2^>NUL +goto check_bcc32 + +: Re-run the actual TASM check for Windows 9x. Calling a nonexistent command +: leaves ERRORLEVEL untouched, so we have to override it ourselves first. +:check_tasm32_win9x +call set_errorlevel_to_1.bat +tasm32 >NUL %STDERR_IGNORE% +if errorlevel 1 goto no_tasm32 + +:check_bcc32 +call set_errorlevel_to_1.bat +bcc32 >NUL %STDERR_IGNORE% +if errorlevel 1 goto no_bcc32 + +: Neither BCC32 nor TASM32 automatically create nonexisting output +: directories. Tup would, but not everybody can use it. +mkdir bin\zuncom %STDERR_IGNORE% +mkdir bin\Pipeline %STDERR_IGNORE% +for %%i in (1 2 3 4 5) do mkdir bin\th0%%i %STDERR_IGNORE% + +call set_errorlevel_to_1.bat +tup version >NUL +if errorlevel 1 goto fallback +: NT returns negative values for things like DLL import failures +if not errorlevel 0 goto fallback + +tup +goto eof + +:fallback +echo [:(] Failed to run Tup (gittup.org/tup), falling back on a dumb full rebuild... +if not errorlevel 0 echo (Delete `tup.exe` to avoid the error message boxes in the future) +call Tupfile.bat + +goto eof + +:no_tasm32 +echo Could not find TASM32. +echo Please make sure that the BIN directory of Turbo Assembler 5.0 is in your PATH. +goto eof + +:no_bcc32 +echo Could not find BCC32. +echo Please make sure that the BIN directory of Borland C++ 5.5 is in your PATH. +goto eof + +:eof +echo ------------------------------------------------------------------------------- diff --git a/set_errorlevel_to_1.bat b/set_errorlevel_to_1.bat index a0a11ed5..5dee3673 100644 --- a/set_errorlevel_to_1.bat +++ b/set_errorlevel_to_1.bat @@ -1 +1 @@ -@< NUL find "" +@< NUL find ""