forked from KolibriOS/kolibrios
62 lines
1.3 KiB
Batchfile
62 lines
1.3 KiB
Batchfile
|
@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
|