# This file is part of TIFFlib Format, a File Format plugin for Adobe Photoshop # Copyright (C) 2005-7 Toby Thain, toby@telegraphics.com.au # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## MPW Makefile EXEC = TIFFlibPlugin EXEC_UNI = :dist:{EXEC} # Macintosh type/creator code for plugin file PLUGINTYPE = 8BIF PLUGINCREATOR = 8BIM FILETYPE = -t ¶'{PLUGINTYPE}¶' -c ¶'{PLUGINCREATOR}¶' # these two variables reflect my personal directory layout # and are not used by distribution COMMONA = ::common:adobeplugin: COMMONT = ::common:tt: # where the Photoshop API header files are located PSAPI = ::PhotoshopAPI: PSHEADERS = {PSAPI}Photoshop:,{PSAPI}Pica_sp:,{PSAPI}Resources: REZHEADERS = -i {PSAPI}Photoshop: -i {PSAPI}Resources: # list object files in project # each kind of object file (Classic, Carbon, 68K) has its own list, # of the same series of input files, but with the respective extension (.cl.x, .ca.x, .o) to differentiate # "implicit" rules are used to build these object files from corresponding .c source; see below LIBJPEG = ::jpeg-6b: LIBJPEGOBJ = ¶ {LIBJPEG}jcapimin.c.x {LIBJPEG}jcapistd.c.x {LIBJPEG}jccoefct.c.x ¶ {LIBJPEG}jccolor.c.x {LIBJPEG}jcdctmgr.c.x {LIBJPEG}jchuff.c.x ¶ {LIBJPEG}jcinit.c.x {LIBJPEG}jcmainct.c.x {LIBJPEG}jcmarker.c.x ¶ {LIBJPEG}jcmaster.c.x {LIBJPEG}jcomapi.c.x {LIBJPEG}jcparam.c.x ¶ {LIBJPEG}jcphuff.c.x {LIBJPEG}jcprepct.c.x {LIBJPEG}jcsample.c.x ¶ {LIBJPEG}jctrans.c.x {LIBJPEG}jdapimin.c.x {LIBJPEG}jdapistd.c.x ¶ {LIBJPEG}jdatadst.c.x {LIBJPEG}jdatasrc.c.x {LIBJPEG}jdcoefct.c.x ¶ {LIBJPEG}jdcolor.c.x {LIBJPEG}jddctmgr.c.x {LIBJPEG}jdhuff.c.x ¶ {LIBJPEG}jdinput.c.x {LIBJPEG}jdmainct.c.x {LIBJPEG}jdmarker.c.x ¶ {LIBJPEG}jdmaster.c.x {LIBJPEG}jdmerge.c.x {LIBJPEG}jdphuff.c.x ¶ {LIBJPEG}jdpostct.c.x {LIBJPEG}jdsample.c.x {LIBJPEG}jdtrans.c.x ¶ {LIBJPEG}jerror.c.x {LIBJPEG}jfdctflt.c.x {LIBJPEG}jfdctfst.c.x ¶ {LIBJPEG}jfdctint.c.x {LIBJPEG}jidctflt.c.x {LIBJPEG}jidctfst.c.x ¶ {LIBJPEG}jidctint.c.x {LIBJPEG}jidctred.c.x {LIBJPEG}jquant1.c.x ¶ {LIBJPEG}jquant2.c.x {LIBJPEG}jutils.c.x {LIBJPEG}jmemmgr.c.x ¶ {LIBJPEG}jmemansi.c.x LIBTIFF = ::tiff-3.8.2:libtiff: LIBTIFFOBJ = ¶ {LIBTIFF}tif_dirinfo.c.x {LIBTIFF}tif_jpeg.c.x {LIBTIFF}tif_predict.c.x ¶ {LIBTIFF}tif_dirread.c.x {LIBTIFF}tif_luv.c.x {LIBTIFF}tif_print.c.x ¶ {LIBTIFF}tif_warning.c.x ¶ {LIBTIFF}tif_dirwrite.c.x {LIBTIFF}tif_lzw.c.x {LIBTIFF}tif_read.c.x ¶ {LIBTIFF}tif_aux.c.x {LIBTIFF}tif_dumpmode.c.x {LIBTIFF}tif_strip.c.x ¶ {LIBTIFF}tif_close.c.x {LIBTIFF}tif_error.c.x {LIBTIFF}tif_next.c.x ¶ {LIBTIFF}tif_swab.c.x {LIBTIFF}tif_write.c.x ¶ {LIBTIFF}tif_codec.c.x {LIBTIFF}tif_extension.c.x ¶ {LIBTIFF}tif_thunder.c.x {LIBTIFF}tif_zip.c.x ¶ {LIBTIFF}tif_color.c.x {LIBTIFF}tif_fax3.c.x {LIBTIFF}tif_fax3sm.c.x ¶ {LIBTIFF}tif_open.c.x {LIBTIFF}tif_tile.c.x ¶ {LIBTIFF}tif_compress.c.x {LIBTIFF}tif_flush.c.x {LIBTIFF}tif_packbits.c.x ¶ {LIBTIFF}tif_dir.c.x {LIBTIFF}tif_getimage.c.x {LIBTIFF}tif_pixarlog.c.x ¶ {LIBTIFF}tif_version.c.x ZLIB = ::zlib-1.2.3: ZLIBOBJ = ¶ {ZLIB}adler32.c.x {ZLIB}deflate.c.x {ZLIB}infback.c.x {ZLIB}inftrees.c.x ¶ {ZLIB}compress.c.x {ZLIB}inffast.c.x {ZLIB}zutil.c.x {ZLIB}uncompr.c.x ¶ {ZLIB}crc32.c.x {ZLIB}inflate.c.x {ZLIB}trees.c.x OBJ_CLASSIC = main.cl.x read.cl.x write.cl.x util.cl.x tif_support.cl.x ¶ options.cl.x ui.cl.x ui_mac.cl.x tif_support_mac.cl.x ¶ {COMMONT}dbg_mac.cl.x {COMMONT}str.cl.x {COMMONT}ui_compat_mac.cl.x ¶ {LIBTIFFOBJ} {ZLIBOBJ} {LIBJPEGOBJ} OBJ_CARBON = main.ca.x read.ca.x write.ca.x util.ca.x tif_support.ca.x ¶ options.ca.x ui.ca.x ui_mac.ca.x tif_support_mac.ca.x ¶ {COMMONT}dbg_mac.ca.x {COMMONT}str.ca.x {COMMONT}ui_compat_mac.ca.x ¶ {LIBTIFFOBJ} {ZLIBOBJ} {LIBJPEGOBJ} ¶ assertprint.ca.x qsort.ca.x REZFILES = ui_mac.r # look for include files in these directories ACCESSPATHS = -i :,{PSHEADERS},"{COMMONT}","{COMMONA}","{LIBTIFF}" # executable files to build EXEC_CLASSIC = :debug:{EXEC}.classic EXEC_CARBON = :debug:{EXEC}.carbon # build "universal" plugin with both Classic and Carbon binaries in one file {EXEC_UNI} ÄÄ {EXEC_CARBON} {EXEC_CLASSIC} PiPL_universal.r PiPL_common.r version.h catenate {EXEC_CARBON} {EXEC_CLASSIC} > temp && duplicate -y -d temp {EXEC_UNI} # copy just data fork, without junk resources ls -x b {EXEC_CARBON} {EXEC_CLASSIC} > temp target temp find ¥ find /[0-9]+/ && set CARBON_LENGTH `catenate "{target}".¤` find /[0-9]+/ && set CLASSIC_LENGTH `catenate "{target}".¤` Rez PiPL_universal.r -o {Targ} {FILETYPE} {REZHEADERS} {REZOPTS} ¶ -d CARBON_OFFSET=0 -d CARBON_LENGTH={CARBON_LENGTH} ¶ -d CLASSIC_OFFSET={CARBON_LENGTH} -d CLASSIC_LENGTH={CLASSIC_LENGTH} close files -x brtc {EXEC_CARBON} {EXEC_CLASSIC} {EXEC} Ä {EXEC_UNI} files -x brtc {EXEC_UNI} # libraries linked with project LIBS_CLASSIC = ¶ "{SharedLibraries}InterfaceLib" ¶ "{SharedLibraries}StdCLib" ¶ "{SharedLibraries}MathLib" ¶ "{SharedLibraries}NavigationLib" ¶ "{SharedLibraries}AppearanceLib" ¶ "{SharedLibraries}WindowsLib" ¶ "{SharedLibraries}ControlsLib" ¶ "{PPCLibraries}StdCRuntime.o" ¶ "{PPCLibraries}PPCCRuntime.o" ¶ #"{PPCLibraries}PPCToolLibs.o" ¶ #"{PPCLibraries}"CarbonAccessors.o LIBS_CARBON = ¶ "{SharedLibraries}CarbonLib" ¶ "{SharedLibraries}StdCLib" ¶ "{PPCLibraries}PPCCRuntime.o" ### little below should need to change ### COPT = -opt speed -tb on -w 2,35 -i :mpw COPTEXTRA = -d MAC_ENV {ACCESSPATHS} -proto strict PPCLINKOPTS = -t {PLUGINTYPE} -c {PLUGINCREATOR} -m PluginMain REZOPTS = -a -s : -d SystemSevenOrLater=1 -d PIPL_DEEP_MODES # implicit build rules for each variety of object file .c.x Ä .c # generic compile, for libraries mrc {depdir}{default}.c -o {targ} {COPT} {LIBTIFFDEFS} -i :,"{ZLIB}","{LIBJPEG}","{LIBTIFF}" -d STDC -ansi strict .ca.x Ä .c # Carbon PowerPC object mrc {depdir}{default}.c -o {targ} {COPT} {COPTEXTRA} -d TARGET_CARBON .cl.x Ä .c # Classic PowerPC object mrc {depdir}{default}.c -o {targ} {COPT} {COPTEXTRA} {EXEC_CLASSIC} ÄÄ {OBJ_CLASSIC} PPCLink -o {Targ} {PPCLINKOPTS} {OBJ_CLASSIC} {LIBS_CLASSIC} -map {targ}.map {EXEC_CARBON} ÄÄ {OBJ_CARBON} PPCLink -o {Targ} {PPCLINKOPTS} -d {OBJ_CARBON} {LIBS_CARBON} -map {targ}.map {EXEC_CLASSIC} ÄÄ PiPL_classic.r PiPL_common.r version.h Rez PiPL_classic.r -o {Targ} {FILETYPE} {REZHEADERS} {REZOPTS} {EXEC_CARBON} ÄÄ PiPL_carbon.r PiPL_common.r version.h Rez PiPL_carbon.r -o {Targ} {FILETYPE} {REZHEADERS} {REZOPTS} {EXEC_CLASSIC} ÄÄ {REZFILES} version.h Rez {REZFILES} -o {Targ} {FILETYPE} {REZHEADERS} {REZOPTS} {EXEC_CARBON} ÄÄ {REZFILES} version.h Rez {REZFILES} -o {Targ} {FILETYPE} {REZHEADERS} {REZOPTS} {EXEC_UNI} ÄÄ {REZFILES} version.h Rez {REZFILES} -o {Targ} {FILETYPE} {REZHEADERS} {REZOPTS}