bugs in Jambase fixed; new vars added (for building Main in separate dirs); C++ vars...
[k8jam.git] / 0build_wine.sh
blob9161e09a7b2edde1e24e21de0b1fe9bb372af591
1 #!/bin/sh
3 #echo "MSG: KJam windoze MinGW build" ;
5 MGPATH="wine c:\\\\mingw\\\\bin\\\\"
6 MGCC="mingw32-gcc.exe"
8 CCFLAGS="-O2 -DNT -Wall"
9 CC="${MGPATH}${MGCC} -mthreads"
10 LINK="${CC} -mthreads"
11 AR="${MGPATH}ar.exe"
12 RANLIB="${MGPATH}ranlib.exe"
13 LINKLIBS="-lkernel32 -ladvapi32"
14 #LINKFLAGS="-s -Wl,-subsystem,windows"
15 LINKFLAGS="-s"
17 echo "building KJam-w32..."
19 mkdir -p bin.win32 2>/dev/null
20 rm bin.win32/* 2>/dev/null
22 echo "Cc builtins.c"
23 ${CC} -c -o bin.win32/builtins.o ${CCFLAGS} builtins.c
24 echo "Cc command.c"
25 ${CC} -c -o bin.win32/command.o ${CCFLAGS} command.c
26 echo "Cc compile.c"
27 ${CC} -c -o bin.win32/compile.o ${CCFLAGS} compile.c
28 echo "Cc execunix.c"
29 ${CC} -c -o bin.win32/execunix.o ${CCFLAGS} execunix.c
30 echo "Cc filent.c"
31 ${CC} -c -o bin.win32/filent.o ${CCFLAGS} filent.c
32 echo "Cc pathunix.c"
33 ${CC} -c -o bin.win32/pathunix.o ${CCFLAGS} pathunix.c
34 echo "Yacc jamgram"
35 PATH="$PATH:." ./yyacc jamgram.y jamgramtab.h jamgram.yy
36 yacc -d jamgram.y
37 mv -f y.tab.c jamgram.c
38 mv -f y.tab.h jamgram.h
39 echo "Cc jamgram.c"
40 ${CC} -c -o bin.win32/jamgram.o ${CCFLAGS} jamgram.c
41 echo "Cc expand.c"
42 ${CC} -c -o bin.win32/expand.o ${CCFLAGS} expand.c
43 echo "Cc glob.c"
44 ${CC} -c -o bin.win32/glob.o ${CCFLAGS} glob.c
45 echo "Cc hash.c"
46 ${CC} -c -o bin.win32/hash.o ${CCFLAGS} hash.c
47 echo "Cc headers.c"
48 ${CC} -c -o bin.win32/headers.o ${CCFLAGS} headers.c
49 echo "Cc lists.c"
50 ${CC} -c -o bin.win32/lists.o ${CCFLAGS} lists.c
51 echo "Cc make.c"
52 ${CC} -c -o bin.win32/make.o ${CCFLAGS} make.c
53 echo "Cc make1.c"
54 ${CC} -c -o bin.win32/make1.o ${CCFLAGS} make1.c
55 echo "Cc newstr.c"
56 ${CC} -c -o bin.win32/newstr.o -fno-strict-aliasing ${CCFLAGS} newstr.c
57 echo "Cc option.c"
58 ${CC} -c -o bin.win32/option.o ${CCFLAGS} option.c
59 echo "Cc parse.c"
60 ${CC} -c -o bin.win32/parse.o ${CCFLAGS} parse.c
61 echo "Cc regexp.c"
62 ${CC} -c -o bin.win32/regexp.o ${CCFLAGS} regexp.c
63 echo "Cc rules.c"
64 ${CC} -c -o bin.win32/rules.o -fno-strict-aliasing ${CCFLAGS} rules.c
65 echo "Cc scan.c"
66 ${CC} -c -o bin.win32/scan.o ${CCFLAGS} scan.c
67 echo "Cc search.c"
68 ${CC} -c -o bin.win32/search.o ${CCFLAGS} search.c
69 echo "Cc timestamp.c"
70 ${CC} -c -o bin.win32/timestamp.o -fno-strict-aliasing ${CCFLAGS} timestamp.c
71 echo "Cc variable.c"
72 ${CC} -c -o bin.win32/variable.o -fno-strict-aliasing ${CCFLAGS} variable.c
73 echo "Cc hdrmacro.c"
74 ${CC} -c -o bin.win32/hdrmacro.o -fno-strict-aliasing ${CCFLAGS} hdrmacro.c
75 echo "Cc kstrings.c"
76 ${CC} -c -o bin.win32/kstrings.o ${CCFLAGS} kstrings.c
77 echo "Ar libjam.a"
78 ${AR} ru bin.win32/libjam.a bin.win32/builtins.o bin.win32/command.o bin.win32/compile.o bin.win32/execunix.o bin.win32/filent.o bin.win32/pathunix.o bin.win32/jamgram.o bin.win32/expand.o bin.win32/glob.o bin.win32/hash.o bin.win32/headers.o bin.win32/lists.o bin.win32/make.o bin.win32/make1.o bin.win32/newstr.o bin.win32/option.o bin.win32/parse.o bin.win32/regexp.o bin.win32/rules.o bin.win32/scan.o bin.win32/search.o bin.win32/timestamp.o bin.win32/variable.o bin.win32/hdrmacro.o bin.win32/kstrings.o
79 echo "Ranlib libjam.a"
80 ${RANLIB} bin.win32/libjam.a
81 rm -f bin.win32/builtins.o bin.win32/command.o bin.win32/compile.o bin.win32/execunix.o bin.win32/filent.o bin.win32/pathunix.o bin.win32/jamgram.o bin.win32/expand.o bin.win32/glob.o bin.win32/hash.o bin.win32/headers.o bin.win32/lists.o bin.win32/make.o bin.win32/make1.o bin.win32/newstr.o bin.win32/option.o bin.win32/parse.o bin.win32/regexp.o bin.win32/rules.o bin.win32/scan.o bin.win32/search.o bin.win32/timestamp.o bin.win32/variable.o bin.win32/hdrmacro.o bin.win32/kstrings.o
83 echo "Cc mkjambase.c"
84 gcc -pipe -c -o bin.win32/mkjambase.o ${CCFLAGS} mkjambase.c
85 echo "Link mkjambase"
86 gcc -pipe -s -o bin.win32/mkjambase bin.win32/mkjambase.o
87 chmod 711 bin.win32/mkjambase
88 #strip bin.win32/mkjambase
89 echo "preparing Jambase"
90 PATH="$PATH:." bin.win32/mkjambase jambase.c Jambase
91 echo "Cc jambase.c"
92 ${CC} -c -o bin.win32/jambase.o ${CCFLAGS} jambase.c
93 rm bin.win32/mkjambase
95 echo "Cc jam.c"
96 ${CC} -c -o bin.win32/jam.o ${CCFLAGS} jam.c
97 echo "Link jam"
98 ${LINK} ${LINKFLAGS} ${LINKLIBS} -o bin.win32/jam.exe bin.win32/jam.o bin.win32/jambase.o bin.win32/libjam.a
99 chmod 711 bin.win32/jam.exe
100 #strip bin.win32/jam
102 rm bin.win32/*.o bin.win32/*.a 2>/dev/null
104 echo "KJam-w32 built"