Line # Revision Author
1 4 moose VERBOSE=0
2 ifopt --verbose VERBOSE=1
3 V="$(getoptval --verbose)"
4 do ifnot "${V}"=""
5 VERBOSE="${V}"
6 echo Verbose: ${VERBOSE}
7 done
8
9 verbose ${VERBOSE}
10
11 CLEAN=0
12 ifopt clean CLEAN=1
13 ifopt distclean CLEAN=1
14 ifopt dist DIST=1
15
16 RELEASE=disabled
17 DEBUG=enabled
18 PROFILE=disabled
19 SHARED=enabled
20 STATIC=disabled
21 FASTBUILD=disabled
22
23 AR_OPT="rcs"
24
25 CONFIG="cbuild/config.cbd"
26 APPEND_CONFIG='appendfile ${CONFIG}'
27
28 # Library base source files #
29 SRC=cube.cpp field.cpp
30
31 do ifopt --help
32 echo Available Flags:
33 echo " --reconfig (use this to override saved settings)"
34 echo " --platform=(unix|win32)"
35 echo " --prefix=<path>"
36 echo " --with-lib-dir=<path>"
37 echo " --with-include-dir=<path>"
38 echo " --with-bin-dir=<path>"
39 echo ""
40 echo " --enable-<option>"
41 echo " --disable-<option>"
42 echo ""
43 echo " Options: (default)"
44 echo " release (${RELEASE})"
45 echo " debug (${DEBUG})"
46 echo " profile (${PROFILE})"
47 echo " shared (${SHARED})"
48 echo " static (${STATIC})"
49 echo " fastbuild (${FASTBUILD})"
50 exit 0
51 done
52
53 LIB_VER=1.0
54 BASENAME=field
55
56 AGL_MIN_MAJOR=0
57 AGL_MIN_SUB=2
58 AGL_MIN_WIP=5
59
60 ifopt --reconfig rm ${CONFIG}
61
62 do ifexist ${CONFIG}
63 !invoke ${CONFIG}
64 goto start_compile
65 done
66
67 do ifnexist ${CONFIG}
68 !writefile ${CONFIG} \# detected config, delete to reconfigure, or pass --reconfig to ./cbuild.c
69 ${APPEND_CONFIG} ""
70 do ifnret 0
71 echo Warning: Failed to save config (${CONFIG})
72 done
73 done
74
75 invoke cbuild/detect-install-prefix.cbd
76 invoke cbuild/detect-platform.cbd
77 invoke cbuild/detect-versions.cbd
78 invoke cbuild/detect-options.cbd
79 invoke cbuild/detect-agl.cbd
80 invoke cbuild/fastbuild.cbd
81
82 #:start_compile
83 #exit 0
84
85 echo ""
86 echo Detected Configuration:
87 echo " Platform: ${PLAT}"
88 echo " Release build: ${RELEASE}"
89 echo " Debug build: ${DEBUG}"
90 echo " Profile build: ${PROFILE}"
91 echo " Shared build: ${SHARED}"
92 echo " Static build: ${STATIC}"
93 echo " Fast Build: ${FASTBUILD}"
94 echo " Install Prefix: ${PREFIX}"
95 echo " libs: ${LIB_PREFIX}"
96 echo " includes: ${INC_PREFIX}"
97 echo " programs: ${BIN_PREFIX}"
98 echo "AllegroGL Version: ${AGL_VERSION_STR}"
99 echo ""
100
101 OBJ_DIR=obj/${PLAT}
102 DEP_DIR=dep/${PLAT}
103 BIN_DIR=bin/${PLAT}
104
105 ifnexist dep mkdir dep
106 ifnexist ${DEP_DIR} mkdir ${DEP_DIR}
107
108 ifnexist obj mkdir obj
109 ifnexist ${OBJ_DIR} mkdir ${OBJ_DIR}
110
111 ifnexist bin mkdir bin
112 ifnexist ${BIN_DIR} mkdir ${BIN_DIR}
113
114 8 moose BASE_LDFLAGS=" -lstdc++ -lagl -lGL -lGLU"
115 4 moose BASE_CFLAGS=" -W -Wall "
116 BASE_CXXFLAGS=" -W -Wall "
117 BASE_CPPFLAGS=" -Iinclude "
118
119 DEBUG_LDFLAGS=" `allegro-config --libs` "
120 DEBUG_CPPFLAGS=" -DDEBUG -DDEBUGMODE=1 `allegro-config --cflags debug`"
121 DEBUG_CXXFLAGS=" -ggdb3 "
122 DEBUG_CFLAGS=" -ggdb3 "
123
124 RELEASE_LDFLAGS=" -s "
125 RELEASE_CPPFLAGS="`allegro-config --cflags release`"
126 RELEASE_CXXFLAGS=" -O2 "
127 RELEASE_CFLAGS=" -O2 "
128
129 SHARED_LDFLAGS=" `allegro-config --libs release --shared` "
130 SHARED_CPPFLAGS=" -DPIC "
131 SHARED_CXXFLAGS=" -fPIC "
132 SHARED_CFLAGS=" -fPIC "
133 SHARED_LIB_EXT=".so"
134
135 STATIC_LDFLAGS=" -static `allegro-config --libs release --static`"
136 STATIC_CPPFLAGS=""
137 STATIC_CXXFLAGS=""
138 STATIC_CFLAGS=""
139 STATIC_LIB_EXT=".a"
140
141 PROFILE_LDFLAGS=" -pg "
142 PROFILE_CPPFLAGS=""
143 PROFILE_CXXFLAGS=" -pg "
144 PROFILE_CFLAGS=" -pg "
145
146 CPPFLAGS="${BASE_CPPFLAGS}"
147 CFLAGS="${BASE_CFLAGS}"
148 CXXFLAGS="${BASE_CXXFLAGS}"
149 LDFLAGS="${BASE_LDFLAGS}"
150
151 ${FASTBUILD_COMMAND}
152 invoke cbuild/shared.cbd
153 invoke cbuild/static.cbd
154
155 ifopt clean goto clean
156 ifopt distclean goto distclean
157 ifopt dist goto dist
158
159 exit 0
160
161 #:clean
162 !invoke ${CONFIG}
163 echo Cleaning...
164 echo CLEAN: ${CLEAN}
165
166 do ifplat unix
167 call find . -iname \'*~\' | xargs rm -f
168 done
169
170 exit 0
171
172 #:distclean
173 !invoke config.cbd
174 echo disclean
175 goto clean
176
177 #:dist
178 rm cbuild/config.cbd
179 call tar cjvf gltest.tar.tbz2 $(addprefix ../gltest/,${SRC} cbuild.c default.cbd cbuild cube.h xgl_vector.h)