2 |
- |
1 |
#!/bin/sh
|
|
|
2 |
|
|
|
3 |
#################################################################################################
|
|
|
4 |
# Functions
|
|
|
5 |
|
|
|
6 |
#####
|
|
|
7 |
# WriteXMLHeader writes the beginning of the XML project file
|
|
|
8 |
#####
|
|
|
9 |
WriteXMLHeader()
|
|
|
10 |
{
|
|
|
11 |
echo "<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>"
|
|
|
12 |
echo "<?codewarrior exportversion="1.0.1" ideversion="4.1" ?>"
|
|
|
13 |
echo ""
|
|
|
14 |
echo "<!DOCTYPE PROJECT ["
|
|
|
15 |
echo "<!ELEMENT PROJECT (TARGETLIST, TARGETORDER, GROUPLIST, DESIGNLIST?)>"
|
|
|
16 |
echo "<!ELEMENT TARGETLIST (TARGET+)>"
|
|
|
17 |
echo "<!ELEMENT TARGET (NAME, SETTINGLIST, FILELIST?, LINKORDER?, SEGMENTLIST?, OVERLAYGROUPLIST?, SUBTARGETLIST?, SUBPROJECTLIST?)>"
|
|
|
18 |
echo "<!ELEMENT NAME (#PCDATA)>"
|
|
|
19 |
echo "<!ELEMENT USERSOURCETREETYPE (#PCDATA)>"
|
|
|
20 |
echo "<!ELEMENT PATH (#PCDATA)>"
|
|
|
21 |
echo "<!ELEMENT FILELIST (FILE*)>"
|
|
|
22 |
echo "<!ELEMENT FILE (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?, ROOTFILEREF?, FILEKIND?, FILEFLAGS?)>"
|
|
|
23 |
echo "<!ELEMENT PATHTYPE (#PCDATA)>"
|
|
|
24 |
echo "<!ELEMENT PATHROOT (#PCDATA)>"
|
|
|
25 |
echo "<!ELEMENT ACCESSPATH (#PCDATA)>"
|
|
|
26 |
echo "<!ELEMENT PATHFORMAT (#PCDATA)>"
|
|
|
27 |
echo "<!ELEMENT ROOTFILEREF (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>"
|
|
|
28 |
echo "<!ELEMENT FILEKIND (#PCDATA)>"
|
|
|
29 |
echo "<!ELEMENT FILEFLAGS (#PCDATA)>"
|
|
|
30 |
echo "<!ELEMENT FILEREF (TARGETNAME?, PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>"
|
|
|
31 |
echo "<!ELEMENT TARGETNAME (#PCDATA)>"
|
|
|
32 |
echo "<!ELEMENT SETTINGLIST ((SETTING|PANELDATA)+)>"
|
|
|
33 |
echo "<!ELEMENT SETTING (NAME?, (VALUE|(SETTING+)))>"
|
|
|
34 |
echo "<!ELEMENT PANELDATA (NAME, VALUE)>"
|
|
|
35 |
echo "<!ELEMENT VALUE (#PCDATA)>"
|
|
|
36 |
echo "<!ELEMENT LINKORDER (FILEREF*)>"
|
|
|
37 |
echo "<!ELEMENT SEGMENTLIST (SEGMENT+)>"
|
|
|
38 |
echo "<!ELEMENT SEGMENT (NAME, ATTRIBUTES?, FILEREF*)>"
|
|
|
39 |
echo "<!ELEMENT ATTRIBUTES (#PCDATA)>"
|
|
|
40 |
echo "<!ELEMENT OVERLAYGROUPLIST (OVERLAYGROUP+)>"
|
|
|
41 |
echo "<!ELEMENT OVERLAYGROUP (NAME, BASEADDRESS, OVERLAY*)>"
|
|
|
42 |
echo "<!ELEMENT BASEADDRESS (#PCDATA)>"
|
|
|
43 |
echo "<!ELEMENT OVERLAY (NAME, FILEREF*)>"
|
|
|
44 |
echo "<!ELEMENT SUBTARGETLIST (SUBTARGET+)>"
|
|
|
45 |
echo "<!ELEMENT SUBTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>"
|
|
|
46 |
echo "<!ELEMENT SUBPROJECTLIST (SUBPROJECT+)>"
|
|
|
47 |
echo "<!ELEMENT SUBPROJECT (FILEREF, SUBPROJECTTARGETLIST)>"
|
|
|
48 |
echo "<!ELEMENT SUBPROJECTTARGETLIST (SUBPROJECTTARGET*)>"
|
|
|
49 |
echo "<!ELEMENT SUBPROJECTTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>"
|
|
|
50 |
echo "<!ELEMENT TARGETORDER (ORDEREDTARGET|ORDEREDDESIGN)*>"
|
|
|
51 |
echo "<!ELEMENT ORDEREDTARGET (NAME)>"
|
|
|
52 |
echo "<!ELEMENT ORDEREDDESIGN (NAME, ORDEREDTARGET+)>"
|
|
|
53 |
echo "<!ELEMENT GROUPLIST (GROUP|FILEREF)*>"
|
|
|
54 |
echo "<!ELEMENT GROUP (NAME, (GROUP|FILEREF)*)>"
|
|
|
55 |
echo "<!ELEMENT DESIGNLIST (DESIGN+)>"
|
|
|
56 |
echo "<!ELEMENT DESIGN (NAME, DESIGNDATA)>"
|
|
|
57 |
echo "<!ELEMENT DESIGNDATA (#PCDATA)>"
|
|
|
58 |
echo "]>"
|
|
|
59 |
echo ""
|
|
|
60 |
}
|
|
|
61 |
|
|
|
62 |
#####
|
|
|
63 |
# WriteFILE generates a complete <FILE>...</FILE> entry
|
|
|
64 |
#####
|
|
|
65 |
WriteFILE()
|
|
|
66 |
{
|
|
|
67 |
echo "<FILE>"
|
|
|
68 |
echo " <PATHTYPE>Name</PATHTYPE>"
|
|
|
69 |
echo " <PATH>$1</PATH>"
|
|
|
70 |
echo " <PATHFORMAT>MacOS</PATHFORMAT>"
|
|
|
71 |
echo " <FILEKIND>Text</FILEKIND>"
|
|
|
72 |
echo " <FILEFLAGS>Debug</FILEFLAGS>"
|
|
|
73 |
echo "</FILE>"
|
|
|
74 |
}
|
|
|
75 |
|
|
|
76 |
#####
|
|
|
77 |
# WriteFILEREF generates a complete <FILEREF>...</FILEREF> entry
|
|
|
78 |
#####
|
|
|
79 |
WriteFILEREF()
|
|
|
80 |
{
|
|
|
81 |
echo "<FILEREF>"
|
|
|
82 |
if [ $# -ge 2 ]; then
|
|
|
83 |
echo " <TARGETNAME>$2</TARGETNAME>"
|
|
|
84 |
fi
|
|
|
85 |
echo " <PATHTYPE>Name</PATHTYPE>"
|
|
|
86 |
echo " <PATH>$1</PATH>"
|
|
|
87 |
echo " <PATHFORMAT>MacOS</PATHFORMAT>"
|
|
|
88 |
echo "</FILEREF>"
|
|
|
89 |
}
|
|
|
90 |
|
|
|
91 |
|
|
|
92 |
#####
|
|
|
93 |
# WriteValueSetting generates a complete value entry
|
|
|
94 |
#####
|
|
|
95 |
WriteValueSetting()
|
|
|
96 |
{
|
|
|
97 |
SETTINGNAME=$1
|
|
|
98 |
VALUE=$2
|
|
|
99 |
|
|
|
100 |
echo "<SETTING><NAME>$SETTINGNAME</NAME><VALUE>$VALUE</VALUE></SETTING>"
|
|
|
101 |
}
|
|
|
102 |
|
|
|
103 |
|
|
|
104 |
|
|
|
105 |
#####
|
|
|
106 |
# WritePathSetting generates a complete path entry
|
|
|
107 |
#####
|
|
|
108 |
WritePathSetting()
|
|
|
109 |
{
|
|
|
110 |
SETTINGNAME=$1
|
|
|
111 |
PATH=$2
|
|
|
112 |
PATHFORMAT=$3
|
|
|
113 |
PATHROOT=$4
|
|
|
114 |
|
|
|
115 |
echo "<SETTING>"
|
|
|
116 |
echo "<SETTING><NAME>$SETTINGNAME</NAME>"
|
|
|
117 |
echo "<SETTING><NAME>Path</NAME><VALUE>$PATH</VALUE></SETTING>"
|
|
|
118 |
echo "<SETTING><NAME>PathFormat</NAME><VALUE>$PATHFORMAT</VALUE></SETTING>"
|
|
|
119 |
echo "<SETTING><NAME>PathRoot</NAME><VALUE>$PATHROOT</VALUE></SETTING>"
|
|
|
120 |
echo "</SETTING>"
|
|
|
121 |
echo "<SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>"
|
|
|
122 |
echo "<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>"
|
|
|
123 |
echo "</SETTING>"
|
|
|
124 |
}
|
|
|
125 |
|
|
|
126 |
#####
|
|
|
127 |
# WriteSETTINGLIST generates a complete <SETTINGLIST>...</SETTINGLIST> entry
|
|
|
128 |
#####
|
|
|
129 |
WriteSETTINGLIST()
|
|
|
130 |
{
|
|
|
131 |
TARGETNAME=$1
|
|
|
132 |
OUTPUTNAME=$2
|
|
|
133 |
|
|
|
134 |
echo "<SETTINGLIST>"
|
|
|
135 |
|
|
|
136 |
echo "<!-- Settings for "Target Settings" panel -->"
|
|
|
137 |
WriteValueSetting Linker "MacOS PPC Linker"
|
|
|
138 |
WriteValueSetting PreLinker ""
|
|
|
139 |
WriteValueSetting PostLinker ""
|
|
|
140 |
WriteValueSetting Targetname "$TARGETNAME"
|
|
|
141 |
echo "<SETTING><NAME>OutputDirectory</NAME>"
|
|
|
142 |
echo "<SETTING><NAME>Path</NAME><VALUE>:Output:</VALUE></SETTING>"
|
|
|
143 |
echo "<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>"
|
|
|
144 |
echo "<SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>"
|
|
|
145 |
echo "</SETTING>"
|
|
|
146 |
WriteValueSetting SaveEntriesUsingRelativePaths false
|
|
|
147 |
|
|
|
148 |
echo "<!-- Settings for "Access Paths" panel -->"
|
|
|
149 |
WriteValueSetting AlwaysSearchUserPaths false
|
|
|
150 |
WriteValueSetting InterpretDOSAndUnixPaths true
|
|
|
151 |
echo "<SETTING><NAME>UserSearchPaths</NAME>"
|
|
|
152 |
WritePathSetting SearchPath ":src:" MacOS Project
|
|
|
153 |
WritePathSetting SearchPath ":obj:" MacOS Project
|
|
|
154 |
WritePathSetting SearchPath ":" MacOS Project
|
|
|
155 |
echo "</SETTING>"
|
|
|
156 |
echo "<SETTING><NAME>SystemSearchPaths</NAME>"
|
|
|
157 |
WritePathSetting SearchPath ":jbig2dec:" MacOS Project
|
|
|
158 |
WritePathSetting SearchPath ":jasper/src/libjasper/include:" MacOS Project
|
|
|
159 |
WritePathSetting SearchPath ":obj:" MacOS Project
|
|
|
160 |
WritePathSetting SearchPath ":MacOS Support:" MacOS CodeWarrior
|
|
|
161 |
WritePathSetting SearchPath ":MSL:MSL_C" MacOS CodeWarrior
|
|
|
162 |
WritePathSetting SearchPath ":" MacOS CodeWarrior
|
|
|
163 |
WritePathSetting SearchPath ":" MacOS Project
|
|
|
164 |
echo "</SETTING>"
|
|
|
165 |
|
|
|
166 |
echo "<!-- Settings for "Build Extras" panel -->"
|
|
|
167 |
WriteValueSetting CacheModDates true
|
|
|
168 |
WriteValueSetting ActivateBrowser true
|
|
|
169 |
WriteValueSetting DumpBrowserInfo false
|
|
|
170 |
WriteValueSetting CacheSubprojects true
|
|
|
171 |
|
|
|
172 |
echo "<!-- Settings for "PPC Project" panel -->"
|
|
|
173 |
WriteValueSetting MWProject_PPC_type SharedLibrary
|
|
|
174 |
WriteValueSetting MWProject_PPC_outfile "$OUTPUTNAME"
|
|
|
175 |
WriteValueSetting MWProject_PPC_filecreator 1061109567
|
|
|
176 |
WriteValueSetting MWProject_PPC_filetype 1936223330
|
|
|
177 |
WriteValueSetting MWProject_PPC_size 0
|
|
|
178 |
WriteValueSetting MWProject_PPC_minsize 0
|
|
|
179 |
WriteValueSetting MWProject_PPC_stacksize 0
|
|
|
180 |
WriteValueSetting MWProject_PPC_flags 0
|
|
|
181 |
WriteValueSetting MWProject_PPC_symfilename ""
|
|
|
182 |
WriteValueSetting MWProject_PPC_rsrcname ""
|
|
|
183 |
WriteValueSetting MWProject_PPC_rsrcheader Native
|
|
|
184 |
WriteValueSetting MWProject_PPC_rsrctype 1061109567
|
|
|
185 |
WriteValueSetting MWProject_PPC_rsrcid 0
|
|
|
186 |
WriteValueSetting MWProject_PPC_rsrcflags 0
|
|
|
187 |
WriteValueSetting MWProject_PPC_rsrcstore 0
|
|
|
188 |
WriteValueSetting MWProject_PPC_rsrcmerge 0
|
|
|
189 |
|
|
|
190 |
echo "<!-- Settings for "C/C++ Compiler" panel -->"
|
|
|
191 |
WriteValueSetting MWFrontEnd_C_cplusplus 0
|
|
|
192 |
WriteValueSetting MWFrontEnd_C_checkprotos 0
|
|
|
193 |
WriteValueSetting MWFrontEnd_C_arm 0
|
|
|
194 |
WriteValueSetting MWFrontEnd_C_trigraphs 0
|
|
|
195 |
WriteValueSetting MWFrontEnd_C_onlystdkeywords 0
|
|
|
196 |
WriteValueSetting MWFrontEnd_C_enumsalwaysint 0
|
|
|
197 |
WriteValueSetting MWFrontEnd_C_mpwpointerstyle 1
|
|
|
198 |
|
|
|
199 |
# install the carbon prefix file for carbon targets
|
|
|
200 |
if test "$OUTPUTNAME" = "GhostscriptLib Carbon"; then
|
|
|
201 |
if test "$TARGETNAME" = "GhostscriptLib Carbon (Debug)"; then
|
|
|
202 |
WriteValueSetting MWFrontEnd_C_prefixname macos_carbon_d_pre.h
|
|
|
203 |
else
|
|
|
204 |
WriteValueSetting MWFrontEnd_C_prefixname macos_carbon_pre.h
|
|
|
205 |
fi
|
|
|
206 |
else
|
|
|
207 |
if test "$TARGETNAME" = "GhostscriptLib PPC (Debug)"; then
|
|
|
208 |
WriteValueSetting MWFrontEnd_C_prefixname macos_classic_d_pre.h
|
|
|
209 |
else
|
|
|
210 |
WriteValueSetting MWFrontEnd_C_prefixname
|
|
|
211 |
fi
|
|
|
212 |
fi
|
|
|
213 |
|
|
|
214 |
WriteValueSetting MWFrontEnd_C_ansistrict 0
|
|
|
215 |
WriteValueSetting MWFrontEnd_C_mpwcnewline 0
|
|
|
216 |
WriteValueSetting MWFrontEnd_C_wchar_type 1
|
|
|
217 |
WriteValueSetting MWFrontEnd_C_enableexceptions 0
|
|
|
218 |
WriteValueSetting MWFrontEnd_C_dontreusestrings 0
|
|
|
219 |
WriteValueSetting MWFrontEnd_C_poolstrings 0
|
|
|
220 |
WriteValueSetting MWFrontEnd_C_dontinline 1
|
|
|
221 |
WriteValueSetting MWFrontEnd_C_useRTTI 0
|
|
|
222 |
WriteValueSetting MWFrontEnd_C_multibyteaware 0
|
|
|
223 |
WriteValueSetting MWFrontEnd_C_unsignedchars 0
|
|
|
224 |
WriteValueSetting MWFrontEnd_C_autoinline 0
|
|
|
225 |
WriteValueSetting MWFrontEnd_C_booltruefalse 0
|
|
|
226 |
WriteValueSetting MWFrontEnd_C_direct_to_som 0
|
|
|
227 |
WriteValueSetting MWFrontEnd_C_som_env_check 0
|
|
|
228 |
WriteValueSetting MWFrontEnd_C_alwaysinline 0
|
|
|
229 |
WriteValueSetting MWFrontEnd_C_inlinelevel 0
|
|
|
230 |
WriteValueSetting MWFrontEnd_C_ecplusplus 0
|
|
|
231 |
WriteValueSetting MWFrontEnd_C_objective_c 0
|
|
|
232 |
WriteValueSetting MWFrontEnd_C_defer_codegen 0
|
|
|
233 |
|
|
|
234 |
echo "<!-- Settings for "C/C++ Warnings" panel -->"
|
|
|
235 |
WriteValueSetting MWWarning_C_warn_illpragma 1
|
|
|
236 |
WriteValueSetting MWWarning_C_warn_emptydecl 0
|
|
|
237 |
WriteValueSetting MWWarning_C_warn_possunwant 0
|
|
|
238 |
WriteValueSetting MWWarning_C_warn_unusedvar 1
|
|
|
239 |
WriteValueSetting MWWarning_C_warn_unusedarg 0
|
|
|
240 |
WriteValueSetting MWWarning_C_warn_extracomma 1
|
|
|
241 |
WriteValueSetting MWWarning_C_pedantic 1
|
|
|
242 |
WriteValueSetting MWWarning_C_warningerrors 0
|
|
|
243 |
WriteValueSetting MWWarning_C_warn_hidevirtual 1
|
|
|
244 |
WriteValueSetting MWWarning_C_warn_implicitconv 0
|
|
|
245 |
WriteValueSetting MWWarning_C_warn_notinlined 0
|
|
|
246 |
WriteValueSetting MWWarning_C_warn_structclass 0
|
|
|
247 |
|
|
|
248 |
echo "<!-- Settings for "PPC CodeGen" panel -->"
|
|
|
249 |
WriteValueSetting MWCodeGen_PPC_structalignment PPC
|
|
|
250 |
WriteValueSetting MWCodeGen_PPC_tracebacktables Inline
|
|
|
251 |
WriteValueSetting MWCodeGen_PPC_processor Generic
|
|
|
252 |
WriteValueSetting MWCodeGen_PPC_readonlystrings 0
|
|
|
253 |
WriteValueSetting MWCodeGen_PPC_tocdata 1
|
|
|
254 |
WriteValueSetting MWCodeGen_PPC_profiler 0
|
|
|
255 |
WriteValueSetting MWCodeGen_PPC_fpcontract 0
|
|
|
256 |
WriteValueSetting MWCodeGen_PPC_schedule 1
|
|
|
257 |
WriteValueSetting MWCodeGen_PPC_peephole 1
|
|
|
258 |
WriteValueSetting MWCodeGen_PPC_processorspecific 0
|
|
|
259 |
WriteValueSetting MWCodeGen_PPC_altivec 0
|
|
|
260 |
WriteValueSetting MWCodeGen_PPC_vectortocdata 0
|
|
|
261 |
WriteValueSetting MWCodeGen_PPC_vrsave 0
|
|
|
262 |
|
|
|
263 |
echo "<!-- Settings for "PPC Global Optimizer" panel -->"
|
|
|
264 |
WriteValueSetting GlobalOptimizer_PPC_optimizationlevel Level0
|
|
|
265 |
WriteValueSetting GlobalOptimizer_PPC_optfor Speed
|
|
|
266 |
|
|
|
267 |
echo "<!-- Settings for "PPC Linker" panel -->"
|
|
|
268 |
WriteValueSetting MWLinker_PPC_linksym 1
|
|
|
269 |
WriteValueSetting MWLinker_PPC_symfullpath 1
|
|
|
270 |
WriteValueSetting MWLinker_PPC_linkmap 0
|
|
|
271 |
WriteValueSetting MWLinker_PPC_nolinkwarnings 0
|
|
|
272 |
WriteValueSetting MWLinker_PPC_dontdeadstripinitcode 0
|
|
|
273 |
WriteValueSetting MWLinker_PPC_permitmultdefs 0
|
|
|
274 |
WriteValueSetting MWLinker_PPC_linkmode Fast
|
|
|
275 |
WriteValueSetting MWLinker_PPC_initname "__initialize"
|
|
|
276 |
WriteValueSetting MWLinker_PPC_mainname ""
|
|
|
277 |
WriteValueSetting MWLinker_PPC_termname "__terminate"
|
|
|
278 |
|
|
|
279 |
echo "<!-- Settings for "PPC PEF" panel -->"
|
|
|
280 |
WriteValueSetting MWPEF_exports Pragma
|
|
|
281 |
WriteValueSetting MWPEF_libfolder 0
|
|
|
282 |
WriteValueSetting MWPEF_sortcode None
|
|
|
283 |
WriteValueSetting MWPEF_expandbss 0
|
|
|
284 |
WriteValueSetting MWPEF_sharedata 0
|
|
|
285 |
WriteValueSetting MWPEF_olddefversion 0
|
|
|
286 |
WriteValueSetting MWPEF_oldimpversion 0
|
|
|
287 |
WriteValueSetting MWPEF_currentversion 0
|
|
|
288 |
WriteValueSetting MWPEF_fragmentname ""
|
|
|
289 |
WriteValueSetting MWPEF_collapsereloads 0
|
|
|
290 |
|
|
|
291 |
echo "</SETTINGLIST>"
|
|
|
292 |
}
|
|
|
293 |
|
|
|
294 |
|
|
|
295 |
#####
|
|
|
296 |
# WriteTARGET generates a complete <TARGET>...</TARGET> entry
|
|
|
297 |
#####
|
|
|
298 |
WriteTARGET()
|
|
|
299 |
{
|
|
|
300 |
TARGETNAME=$1
|
|
|
301 |
OUTPUTNAME=$2
|
|
|
302 |
shift 2
|
|
|
303 |
|
|
|
304 |
echo "<TARGET>"
|
|
|
305 |
|
|
|
306 |
echo "<NAME>$TARGETNAME</NAME>"
|
|
|
307 |
|
|
|
308 |
WriteSETTINGLIST "$TARGETNAME" "$OUTPUTNAME"
|
|
|
309 |
|
|
|
310 |
echo "<FILELIST>"
|
|
|
311 |
for file in "$@"; do
|
|
|
312 |
WriteFILE "$file"
|
|
|
313 |
done
|
|
|
314 |
echo "</FILELIST>"
|
|
|
315 |
|
|
|
316 |
echo "<LINKORDER>"
|
|
|
317 |
for file in "$@"; do
|
|
|
318 |
WriteFILEREF "$file"
|
|
|
319 |
done
|
|
|
320 |
echo "</LINKORDER>"
|
|
|
321 |
|
|
|
322 |
echo "</TARGET>"
|
|
|
323 |
}
|
|
|
324 |
|
|
|
325 |
|
|
|
326 |
#####
|
|
|
327 |
# WriteGROUP generates a complete <GROUP>...</GROUP> entry
|
|
|
328 |
#####
|
|
|
329 |
WriteGROUP()
|
|
|
330 |
{
|
|
|
331 |
GROUPNAME=$1
|
|
|
332 |
TARGETNAME=$2
|
|
|
333 |
shift 2
|
|
|
334 |
|
|
|
335 |
echo "<GROUP><NAME>$GROUPNAME</NAME>"
|
|
|
336 |
|
|
|
337 |
for file in "$@"; do
|
|
|
338 |
WriteFILEREF "$file" "$TARGETNAME"
|
|
|
339 |
done
|
|
|
340 |
|
|
|
341 |
echo "</GROUP>"
|
|
|
342 |
}
|
|
|
343 |
|
|
|
344 |
|
|
|
345 |
#################################################################################################
|
|
|
346 |
# the start of the script
|
|
|
347 |
|
|
|
348 |
#####
|
|
|
349 |
# first create a list of .c files that will be part of the project, we need it several times
|
|
|
350 |
#####
|
|
|
351 |
|
|
|
352 |
CFILES=
|
|
|
353 |
while [ $# -ge 1 ]; do
|
|
|
354 |
case $1 in
|
|
|
355 |
\\);;
|
|
|
356 |
*.o)
|
|
|
357 |
# strip path before file name and convert .o to .c, then append file name to CFILES
|
|
|
358 |
CFILES=$CFILES\ `echo $1 | sed -e 's/\.\/.*\///' -e 's/\.\///' -e 's/\.o/\.c/'`
|
|
|
359 |
;;
|
|
|
360 |
esac
|
|
|
361 |
shift
|
|
|
362 |
done
|
|
|
363 |
|
|
|
364 |
# libs for codewarrior 6
|
|
|
365 |
#LIBS="console.stubs.c MSL\ ShLibRuntime.Lib MSL\ RuntimePPC.Lib"
|
|
|
366 |
#CLASSICLIBS="MSL\ C.PPC.Lib InterfaceLib FontManager MathLib"
|
|
|
367 |
|
|
|
368 |
# libs for codewarrior 7 & 8
|
|
|
369 |
LIBS=""
|
|
|
370 |
CARBONLIBS="MSL_All_Carbon.Lib CarbonLib"
|
|
|
371 |
CLASSICLIBS="MSL_All_PPC.Lib InterfaceLib FontManager MathLib"
|
|
|
372 |
CLASSICLIBS="$CLASSICLIBS TextCommon UnicodeConverter UTCUtils"
|
|
|
373 |
|
|
|
374 |
#####
|
|
|
375 |
#
|
|
|
376 |
#####
|
|
|
377 |
|
|
|
378 |
GSNAME="GhostscriptLib"
|
|
|
379 |
CLASSICGSNAME="$GSNAME PPC"
|
|
|
380 |
CARBONGSNAME="$GSNAME Carbon"
|
|
|
381 |
CLASSICDEBUGTARGETNAME="$CLASSICGSNAME (Debug)"
|
|
|
382 |
CLASSICFINALTARGETNAME="$CLASSICGSNAME (Final)"
|
|
|
383 |
CARBONDEBUGTARGETNAME="$CARBONGSNAME (Debug)"
|
|
|
384 |
CARBONFINALTARGETNAME="$CARBONGSNAME (Final)"
|
|
|
385 |
|
|
|
386 |
WriteXMLHeader
|
|
|
387 |
|
|
|
388 |
echo "<PROJECT>"
|
|
|
389 |
|
|
|
390 |
echo "<TARGETLIST>"
|
|
|
391 |
WriteTARGET "$CARBONDEBUGTARGETNAME" "$CARBONGSNAME" $CFILES $LIBS $CARBONLIBS
|
|
|
392 |
WriteTARGET "$CLASSICDEBUGTARGETNAME" "$CLASSICGSNAME" $CFILES $LIBS $CLASSICLIBS
|
|
|
393 |
echo "</TARGETLIST>"
|
|
|
394 |
|
|
|
395 |
echo "<TARGETORDER>"
|
|
|
396 |
echo "<ORDEREDTARGET><NAME>$CARBONDEBUGTARGETNAME</NAME></ORDEREDTARGET>"
|
|
|
397 |
echo "<ORDEREDTARGET><NAME>$CLASSICDEBUGTARGETNAME</NAME></ORDEREDTARGET>"
|
|
|
398 |
echo "</TARGETORDER>"
|
|
|
399 |
|
|
|
400 |
echo "<GROUPLIST>"
|
|
|
401 |
WriteGROUP "Ghostscript Sources" "$CARBONDEBUGTARGETNAME" $CFILES
|
|
|
402 |
# WriteGROUP "Libraries" "$CARBONDEBUGTARGETNAME" $LIBS $CARBONLIBS $CLASSICLIBS
|
|
|
403 |
# WriteGROUP "Libraries" "$CARBONDEBUGTARGETNAME" "console.stubs.c" "MSL ShLibRuntime.Lib" "MSL RuntimePPC.Lib" "MSL C.Carbon.Lib" "CarbonLib" "MSL C.PPC.Lib" "InterfaceLib" "FontManager" "MathLib"
|
|
|
404 |
|
|
|
405 |
# nb: this code doesn't work if there are spaces in the library filenames
|
|
|
406 |
echo "<GROUP><NAME>Libraries</NAME>"
|
|
|
407 |
for lib in $LIBS; do
|
|
|
408 |
WriteFILEREF "$lib" "$CARBONDEBUGTARGETNAME"
|
|
|
409 |
WriteFILEREF "$lib" "$CLASSICDEBUGTARGETNAME"
|
|
|
410 |
done
|
|
|
411 |
for lib in $CARBONLIBS; do
|
|
|
412 |
WriteFILEREF "$lib" "$CARBONDEBUGTARGETNAME"
|
|
|
413 |
done
|
|
|
414 |
for lib in $CLASSICLIBS; do
|
|
|
415 |
WriteFILEREF "$lib" "$CLASSICDEBUGTARGETNAME"
|
|
|
416 |
done
|
|
|
417 |
echo "</GROUP>"
|
|
|
418 |
|
|
|
419 |
echo "</GROUPLIST>"
|
|
|
420 |
|
|
|
421 |
echo "</PROJECT>"
|
|
|
422 |
|
|
|
423 |
exit 0
|