src/3rdparty/libjpeg/makeproj.mac
changeset 30 5dc02b23752f
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
       
     1 --
       
     2 -- makeproj.mac
       
     3 --
       
     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.)
       
     8 --
       
     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'.
       
    12 --
       
    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.
       
    17 --
       
    18 -- Thanks to Dan Sears and Don Agro for this script.
       
    19 -- Questions about this script can be addressed to dogpark@interlog.com
       
    20 --
       
    21 
       
    22 on run
       
    23 
       
    24 	choose folder with prompt ">>> Select IJG source folder <<<"
       
    25 	set ijg_folder to result
       
    26 
       
    27 	choose folder with prompt ">>> Select MetroWerks folder <<<"
       
    28 	set cw_folder to result
       
    29 
       
    30 	-- if jconfig.h doesn't already exist, copy jconfig.mac
       
    31 
       
    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"
       
    37 		end if
       
    38 	end tell
       
    39 
       
    40 	tell application "CodeWarrior IDE 2.1"
       
    41 	  with timeout of 10000 seconds
       
    42 
       
    43 		-- create libjpeg project
       
    44 
       
    45 		activate
       
    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}
       
    55 
       
    56 		Add Files (ijg_folder as string) & "jaricom.c" To Segment 1
       
    57 		Add Files (ijg_folder as string) & "jcapimin.c" To Segment 1
       
    58 		Add Files (ijg_folder as string) & "jcapistd.c" To Segment 1
       
    59 		Add Files (ijg_folder as string) & "jcarith.c" To Segment 1
       
    60 		Add Files (ijg_folder as string) & "jctrans.c" To Segment 1
       
    61 		Add Files (ijg_folder as string) & "jcparam.c" To Segment 1
       
    62 		Add Files (ijg_folder as string) & "jdatadst.c" To Segment 1
       
    63 		Add Files (ijg_folder as string) & "jcinit.c" To Segment 1
       
    64 		Add Files (ijg_folder as string) & "jcmaster.c" To Segment 1
       
    65 		Add Files (ijg_folder as string) & "jcmarker.c" To Segment 1
       
    66 		Add Files (ijg_folder as string) & "jcmainct.c" To Segment 1
       
    67 		Add Files (ijg_folder as string) & "jcprepct.c" To Segment 1
       
    68 		Add Files (ijg_folder as string) & "jccoefct.c" To Segment 1
       
    69 		Add Files (ijg_folder as string) & "jccolor.c" To Segment 1
       
    70 		Add Files (ijg_folder as string) & "jcsample.c" To Segment 1
       
    71 		Add Files (ijg_folder as string) & "jchuff.c" To Segment 1
       
    72 		Add Files (ijg_folder as string) & "jcdctmgr.c" To Segment 1
       
    73 		Add Files (ijg_folder as string) & "jfdctfst.c" To Segment 1
       
    74 		Add Files (ijg_folder as string) & "jfdctflt.c" To Segment 1
       
    75 		Add Files (ijg_folder as string) & "jfdctint.c" To Segment 1
       
    76 		Add Files (ijg_folder as string) & "jdapimin.c" To Segment 1
       
    77 		Add Files (ijg_folder as string) & "jdapistd.c" To Segment 1
       
    78 		Add Files (ijg_folder as string) & "jdarith.c" To Segment 1
       
    79 		Add Files (ijg_folder as string) & "jdtrans.c" To Segment 1
       
    80 		Add Files (ijg_folder as string) & "jdatasrc.c" To Segment 1
       
    81 		Add Files (ijg_folder as string) & "jdmaster.c" To Segment 1
       
    82 		Add Files (ijg_folder as string) & "jdinput.c" To Segment 1
       
    83 		Add Files (ijg_folder as string) & "jdmarker.c" To Segment 1
       
    84 		Add Files (ijg_folder as string) & "jdhuff.c" To Segment 1
       
    85 		Add Files (ijg_folder as string) & "jdmainct.c" To Segment 1
       
    86 		Add Files (ijg_folder as string) & "jdcoefct.c" To Segment 1
       
    87 		Add Files (ijg_folder as string) & "jdpostct.c" To Segment 1
       
    88 		Add Files (ijg_folder as string) & "jddctmgr.c" To Segment 1
       
    89 		Add Files (ijg_folder as string) & "jidctfst.c" To Segment 1
       
    90 		Add Files (ijg_folder as string) & "jidctflt.c" To Segment 1
       
    91 		Add Files (ijg_folder as string) & "jidctint.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
       
   102 
       
   103 		-- compile and link the library
       
   104 
       
   105 		Make Project
       
   106 		Close Project
       
   107 
       
   108 		-- create cjpeg project
       
   109 
       
   110 		activate
       
   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}
       
   119 
       
   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
       
   128 
       
   129 		Add Files (ijg_folder as string) & "libjpeg" To Segment 2
       
   130 
       
   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
       
   134 
       
   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
       
   137 
       
   138 		-- compile and link cjpeg
       
   139 
       
   140 		Make Project
       
   141 		Close Project
       
   142 
       
   143 		-- create djpeg project
       
   144 
       
   145 		activate
       
   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}
       
   154 
       
   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
       
   163 
       
   164 		Add Files (ijg_folder as string) & "libjpeg" To Segment 2
       
   165 
       
   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
       
   169 
       
   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
       
   172 
       
   173 		-- compile and link djpeg
       
   174 
       
   175 		Make Project
       
   176 		Close Project
       
   177 
       
   178 		-- create jpegtran project
       
   179 
       
   180 		activate
       
   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}
       
   189 
       
   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
       
   194 
       
   195 		Add Files (ijg_folder as string) & "libjpeg" To Segment 2
       
   196 
       
   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
       
   200 
       
   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
       
   203 
       
   204 		-- compile and link jpegtran
       
   205 
       
   206 		Make Project
       
   207 		Close Project
       
   208 
       
   209 		quit
       
   210 
       
   211 	  end timeout
       
   212 	end tell
       
   213 end run