Subversion Repositories Kolibri OS

Rev

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