CD \

REM Compile source code files to object files
MMCC.TTP SOURCE\ENGINE\DUNVIEW.C  %4 %5
MMCC.TTP SOURCE\ENGINE\VIDEO.C    %4 %5
MMCC.TTP SOURCE\ENGINE\DUNGEON.C  %4 %5
MMCC.TTP SOURCE\ENGINE\MAIN.C     %4 %5
MMCC.TTP SOURCE\ENGINE\OBJECT.C   %4 %5
MMCC.TTP SOURCE\ENGINE\TEXT.C     %4 %5
MMCC.TTP SOURCE\ENGINE\PROJEXPL.C %4 %5
MMCC.TTP SOURCE\ENGINE\GROUP2.C   %4 %5
MMCC.TTP SOURCE\ENGINE\TIMELINE.C %4 %5
MMCC.TTP SOURCE\ENGINE\GROUP1.C   %4 %5
MMCC.TTP SOURCE\ENGINE\MOVE.C     %4 %5
MMCC.TTP SOURCE\ENGINE\SENSOR.C   %4 %5
MMCC.TTP SOURCE\ENGINE\CHAMPION.C %4 %5
MMCC.TTP SOURCE\ENGINE\INVNTORY.C %4 %5
MMCC.TTP SOURCE\ENGINE\COMMAND.C  %4 %5
MMCC.TTP SOURCE\ENGINE\MENUS.C    %4 %5
MMCC.TTP SOURCE\ENGINE\OS.C       %4 %5
MMCC.TTP SOURCE\ENGINE\SAVEUTIL.C %4 %5
MMCC.TTP SOURCE\ENGINE\DIALOG.C   %4 %5
MMCC.TTP SOURCE\ENGINE\STARTND1.C %4 %5
MMCC.TTP SOURCE\ENGINE\STARTND2.C %4 %5
MMCC.TTP SOURCE\ENGINE\MEMINIT.C  %4 %5
MMCC.TTP SOURCE\ENGINE\FLOPPY1.C  %4 %5
MMCC.TTP SOURCE\ENGINE\FLOPPY2.C  %4 %5
MMCC.TTP SOURCE\ENGINE\START.C    %4 %5
MMCC.TTP SOURCE\ENGINE\SOUND.C    %4 %5
MMCC.TTP SOURCE\ENGINE\MOUSE.C    %4 %5
MMCC.TTP SOURCE\ENGINE\COPYPROT.C %4 %5
MMCC.TTP SOURCE\ENGINE\EXPAND.C   %4 %5
MMCC.TTP SOURCE\ENGINE\MEMORY.C   %4 %5
MMCC.TTP SOURCE\ENGINE\LZW.C      %4 %5

REM Run code improver on object files (except VIDEO.O and EXPAND.O)
MMIMP.TTP SOURCE\ENGINE\DUNVIEW.O
REM Do not improve VIDEO.O because this would break some hard coded branches
MMIMP.TTP SOURCE\ENGINE\DUNGEON.O
MMIMP.TTP SOURCE\ENGINE\MAIN.O
MMIMP.TTP SOURCE\ENGINE\OBJECT.O
MMIMP.TTP SOURCE\ENGINE\TEXT.O
MMIMP.TTP SOURCE\ENGINE\PROJEXPL.O
MMIMP.TTP SOURCE\ENGINE\GROUP2.O
MMIMP.TTP SOURCE\ENGINE\TIMELINE.O
MMIMP.TTP SOURCE\ENGINE\GROUP1.O
MMIMP.TTP SOURCE\ENGINE\MOVE.O
MMIMP.TTP SOURCE\ENGINE\SENSOR.O
MMIMP.TTP SOURCE\ENGINE\CHAMPION.O
MMIMP.TTP SOURCE\ENGINE\INVNTORY.O
MMIMP.TTP SOURCE\ENGINE\COMMAND.O
MMIMP.TTP SOURCE\ENGINE\MENUS.O
MMIMP.TTP SOURCE\ENGINE\OS.O
MMIMP.TTP SOURCE\ENGINE\SAVEUTIL.O
MMIMP.TTP SOURCE\ENGINE\DIALOG.O
MMIMP.TTP SOURCE\ENGINE\STARTND1.O
MMIMP.TTP SOURCE\ENGINE\STARTND2.O
MMIMP.TTP SOURCE\ENGINE\MEMINIT.O
MMIMP.TTP SOURCE\ENGINE\FLOPPY1.O
MMIMP.TTP SOURCE\ENGINE\FLOPPY2.O
MMIMP.TTP SOURCE\ENGINE\START.O
MMIMP.TTP SOURCE\ENGINE\SOUND.O
MMIMP.TTP SOURCE\ENGINE\MOUSE.O
MMIMP.TTP SOURCE\ENGINE\COPYPROT.O
REM Do not improve EXPAND.O
MMIMP.TTP SOURCE\ENGINE\MEMORY.O
MMIMP.TTP SOURCE\ENGINE\LZW.O

