| -- |
| -- makeproj.mac |
| -- |
| -- This AppleScript builds Code Warrior PRO Release 2 project files for the |
| -- libjpeg library as well as the test programs 'cjpeg', 'djpeg', 'jpegtran'. |
| -- (We'd distribute real project files, except they're not text |
| -- and would create maintenance headaches.) |
| -- |
| -- The script then compiles and links the library and the test programs. |
| -- NOTE: if you haven't already created a 'jconfig.h' file, the script |
| -- automatically copies 'jconfig.mac' to 'jconfig.h'. |
| -- |
| -- To use this script, you must have AppleScript 1.1 or later installed |
| -- and a suitable AppleScript editor like Script Editor or Script Debugger |
| -- (http://www.latenightsw.com). Open this file with your AppleScript |
| -- editor and execute the "run" command to build the projects. |
| -- |
| -- Thanks to Dan Sears and Don Agro for this script. |
| -- Questions about this script can be addressed to dogpark@interlog.com |
| -- |
| |
| on run |
| |
| choose folder with prompt ">>> Select IJG source folder <<<" |
| set ijg_folder to result |
| |
| choose folder with prompt ">>> Select MetroWerks folder <<<" |
| set cw_folder to result |
| |
| -- if jconfig.h doesn't already exist, copy jconfig.mac |
| |
| tell application "Finder" |
| if not (exists file "jconfig.h" of ijg_folder) then |
| duplicate {file "jconfig.mac" of folder ijg_folder} |
| select file "jconfig.mac copy" of folder ijg_folder |
| set name of selection to "jconfig.h" |
| end if |
| end tell |
| |
| tell application "CodeWarrior IDE 2.1" |
| with timeout of 10000 seconds |
| |
| -- create libjpeg project |
| |
| activate |
| Create Project (ijg_folder as string) & "libjpeg.proj" |
| Set Preferences of panel "Target Settings" to {Target Name:"libjpeg"} |
| Set Preferences of panel "PPC Project" to {File Name:"libjpeg"} |
| Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} |
| Set Preferences of panel "PPC Project" to {Project Type:library} |
| Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} |
| Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} |
| Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} |
| Set Preferences of panel "PPC Linker" to {Generate SYM File:false} |
| |
| Add Files (ijg_folder as string) & "jaricom.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcapimin.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcapistd.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcarith.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jctrans.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcparam.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdatadst.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcinit.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcmaster.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcmarker.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcmainct.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcprepct.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jccoefct.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jccolor.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcsample.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jchuff.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcdctmgr.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jfdctfst.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jfdctflt.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jfdctint.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdapimin.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdapistd.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdarith.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdtrans.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdatasrc.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdmaster.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdinput.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdmarker.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdhuff.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdmainct.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdcoefct.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdpostct.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jddctmgr.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jidctfst.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jidctflt.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jidctint.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdsample.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdcolor.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jquant1.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jquant2.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jdmerge.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jcomapi.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jutils.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jerror.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jmemmgr.c" To Segment 1 |
| Add Files (ijg_folder as string) & "jmemmac.c" To Segment 1 |
| |
| -- compile and link the library |
| |
| Make Project |
| Close Project |
| |
| -- create cjpeg project |
| |
| activate |
| Create Project (ijg_folder as string) & "cjpeg.proj" |
| Set Preferences of panel "Target Settings" to {Target Name:"cjpeg"} |
| Set Preferences of panel "PPC Project" to {File Name:"cjpeg"} |
| Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} |
| Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} |
| Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} |
| Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} |
| Set Preferences of panel "PPC Linker" to {Generate SYM File:false} |
| |
| Add Files (ijg_folder as string) & "cjpeg.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdppm.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdgif.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdtarga.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdrle.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdbmp.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdswitch.c" To Segment 1 |
| Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1 |
| |
| Add Files (ijg_folder as string) & "libjpeg" To Segment 2 |
| |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3 |
| |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4 |
| |
| -- compile and link cjpeg |
| |
| Make Project |
| Close Project |
| |
| -- create djpeg project |
| |
| activate |
| Create Project (ijg_folder as string) & "djpeg.proj" |
| Set Preferences of panel "Target Settings" to {Target Name:"djpeg"} |
| Set Preferences of panel "PPC Project" to {File Name:"djpeg"} |
| Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} |
| Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} |
| Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} |
| Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} |
| Set Preferences of panel "PPC Linker" to {Generate SYM File:false} |
| |
| Add Files (ijg_folder as string) & "djpeg.c" To Segment 1 |
| Add Files (ijg_folder as string) & "wrppm.c" To Segment 1 |
| Add Files (ijg_folder as string) & "wrgif.c" To Segment 1 |
| Add Files (ijg_folder as string) & "wrtarga.c" To Segment 1 |
| Add Files (ijg_folder as string) & "wrrle.c" To Segment 1 |
| Add Files (ijg_folder as string) & "wrbmp.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdcolmap.c" To Segment 1 |
| Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1 |
| |
| Add Files (ijg_folder as string) & "libjpeg" To Segment 2 |
| |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3 |
| |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4 |
| |
| -- compile and link djpeg |
| |
| Make Project |
| Close Project |
| |
| -- create jpegtran project |
| |
| activate |
| Create Project (ijg_folder as string) & "jpegtran.proj" |
| Set Preferences of panel "Target Settings" to {Target Name:"jpegtran"} |
| Set Preferences of panel "PPC Project" to {File Name:"jpegtran"} |
| Set Preferences of panel "Target Settings" to {Linker:"MacOS PPC Linker"} |
| Set Preferences of panel "C/C++ Compiler" to {ANSI Strict:true} |
| Set Preferences of panel "C/C++ Compiler" to {Enums Always Ints:true} |
| Set Preferences of panel "PPC Codegen" to {Struct Alignment:PowerPC} |
| Set Preferences of panel "PPC Linker" to {Generate SYM File:false} |
| |
| Add Files (ijg_folder as string) & "jpegtran.c" To Segment 1 |
| Add Files (ijg_folder as string) & "rdswitch.c" To Segment 1 |
| Add Files (ijg_folder as string) & "cdjpeg.c" To Segment 1 |
| Add Files (ijg_folder as string) & "transupp.c" To Segment 1 |
| |
| Add Files (ijg_folder as string) & "libjpeg" To Segment 2 |
| |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL C.PPC.Lib" To Segment 3 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:Bin:MSL SIOUX.PPC.Lib" To Segment 3 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:Runtime:Runtime PPC:MSL RuntimePPC.Lib" To Segment 3 |
| |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:InterfaceLib" To Segment 4 |
| Add Files (cw_folder as string) & "Metrowerks CodeWarrior:MacOS Support:Libraries:MacOS Common:MathLib" To Segment 4 |
| |
| -- compile and link jpegtran |
| |
| Make Project |
| Close Project |
| |
| quit |
| |
| end timeout |
| end tell |
| end run |