kolibrios/programs/develop/metcc/trunk/libc/build.bat

62 lines
1.3 KiB
Batchfile
Raw Normal View History

@echo off
rem #### CONFIG SECTION ####
set LIBNAME=melibc.a
set INCLUDE=include
set CC=gcc
set CFLAGS=-c -nostdinc -DGNUC -I%cd%\%INCLUDE%
set AR=ar
set ASM=fasm
set dirs=file mem mesys string
rem #### END OF CONFIG SECTION ####
set objs=
set target=%1
if not "%1"=="clean" set target=all
set INCLUDE=%cd%
call :Target_%target%
if ERRORLEVEL 0 goto Exit_OK
echo Probably at runing has been created error
echo For help send a report...
pause
goto :eof
:Compile_C
%CC% %CFLAGS% %1 -o %~dpn1.o
if not %errorlevel%==0 goto Error_Failed
set objs=%objs% %~dpn1.o
goto :eof
:Compile_Asm
%ASM% %1 %~dpn1.o
if not %errorlevel%==0 goto Error_Failed
set objs=%objs% %~dpn1.o
goto :eof
:Target_clean
echo cleaning ...
for %%a in (%dirs%) do del /Q %%a\*.o
goto :Exit_OK
:Target_all
echo building all ...
for %%a in (%dirs%) do (
for %%f in (%%a\*.asm) do call :Compile_Asm %%f
for %%f in (%%a\*.c) do call :Compile_C %%f
)
%AR% -ru %LIBNAME% %objs%
if not %errorlevel%==0 goto Error_Failed
goto Exit_OK
:Error_Failed
echo error: execution failed
pause
exit 1
:Exit_OK
echo all operations has been done...
echo for cleaning run this script with param " clean"
pause
exit 0