Subversion Repositories Kolibri OS

Rev

Rev 245 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
235 victor 1
@echo off
245 victor 2
echo ####################################################
3
echo #           Melibc builder                         #
4
echo #  usage: build [clean]                            #
5
echo ####################################################
235 victor 6
rem #### CONFIG SECTION ####
647 andrew_pro 7
set LIBNAME=libck.a
235 victor 8
set INCLUDE=include
647 andrew_pro 9
set CC=
236 victor 10
set CFLAGS=-c -nostdinc -DGNUC -I"%cd%\%INCLUDE%"
647 andrew_pro 11
set AR=
12
set ASM=
13
set dirs=stdio memory kolibrisys string stdlib
235 victor 14
rem #### END OF CONFIG SECTION ####
15
 
16
set objs=
17
set target=%1
18
if not "%1"=="clean" set target=all
19
 
236 victor 20
set INCLUDE="%cd%"
235 victor 21
call :Target_%target%
22
 
23
if ERRORLEVEL 0 goto Exit_OK
24
 
25
echo Probably at runing has been created error
26
echo For help send a report...
27
pause
28
goto :eof
29
 
30
:Compile_C
236 victor 31
   %CC% %CFLAGS% %1 -o "%~dpn1.o"
235 victor 32
   if not %errorlevel%==0 goto Error_Failed
236 victor 33
   set objs=%objs% "%~dpn1.o"
235 victor 34
goto :eof
35
 
36
:Compile_Asm
236 victor 37
   %ASM% %1 "%~dpn1.o"
235 victor 38
   if not %errorlevel%==0 goto Error_Failed
236 victor 39
   set objs=%objs% "%~dpn1.o"
235 victor 40
goto :eof
41
 
42
:Target_clean
43
   echo cleaning ...
236 victor 44
   for %%a in (%dirs%) do del /Q "%%a\*.o"
235 victor 45
goto :Exit_OK
46
 
47
:Target_all
48
   echo building all ...
49
   for %%a in (%dirs%) do (
236 victor 50
      for %%f in ("%%a\*.asm") do call :Compile_Asm "%%f"
51
      for %%f in ("%%a\*.c") do call :Compile_C "%%f"
235 victor 52
   )
53
   %AR% -ru %LIBNAME% %objs%
54
   if not %errorlevel%==0 goto Error_Failed
55
goto Exit_OK
56
 
57
:Error_Failed
58
echo error: execution failed
59
pause
60
exit 1
61
 
62
:Exit_OK
245 victor 63
echo ####################################################
64
echo # All operations has been done...                  #
65
echo # For cleaning run this script with param " clean" #
66
echo ####################################################
235 victor 67
pause
68
exit 0