4 -- This AppleScript builds Code Warrior PRO Release 2 project files for the
5 -- libjpeg library as well as the test programs 'cjpeg', 'djpeg', 'jpegtran'.
6 -- (We'd distribute real project files, except they're not text
7 -- and would create maintenance headaches.)
9 -- The script then compiles and links the library and the test programs.
10 -- NOTE: if you haven't already created a 'jconfig.h' file, the script
11 -- automatically copies 'jconfig.mac' to 'jconfig.h'.
13 -- To use this script, you must have AppleScript 1.1 or later installed
14 -- and a suitable AppleScript editor like Script Editor or Script Debugger
15 -- (http://www.latenightsw.com). Open this file with your AppleScript
16 -- editor and execute the "run" command to build the projects.
18 -- Thanks to Dan Sears and Don Agro for this script.
19 -- Questions about this script can be addressed to dogpark@interlog.com
24 choose folder with prompt ">>> Select IJG source folder <<<"
25 set ijg_folder to result
27 choose folder with prompt ">>> Select MetroWerks folder <<<"
28 set cw_folder to result
30 -- if jconfig.h doesn't already exist, copy jconfig.mac
32 tell application "Finder"
33 if not (exists file "jconfig.h" of ijg_folder) then
34 duplicate {file "jconfig.mac" of folder ijg_folder}
35 select file "jconfig.mac copy" of folder ijg_folder
36 set name of selection to "jconfig.h"
40 tell application "CodeWarrior IDE 2.1"
41 with timeout of 10000 seconds
43 -- create libjpeg project
46 Create Project (ijg_folder as string) & "libjpeg.proj"
47 Set Preferences of panel "Target Settings" to {Target Name:"libjpeg"}
48 Set Preferences of panel "PPC Project" to {File Name:"libjpeg"}
49 Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"}
50 Set Preferences of panel "PPC Project" to {Project Type:library}
51 Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true}
52 Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true}
53 Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC}
54 Set Preferences of panel "PPC Linker" to {Generate SYM File:false}
56 Add Files (ijg_folder as string) & "jcapimin.c" To Segment 1
57 Add Files (ijg_folder as string) & "jcapistd.c" To Segment 1
58 Add Files (ijg_folder as string) & "jctrans.c" To Segment 1
59 Add Files (ijg_folder as string) & "jcparam.c" To Segment 1
60 Add Files (ijg_folder as string) & "jdatadst.c" To Segment 1
61 Add Files (ijg_folder as string) & "jcinit.c" To Segment 1
62 Add Files (ijg_folder as string) & "jcmaster.c" To Segment 1
63 Add Files (ijg_folder as string) & "jcmarker.c" To Segment 1
64 Add Files (ijg_folder as string) & "jcmainct.c" To Segment 1
65 Add Files (ijg_folder as string) & "jcprepct.c" To Segment 1
66 Add Files (ijg_folder as string) & "jccoefct.c" To Segment 1
67 Add Files (ijg_folder as string) & "jccolor.c" To Segment 1
68 Add Files (ijg_folder as string) & "jcsample.c" To Segment 1
69 Add Files (ijg_folder as string) & "jchuff.c" To Segment 1
70 Add Files (ijg_folder as string) & "jcphuff.c" To Segment 1
71 Add Files (ijg_folder as string) & "jcdctmgr.c" To Segment 1
72 Add Files (ijg_folder as string) & "jfdctfst.c" To Segment 1
73 Add Files (ijg_folder as string) & "jfdctflt.c" To Segment 1
74 Add Files (ijg_folder as string) & "jfdctint.c" To Segment 1
75 Add Files (ijg_folder as string) & "jdapimin.c" To Segment 1
76 Add Files (ijg_folder as string) & "jdapistd.c" To Segment 1
77 Add Files (ijg_folder as string) & "jdtrans.c" To Segment 1
78 Add Files (ijg_folder as string) & "jdatasrc.c" To Segment 1
79 Add Files (ijg_folder as string) & "jdmaster.c" To Segment 1
80 Add Files (ijg_folder as string) & "jdinput.c" To Segment 1
81 Add Files (ijg_folder as string) & "jdmarker.c" To Segment 1
82 Add Files (ijg_folder as string) & "jdhuff.c" To Segment 1
83 Add Files (ijg_folder as string) & "jdphuff.c" To Segment 1
84 Add Files (ijg_folder as string) & "jdmainct.c" To Segment 1
85 Add Files (ijg_folder as string) & "jdcoefct.c" To Segment 1
86 Add Files (ijg_folder as string) & "jdpostct.c" To Segment 1
87 Add Files (ijg_folder as string) & "jddctmgr.c" To Segment 1
88 Add Files (ijg_folder as string) & "jidctfst.c" To Segment 1
89 Add Files (ijg_folder as string) & "jidctflt.c" To Segment 1
90 Add Files (ijg_folder as string) & "jidctint.c" To Segment 1
91 Add Files (ijg_folder as string) & "jidctred.c" To Segment 1
92 Add Files (ijg_folder as string) & "jdsample.c" To Segment 1
93 Add Files (ijg_folder as string) & "jdcolor.c" To Segment 1
94 Add Files (ijg_folder as string) & "jquant1.c" To Segment 1
95 Add Files (ijg_folder as string) & "jquant2.c" To Segment 1
96 Add Files (ijg_folder as string) & "jdmerge.c" To Segment 1
97 Add Files (ijg_folder as string) & "jcomapi.c" To Segment 1
98 Add Files (ijg_folder as string) & "jutils.c" To Segment 1
99 Add Files (ijg_folder as string) & "jerror.c" To Segment 1
100 Add Files (ijg_folder as string) & "jmemmgr.c" To Segment 1
101 Add Files (ijg_folder as string) & "jmemmac.c" To Segment 1
103 -- compile and link the library
108 -- create cjpeg project
111 Create Project (ijg_folder as string) & "cjpeg.proj"
112 Set Preferences of panel "Target Settings" to {Target Name:"cjpeg"}
113 Set Preferences of panel "PPC Project" to {File Name:"cjpeg"}
114 Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"}
115 Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true}
116 Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true}
117 Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC}
118 Set Preferences of panel "PPC Linker" to {Generate SYM File:false}
120 Add Files (ijg_folder as string) & "cjpeg.c" To Segment 1
121 Add Files (ijg_folder as string) & "rdppm.c" To Segment 1
122 Add Files (ijg_folder as string) & "rdgif.c" To Segment 1
123 Add Files (ijg_folder as string) & "rdtarga.c" To Segment 1
124 Add Files (ijg_folder as string) & "rdrle.c" To Segment 1
125 Add Files (ijg_folder as string) & "rdbmp.c" To Segment 1
126 Add Files (ijg_folder as string) & "rdswitch.c" To Segment 1
127 Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1
129 Add Files (ijg_folder as string) & "libjpeg" To Segment 2
131 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3
132 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3
133 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3
135 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4
136 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4
138 -- compile and link cjpeg
143 -- create djpeg project
146 Create Project (ijg_folder as string) & "djpeg.proj"
147 Set Preferences of panel "Target Settings" to {Target Name:"djpeg"}
148 Set Preferences of panel "PPC Project" to {File Name:"djpeg"}
149 Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"}
150 Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true}
151 Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true}
152 Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC}
153 Set Preferences of panel "PPC Linker" to {Generate SYM File:false}
155 Add Files (ijg_folder as string) & "djpeg.c" To Segment 1
156 Add Files (ijg_folder as string) & "wrppm.c" To Segment 1
157 Add Files (ijg_folder as string) & "wrgif.c" To Segment 1
158 Add Files (ijg_folder as string) & "wrtarga.c" To Segment 1
159 Add Files (ijg_folder as string) & "wrrle.c" To Segment 1
160 Add Files (ijg_folder as string) & "wrbmp.c" To Segment 1
161 Add Files (ijg_folder as string) & "rdcolmap.c" To Segment 1
162 Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1
164 Add Files (ijg_folder as string) & "libjpeg" To Segment 2
166 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3
167 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3
168 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3
170 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4
171 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4
173 -- compile and link djpeg
178 -- create jpegtran project
181 Create Project (ijg_folder as string) & "jpegtran.proj"
182 Set Preferences of panel "Target Settings" to {Target Name:"jpegtran"}
183 Set Preferences of panel "PPC Project" to {File Name:"jpegtran"}
184 Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"}
185 Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true}
186 Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true}
187 Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC}
188 Set Preferences of panel "PPC Linker" to {Generate SYM File:false}
190 Add Files (ijg_folder as string) & "jpegtran.c" To Segment 1
191 Add Files (ijg_folder as string) & "rdswitch.c" To Segment 1
192 Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1
193 Add Files (ijg_folder as string) & "transupp.c" To Segment 1
195 Add Files (ijg_folder as string) & "libjpeg" To Segment 2
197 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3
198 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3
199 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3
201 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4
202 Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4
204 -- compile and link jpegtran