Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6433 | siemargl | 1 | @echo off |
2 | echo #################################################### |
||
3 | echo # test libc builder # |
||
4 | echo # usage: build [clean] # |
||
5 | echo #################################################### |
||
6 | rem #### CONFIG SECTION #### |
||
7 | set LIBNAME=libck.a |
||
8 | set INCLUDE=include |
||
9 | set CC=D:\VSProjects\msys-kos32-4.8.2\ktcc\trunk\libc\kos32-tcc.exe |
||
10 | set CFLAGS=-I"%cd%\%INCLUDE%" -Wall |
||
11 | set AR=kos32-ar |
||
12 | set ASM=fasm |
||
13 | set dirs=. |
||
14 | rem #### END OF CONFIG SECTION #### |
||
15 | |||
16 | set objs= |
||
17 | set target=%1 |
||
18 | if not "%1"=="clean" set target=all |
||
19 | |||
20 | set INCLUDE="%cd%" |
||
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 |
||
31 | %CC% %CFLAGS% %1 -o "%~dpn1.kex" -lck |
||
32 | if not %errorlevel%==0 goto Error_Failed |
||
33 | set objs=%objs% "%~dpn1.o" |
||
34 | goto :eof |
||
35 | |||
36 | :Compile_Asm |
||
37 | %ASM% %1 "%~dpn1.o" |
||
38 | if not %errorlevel%==0 goto Error_Failed |
||
39 | set objs=%objs% "%~dpn1.o" |
||
40 | goto :eof |
||
41 | |||
42 | :Target_clean |
||
43 | echo cleaning ... |
||
44 | for %%a in (%dirs%) do del /Q "%%a\*.o" |
||
45 | for %%a in (%dirs%) do del /Q "%%a\*.kex" |
||
46 | goto :Exit_OK |
||
47 | |||
48 | :Target_all |
||
49 | echo building all ... |
||
50 | for %%a in (%dirs%) do ( |
||
51 | for %%f in ("%%a\*.asm") do call :Compile_Asm "%%f" |
||
52 | for %%f in ("%%a\*.c") do call :Compile_C "%%f" |
||
53 | ) |
||
54 | :: %AR% -ru %LIBNAME% %objs% |
||
55 | :: if not %errorlevel%==0 goto Error_Failed |
||
56 | goto Exit_OK |
||
57 | |||
58 | :Error_Failed |
||
59 | echo error: execution failed |
||
60 | pause |
||
61 | exit 1 |
||
62 | |||
63 | :Exit_OK |
||
64 | echo #################################################### |
||
65 | echo # All operations has been done... # |
||
66 | echo #################################################### |
||
67 | pause |
||
68 | exit 0 |