lxrgmr
[build-config.git] / src / config / lxrgmr-code / build.sh
blob545f2494853fca94ba9f41265ff73c6e26632719
1 #!/bin/sh
3 mkdir -pv .obj
5 flag=0
6 if [[ build.sh -nt lxr/script.l || build.sh -nt config.l ]]; then
7 flag=1
8 fi
10 echo util.c gcc compile ...
11 if [[ $flag == 1 || ! -f .obj/util.o || -f util.c && util.c -nt .obj/util.o ]]; then
12 gcc -O2 -I../ -c util.c -o .obj/util.o
13 [[ $? != 0 ]] && echo "gcc compile (.obj/util.o) failed." && exit
14 size .obj/util.o
17 echo QStack.c gcc compile ...
18 if [[ $flag == 1 || ! -f .obj/QStack.o || -f QStack.c && QStack.c -nt .obj/QStack.o ]]; then
19 gcc -O2 -I../ -c QStack.c -o .obj/QStack.o
20 [[ $? != 0 ]] && echo "gcc compile (.obj/QStack.o) failed." && exit
21 size .obj/QStack.o
24 echo lxr/script.l flex compile ...
25 if [[ $flag == 1 || ! -f lxr/script.lex.c || -f lxr/script.l && lxr/script.l -nt lxr/script.lex.c ]]; then
26 flex -o lxr/script.lex.c lxr/script.l
27 [[ $? != 0 ]] && echo "flex compile (lxr/script.l) failed." && exit
30 #echo config.l flex compile ...
31 #if [[ $flag == 1 || ! -f config.lex.c || -f config.l && config.l -nt config.lex.c ]]; then
32 # flex -o config.lex.c config.l
33 # [[ $? != 0 ]] && echo "flex compile (config.l) failed." && exit
34 # echo "set 'yy' to 'config_yy' in config.lex.c, config.lexdecl.c config.lexproc.c."
35 # sed "s/yy/cfg_yy/g" -i config.lex.c
36 # sed "s/yy/cfg_yy/g" -i config.lexdecl.c
37 # sed "s/yy/cfg_yy/g" -i config.lexproc.c
38 #fi
40 echo lxr/script.lex.c gcc compile ...
41 if [[ $flag == 1 || ! -f .obj/script.lex.o || -f lxr/script.lex.c && lxr/script.lex.c -nt .obj/script.lex.o ]]; then
42 gcc -O2 -I../ -c lxr/script.lex.c -o .obj/script.lex.o
43 [[ $? != 0 ]] && echo "gcc compile (.obj/script.lex.o) failed." && exit
44 size .obj/script.lex.o
47 #echo config.lex.c gcc compile ...
48 #if [[ $flag == 1 || ! -f .obj/config.lex.o || -f config.lex.c && config.lex.c -nt .obj/config.lex.o ]]; then
49 # gcc -O2 -I../ -c config.lex.c -o .obj/config.lex.o
50 # [[ $? != 0 ]] && echo "gcc compile (.obj/config.lex.o) failed." && exit
51 # size .obj/config.lex.o
52 #fi
55 echo token_id.c gcc compile ...
56 if [[ $flag == 1 || ! -f .obj/token_id.o || -f token_id.c && token_id.c -nt .obj/token_id.o ]]; then
57 gcc -O2 -I../ -c token_id.c -o .obj/token_id.o
58 [[ $? != 0 ]] && echo "gcc compile (.obj/token_id.o) failed." && exit
59 size .obj/token_id.o
62 echo lxrgmr gcc link ...
63 # config.lex.c -nt .obj/config.lex.o &&
64 # -f .obj/config.lex.o &&
65 if [[ $flag == 1 || ! -f lxrgmr ||
66 -f .obj/util.o &&
67 .obj/util.o -nt lxrgmr &&
68 -f .obj/QStack.o &&
69 .obj/QStack.o -nt lxrgmr &&
70 -f .obj/token_id.o &&
71 .obj/token_id.o -nt lxrgmr &&
72 -f .obj/script.lex.o &&
73 .obj/script.lex.o -nt lxrgmr ]]; then
74 gcc -O2 .obj/util.o .obj/QStack.o .obj/script.lex.o .obj/token_id.o -o lxrgmr
75 [[ $? != 0 ]] && echo "gcc link (lxrgmr) failed." && exit
76 size lxrgmr