little polishing of jamfiles
[k8jam.git] / 0build.sh
blob8d8fd7ca2a65a138ee38e27d2728b8a8b25b9334
1 #!/bin/sh
3 echo "building KJam..."
5 mkdir -p bin.unix 2>/dev/null
6 rm bin.unix/* 2>/dev/null
8 echo "Cc builtins.c"
9 gcc -pipe -c -o bin.unix/builtins.o -O2 builtins.c
10 echo "Cc command.c"
11 gcc -pipe -c -o bin.unix/command.o -O2 command.c
12 echo "Cc compile.c"
13 gcc -pipe -c -o bin.unix/compile.o -O2 compile.c
14 echo "Cc execunix.c"
15 gcc -pipe -c -o bin.unix/execunix.o -O2 execunix.c
16 echo "Cc fileunix.c"
17 gcc -pipe -c -o bin.unix/fileunix.o -O2 fileunix.c
18 echo "Cc pathunix.c"
19 gcc -pipe -c -o bin.unix/pathunix.o -O2 pathunix.c
20 echo "Yacc jamgram"
21 PATH="$PATH:." ./yyacc jamgram.y jamgramtab.h jamgram.yy
22 yacc -d jamgram.y
23 mv -f y.tab.c jamgram.c
24 mv -f y.tab.h jamgram.h
25 echo "Cc jamgram.c"
26 gcc -pipe -c -o bin.unix/jamgram.o -O2 jamgram.c
27 echo "Cc expand.c"
28 gcc -pipe -c -o bin.unix/expand.o -O2 expand.c
29 echo "Cc glob.c"
30 gcc -pipe -c -o bin.unix/glob.o -O2 glob.c
31 echo "Cc hash.c"
32 gcc -pipe -c -o bin.unix/hash.o -O2 hash.c
33 echo "Cc hash.c"
34 gcc -pipe -c -o bin.unix/headers.o -O2 headers.c
35 echo "Cc hash.c"
36 gcc -pipe -c -o bin.unix/lists.o -O2 lists.c
37 echo "Cc make.c"
38 gcc -pipe -c -o bin.unix/make.o -O2 make.c
39 echo "Cc make1.c"
40 gcc -pipe -c -o bin.unix/make1.o -O2 make1.c
41 echo "Cc newstr.c"
42 gcc -pipe -c -o bin.unix/newstr.o -fno-strict-aliasing -O2 newstr.c
43 echo "Cc option.c"
44 gcc -pipe -c -o bin.unix/option.o -O2 option.c
45 echo "Cc parse.c"
46 gcc -pipe -c -o bin.unix/parse.o -O2 parse.c
47 echo "Cc regexp.c"
48 gcc -pipe -c -o bin.unix/regexp.o -O2 regexp.c
49 echo "Cc rules.c"
50 gcc -pipe -c -o bin.unix/rules.o -fno-strict-aliasing -O2 rules.c
51 echo "Cc scan.c"
52 gcc -pipe -c -o bin.unix/scan.o -O2 scan.c
53 echo "Cc search.c"
54 gcc -pipe -c -o bin.unix/search.o -O2 search.c
55 echo "Cc timestamp.c"
56 gcc -pipe -c -o bin.unix/timestamp.o -fno-strict-aliasing -O2 timestamp.c
57 echo "Cc variable.c"
58 gcc -pipe -c -o bin.unix/variable.o -fno-strict-aliasing -O2 variable.c
59 echo "Cc hdrmacro.c"
60 gcc -pipe -c -o bin.unix/hdrmacro.o -fno-strict-aliasing -O2 hdrmacro.c
61 echo "Cc strings.c"
62 gcc -pipe -c -o bin.unix/strings.o -O2 strings.c
63 echo "Ar libjam.a"
64 ar ru bin.unix/libjam.a bin.unix/builtins.o bin.unix/command.o bin.unix/compile.o bin.unix/execunix.o bin.unix/fileunix.o bin.unix/pathunix.o bin.unix/jamgram.o bin.unix/expand.o bin.unix/glob.o bin.unix/hash.o bin.unix/headers.o bin.unix/lists.o bin.unix/make.o bin.unix/make1.o bin.unix/newstr.o bin.unix/option.o bin.unix/parse.o bin.unix/regexp.o bin.unix/rules.o bin.unix/scan.o bin.unix/search.o bin.unix/timestamp.o bin.unix/variable.o bin.unix/hdrmacro.o bin.unix/strings.o
65 echo "Ranlib libjam.a"
66 ranlib bin.unix/libjam.a
67 rm -f bin.unix/builtins.o bin.unix/command.o bin.unix/compile.o bin.unix/execunix.o bin.unix/fileunix.o bin.unix/pathunix.o bin.unix/jamgram.o bin.unix/expand.o bin.unix/glob.o bin.unix/hash.o bin.unix/headers.o bin.unix/lists.o bin.unix/make.o bin.unix/make1.o bin.unix/newstr.o bin.unix/option.o bin.unix/parse.o bin.unix/regexp.o bin.unix/rules.o bin.unix/scan.o bin.unix/search.o bin.unix/timestamp.o bin.unix/variable.o bin.unix/hdrmacro.o bin.unix/strings.o
68 echo "Cc mkjambase.c"
69 gcc -pipe -c -o bin.unix/mkjambase.o -O2 mkjambase.c
70 echo "Link mkjambase"
71 gcc -pipe -o bin.unix/mkjambase bin.unix/mkjambase.o
72 chmod 711 bin.unix/mkjambase
73 strip bin.unix/mkjambase
74 echo "Cc jam.c"
75 gcc -pipe -c -o bin.unix/jam.o -O2 jam.c
76 echo "preparing Jambase"
77 PATH="$PATH:." bin.unix/mkjambase jambase.c Jambase
78 echo "Cc jambase.c"
79 gcc -pipe -c -o bin.unix/jambase.o -O2 jambase.c
80 echo "Link jam"
81 gcc -pipe -o bin.unix/jam bin.unix/jam.o bin.unix/jambase.o bin.unix/libjam.a
82 chmod 711 bin.unix/jam
83 strip bin.unix/jam
85 rm bin.unix/*.o bin.unix/*.a 2>/dev/null
87 echo "KJam built"