Rev 8079 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8079 | maxcodehac | 1 | #!/bin/bash |
2 | |||
3 | app_name=fridge |
||
4 | dir_path=/usr/local/kos32 |
||
5 | # 1 - static, 2 - dynamic. |
||
6 | compile_mode=2 |
||
7 | # for app with gui (native, windows, posix). |
||
8 | # for app with cui (console). |
||
9 | subsys_arg='native' |
||
10 | |||
11 | |||
12 | gcc_keys="-m32 -march=native -mtune=generic -std=c99 -c -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32" |
||
13 | ld_keys1="-static -nostdlib --subsystem $subsys_arg --image-base 0" |
||
14 | ld_keys2="-call_shared -nostdlib --subsystem $subsys_arg --image-base 0" |
||
15 | |||
16 | path_to_headers="$dir_path/sdk/sources/newlib/libc/include" |
||
17 | path_to_ldscript1="$dir_path/sdk/sources/newlib/static.lds" |
||
18 | path_to_ldscript2="$dir_path/sdk/sources/newlib/app-dynamic.lds" |
||
19 | path_to_libc="$dir_path/lib" |
||
20 | path_to_libgcc="$dir_path/sdk/lib" |
||
21 | |||
22 | kos32-gcc $gcc_keys -I $path_to_headers -o $app_name.o $app_name.c |
||
23 | |||
24 | case $compile_mode in |
||
8080 | maxcodehac | 25 | 1) kos32-ld $ld_keys1 -T $path_to_ldscript1 -Map=$app_name.map -L $path_to_libgcc -L $path_to_libc -o $app_name.kex $app_name.o loadlibimg.o -lc -lgcc -lc ;; |
26 | 2) kos32-ld $ld_keys2 -T $path_to_ldscript2 -Map=$app_name.map -L $path_to_libgcc -L $path_to_libc -o $app_name.kex $app_name.o loadlibimg.o -lgcc -lc.dll ;; |
||
8079 | maxcodehac | 27 | *) exit 1 ;; |
28 | esac |
||
29 | |||
30 | kos32-strip -s $app_name.kex -o $app_name.kex |
||
31 | kos32-objcopy $app_name.kex -O binary |
||
32 | rm $app_name.o |
||
33 | rm $app_name.map |
||
8080 | maxcodehac | 34 | sleep 100 |
8079 | maxcodehac | 35 | exit 0 |