Rev 235 | 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 |
2 | rem #### CONFIG SECTION #### |
||
3 | set LIBNAME=melibc.a |
||
4 | set INCLUDE=include |
||
5 | set CC=gcc |
||
236 | victor | 6 | set CFLAGS=-c -nostdinc -DGNUC -I"%cd%\%INCLUDE%" |
235 | victor | 7 | set AR=ar |
8 | set ASM=fasm |
||
9 | set dirs=file mem mesys string |
||
10 | rem #### END OF CONFIG SECTION #### |
||
11 | |||
12 | set objs= |
||
13 | set target=%1 |
||
14 | if not "%1"=="clean" set target=all |
||
15 | |||
236 | victor | 16 | set INCLUDE="%cd%" |
235 | victor | 17 | call :Target_%target% |
18 | |||
19 | if ERRORLEVEL 0 goto Exit_OK |
||
20 | |||
21 | echo Probably at runing has been created error |
||
22 | echo For help send a report... |
||
23 | pause |
||
24 | goto :eof |
||
25 | |||
26 | :Compile_C |
||
236 | victor | 27 | %CC% %CFLAGS% %1 -o "%~dpn1.o" |
235 | victor | 28 | if not %errorlevel%==0 goto Error_Failed |
236 | victor | 29 | set objs=%objs% "%~dpn1.o" |
235 | victor | 30 | goto :eof |
31 | |||
32 | :Compile_Asm |
||
236 | victor | 33 | %ASM% %1 "%~dpn1.o" |
235 | victor | 34 | if not %errorlevel%==0 goto Error_Failed |
236 | victor | 35 | set objs=%objs% "%~dpn1.o" |
235 | victor | 36 | goto :eof |
37 | |||
38 | :Target_clean |
||
39 | echo cleaning ... |
||
236 | victor | 40 | for %%a in (%dirs%) do del /Q "%%a\*.o" |
235 | victor | 41 | goto :Exit_OK |
42 | |||
43 | :Target_all |
||
44 | echo building all ... |
||
45 | for %%a in (%dirs%) do ( |
||
236 | victor | 46 | for %%f in ("%%a\*.asm") do call :Compile_Asm "%%f" |
47 | for %%f in ("%%a\*.c") do call :Compile_C "%%f" |
||
235 | victor | 48 | ) |
49 | %AR% -ru %LIBNAME% %objs% |
||
50 | if not %errorlevel%==0 goto Error_Failed |
||
51 | goto Exit_OK |
||
52 | |||
53 | :Error_Failed |
||
54 | echo error: execution failed |
||
55 | pause |
||
56 | exit 1 |
||
57 | |||
58 | :Exit_OK |
||
59 | echo all operations has been done... |
||
60 | echo for cleaning run this script with param " clean" |
||
61 | pause |
||
62 | exit 0 |