mirror of
https://github.com/dwsJason/xrick2gs.git
synced 2025-01-21 09:34:23 +00:00
97 lines
1.6 KiB
Batchfile
97 lines
1.6 KiB
Batchfile
@echo off
|
|
setlocal
|
|
rem
|
|
rem Build and link xRick for the Apple IIgs
|
|
rem
|
|
|
|
rem
|
|
rem object directory if it doesn't exist
|
|
rem
|
|
if not exist "obj" (
|
|
mkdir obj
|
|
)
|
|
|
|
rem
|
|
rem #define IIGS 1
|
|
rem Add "include" into the directory search path for #include
|
|
rem
|
|
set CC=cc=-DIIGS=1 cc=-Iinclude cc=-Isrc
|
|
|
|
rem
|
|
rem Build a list of .c files
|
|
rem
|
|
for /f "tokens=*" %%a in ('dir /b src\*.c') do call :appendsrc %%a
|
|
goto :compile
|
|
|
|
rem
|
|
rem Silly append function, that has the conditional
|
|
rem to work around starting the list with a space character
|
|
rem
|
|
:appendsrc
|
|
if defined SOURCEFILES (
|
|
set SOURCEFILES=%SOURCEFILES% %1
|
|
) else (
|
|
if "%1" NEQ "\\" (
|
|
set SOURCEFILES=%1
|
|
)
|
|
)
|
|
EXIT /B 0
|
|
|
|
:appendobj
|
|
if defined OBJFILES (
|
|
set OBJFILES=%OBJFILES% obj\%1
|
|
) else (
|
|
set OBJFILES=obj\%1
|
|
)
|
|
EXIT /B 0
|
|
|
|
rem
|
|
rem Loop through the list of .c files, compiling them with ORCA
|
|
rem
|
|
:compile
|
|
|
|
FOR %%I IN (%SOURCEFILES%) DO (
|
|
echo Compile: %%I
|
|
set CFILE=%%I
|
|
iix compile -P -I +O src\%%I keep=obj:%%I %CC% || goto :error
|
|
)
|
|
|
|
:link
|
|
|
|
del xrick.lib
|
|
|
|
echo makelib xrick.lib
|
|
|
|
FOR %%I IN (%SOURCEFILES%) DO (
|
|
call :appendobj %%I
|
|
rem echo iix makelib -P xrick.lib +obj:%%I.a
|
|
set CFILE=%%I
|
|
iix makelib -P xrick.lib +obj:%%I.a || goto :error3
|
|
)
|
|
|
|
iix makelib -P xrick.lib +e1.obj
|
|
|
|
echo Linking xrick.s16
|
|
rem echo %OBJFILES%
|
|
set CFILE=xrick.s16
|
|
iix link +L obj\xrick.c xrick.lib keep=xrick || goto :error2
|
|
rem iix -DKeepType=S16 link +L +S %OBJFILES% keep=xrick || goto :error2
|
|
|
|
goto :eof
|
|
|
|
:error3
|
|
echo !!ERROR adding object: %CFILE%
|
|
exit /B 1
|
|
|
|
:error2
|
|
echo !!ERROR Linking: %CFILE%
|
|
exit /B 1
|
|
|
|
:error
|
|
echo !!ERROR Compiling: %CFILE%
|
|
exit /B 1
|
|
|
|
:eof
|
|
|
|
|