REM Link object files to build executable file
IF NOT FOLDER BUILD\ENGINE\%1 MKDIR BUILD\ENGINE\%1
CD SOURCE\ENGINE
..\..\MMLINK.TTP ..\MAKE\%3 -o ..\..\BUILD\ENGINE\%1\%2.PRG -M ..\..\BUILD\ENGINE\%1\%2.MAP
CD ..\..

REM Move object files
IF NOT FOLDER OBJECT\ENGINE\%1 MKDIR OBJECT\ENGINE\%1
IF NOT FOLDER OBJECT\ENGINE\%1\%2 MKDIR OBJECT\ENGINE\%1\%2
COPY SOURCE\ENGINE\*.O OBJECT\ENGINE\%1\%2
FOR %%V IN ( SOURCE\ENGINE\*.O ) DO DEL SOURCE\ENGINE\%%V

REM Disassemble object files
MMDIS.TTP OBJECT\ENGINE\%1\%2\DUNVIEW.O  -o OBJECT\ENGINE\%1\%2\DUNVIEW.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\VIDEO.O    -o OBJECT\ENGINE\%1\%2\VIDEO.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\DUNGEON.O  -o OBJECT\ENGINE\%1\%2\DUNGEON.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\MAIN.O     -o OBJECT\ENGINE\%1\%2\MAIN.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\OBJECT.O   -o OBJECT\ENGINE\%1\%2\OBJECT.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\TEXT.O     -o OBJECT\ENGINE\%1\%2\TEXT.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\PROJEXPL.O -o OBJECT\ENGINE\%1\%2\PROJEXPL.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\GROUP2.O   -o OBJECT\ENGINE\%1\%2\GROUP2.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\TIMELINE.O -o OBJECT\ENGINE\%1\%2\TIMELINE.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\GROUP1.O   -o OBJECT\ENGINE\%1\%2\GROUP1.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\MOVE.O     -o OBJECT\ENGINE\%1\%2\MOVE.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\SENSOR.O   -o OBJECT\ENGINE\%1\%2\SENSOR.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\CHAMPION.O -o OBJECT\ENGINE\%1\%2\CHAMPION.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\INVNTORY.O -o OBJECT\ENGINE\%1\%2\INVNTORY.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\COMMAND.O  -o OBJECT\ENGINE\%1\%2\COMMAND.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\MENUS.O    -o OBJECT\ENGINE\%1\%2\MENUS.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\OS.O       -o OBJECT\ENGINE\%1\%2\OS.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\SAVEUTIL.O -o OBJECT\ENGINE\%1\%2\SAVEUTIL.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\DIALOG.O   -o OBJECT\ENGINE\%1\%2\DIALOG.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\STARTND1.O -o OBJECT\ENGINE\%1\%2\STARTND1.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\STARTND2.O -o OBJECT\ENGINE\%1\%2\STARTND2.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\MEMINIT.O  -o OBJECT\ENGINE\%1\%2\MEMINIT.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\FLOPPY1.O  -o OBJECT\ENGINE\%1\%2\FLOPPY1.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\FLOPPY2.O  -o OBJECT\ENGINE\%1\%2\FLOPPY2.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\START.O    -o OBJECT\ENGINE\%1\%2\START.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\SOUND.O    -o OBJECT\ENGINE\%1\%2\SOUND.S
REM Do not disassemble MOUSE.O because MMDIS.TTP crashes on this file
MMDIS.TTP OBJECT\ENGINE\%1\%2\COPYPROT.O -o OBJECT\ENGINE\%1\%2\COPYPROT.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\EXPAND.O   -o OBJECT\ENGINE\%1\%2\EXPAND.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\MEMORY.O   -o OBJECT\ENGINE\%1\%2\MEMORY.S
MMDIS.TTP OBJECT\ENGINE\%1\%2\LZW.O      -o OBJECT\ENGINE\%1\%2\LZW.S
