39 lines
1.3 KiB
Batchfile
39 lines
1.3 KiB
Batchfile
@echo off
|
|
REM ===========================================================================
|
|
REM build_lib.bat — Сборка статической библиотеки wc_api.lib
|
|
REM
|
|
REM Каждая функция WC API — отдельный .rel модуль.
|
|
REM Линковщик SDCC подтягивает из .lib только модули с нужными символами.
|
|
REM ===========================================================================
|
|
|
|
setlocal
|
|
|
|
cd /d "%~dp0"
|
|
|
|
set ASFLAGS=-plosff
|
|
set BUILDDIR=..\..\build\wc_api
|
|
set LIBFILE=..\..\build\wc_api.lib
|
|
|
|
REM --- Папка для .rel файлов ---
|
|
if not exist "%BUILDDIR%" mkdir "%BUILDDIR%"
|
|
|
|
REM --- Сборка всех .s → .rel ---
|
|
for %%f in (*.s) do (
|
|
sdasz80 %ASFLAGS% "%BUILDDIR%\%%~nf.rel" "%%f" >nul
|
|
if errorlevel 1 ( echo FAIL %%f && exit /b 1 )
|
|
)
|
|
|
|
REM --- Удалить старую библиотеку ---
|
|
if exist "%LIBFILE%" del "%LIBFILE%"
|
|
|
|
REM --- Создать .lib архив (Windows cmd не раскрывает *.rel для sdar) ---
|
|
setlocal enabledelayedexpansion
|
|
set RELFILES=
|
|
for %%f in ("%BUILDDIR%\*.rel") do set RELFILES=!RELFILES! "%%f"
|
|
sdar -rc "%LIBFILE%" %RELFILES% >nul
|
|
if errorlevel 1 ( echo FAIL sdar && exit /b 1 )
|
|
endlocal
|
|
|
|
echo wc_api.lib OK
|
|
exit /b 0
|