Files
2026-04-18 22:31:51 +02:00

92 lines
2.4 KiB
Batchfile

@ECHO OFF
SETLOCAL
REM DEFAULT MAIN FILE %_DEFAULT%.asm
SET _DEFAULT=b288
REM LINKER OPTIONS
REM SET _LIBPATH0=/LIBPATH:".\lib"
SET _LIBPATH1=/LIBPATH:"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib"
SET _LIBFILES0=kernel32.lib user32.lib gdi32.lib winmm.lib ntdll.lib d3d11.lib d3dcompiler.lib
SET _SUBSYS=/SUBSYSTEM:CONSOLE
SET _ENTRY=/ENTRY:start
SET _SAFESEH=/SAFESEH:NO
REM CRINKLER OPTIONS
SET _FAST0=/PRIORITY:NORMAL /COMPMODE:FAST /HASHSIZE:256 /HASHTRIES:10
SET _FAST1=/ORDERTRIES:200 /UNSAFEIMPORT /REPORT:report.html
SET _SLOW0=/PRIORITY:NORMAL /COMPMODE:SLOW /HASHSIZE:256 /HASHTRIES:1000
SET _SLOW1=/ORDERTRIES:1000 /UNSAFEIMPORT /REPORT:report.html
REM MAYBE ADD /OVERRIDEALIGNMENTS:8
REM CHECK PARAMETERS
SET _n_=%_DEFAULT%
IF "%1"=="ibh" GOTO :IBH
IF "%1"=="clean" GOTO :CLEAN
IF "%1"=="dbg" GOTO :USEDEFAULT
IF "%1"=="" GOTO :USEDEFAULT
SET _n_=%1
:USEDEFAULT
IF "%1"=="dbg" GOTO :DBG
IF "%2"=="" GOTO :3
GOTO :%2
:CLEAN
call clean.bat
del %_DEFAULT%*.exe
GOTO :END
:IBH
REM BUILD HASHTABLE FOR IBH IMPORTER
glfnGenerator.exe ibh.glfn.in inc/ibh.ht.inc
GOTO :end
:DBG
REM DEBUG
nasm %_n_%.asm -f win32 -dDEBUG
link %_SUBSYS% %_ENTRY% %_SAFESEH% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%_debug.exe %_n_%.obj
%_n_%_debug.exe
GOTO :end
:1
REM DEBUG BUILD
nasm %_n_%.asm -f win32 -dDEBUG
link %_SUBSYS% %_ENTRY% %_SAFESEH% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%_debug.exe %_n_%.obj
GOTO :end
:2
REM UNCOMPRESSED BUILD
nasm %_n_%.asm -f win32
link %_SUBSYS% %_ENTRY% %_SAFESEH% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%_uncompressed.exe %_n_%.obj
GOTO :end
:3
REM FAST COMPRESSED BUILD
nasm %_n_%.asm -f win32
crinkler /CRINKLER %_SUBSYS% %_ENTRY% %_FAST0% %_FAST1% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%_fast.exe %_n_%.obj
GOTO :end
:4
REM SLOW COMPRESSED BUILD
nasm %_n_%.asm -f win32
crinkler /CRINKLER %_SUBSYS% %_ENTRY% %_SLOW0% %_SLOW1% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%_slow.exe %_n_%.obj
GOTO :end
:5
REM SLOW COMPRESSED BUILD
nasm %_n_%.asm -f win32
crinkler /CRINKLER %_SUBSYS% %_ENTRY% %_SLOW0% %_SLOW1% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%.exe %_n_%.obj
GOTO :end
:6
REM FAST COMPRESSED DEBUG BUILD
nasm %_n_%.asm -f win32 -dDEBUG
crinkler /CRINKLER %_SUBSYS% %_ENTRY% %_FAST0% %_FAST1% %_LIBPATH0% %_LIBPATH1% %_LIBFILES0% /OUT:%_n_%_debug_fast.exe %_n_%.obj
%_n_%_debug_fast.exe
GOTO :end
:end
REM DISPLAY SOME SIZE INFORMATION
dir /OS /AA %_n_%*