# This file is part of icoformat, a Windows Icon (ICO) File Format # plugin for Adobe Photoshop # Copyright (C) 2002-2010 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 = icoformat PLUGINTYPE = 8BIF PLUGINCREATOR = 8BIM FILETYPE = -t ¶'{PLUGINTYPE}¶' -c ¶'{PLUGINCREATOR}¶' # The 'classic' binary supports: # PS 2.5-7 on MacOS 9 or earlier, or Classic runtime up to OS X 10.4 # The 'carbon' binary supports: # PS 7 and PS CS on OS X EXEC_CLASSIC = :dist:"ICO Format (MacOS, Classic)" EXEC_CARBON = :dist:"ICO Format (OS X)" EXEC_68K = :dist:"ICO Format (68K)" # the following rule defines which targets get built {EXEC} Ä {EXEC_CLASSIC} {EXEC_CARBON} files -x brtc {EXEC_CLASSIC} {EXEC_CARBON} ## directories COMMONA = ::common:adobeplugin: COMMONT = ::common:tt: # where the Photoshop API header files are located PSAPI = "::Adobe Photoshop CS SDK:PhotoshopAPI:" PSHEADERS = {PSAPI}General:,{PSAPI}Photoshop:,{PSAPI}Pica_sp: REZHEADERS = -i {PSAPI}Photoshop: -i {PSAPI}Resources: ZLIB = ::zlib-1.2.5: LIBPNG = ::lpng144: ACCESSPATHS = -i {PSHEADERS},{ZLIB},{LIBPNG},:,{COMMONT},{COMMONA} ## object files OBJ_CLASSIC = main.cl.x ico_io.cl.x read.cl.x write.cl.x ¶ readpng.cl.x writepng.cl.x estimate.cl.x ui_mac.cl.x ui.cl.x ¶ {COMMONT}str.cl.x {COMMONT}file_io.cl.x {COMMONT}ui_compat_mac.cl.x ¶ {COMMONT}dbg_mac.cl.x {COMMONA}dprintf.cl.x ¶ ¶ {ZLIB}adler32.cl.x {ZLIB}deflate.cl.x {ZLIB}inftrees.cl.x {ZLIB}uncompr.cl.x ¶ {ZLIB}compress.cl.x {ZLIB}zutil.cl.x {ZLIB}crc32.cl.x {ZLIB}inflate.cl.x {ZLIB}inffast.cl.x {ZLIB}trees.cl.x ¶ {LIBPNG}png.cl.x {LIBPNG}pngerror.cl.x {LIBPNG}pngget.cl.x {LIBPNG}pngmem.cl.x {LIBPNG}pngpread.cl.x ¶ {LIBPNG}pngread.cl.x {LIBPNG}pngrio.cl.x {LIBPNG}pngrtran.cl.x {LIBPNG}pngrutil.cl.x {LIBPNG}pngset.cl.x ¶ {LIBPNG}pngtrans.cl.x {LIBPNG}pngwio.cl.x {LIBPNG}pngwrite.cl.x {LIBPNG}pngwtran.cl.x {LIBPNG}pngwutil.cl.x OBJ_CARBON = main.ca.x ico_io.ca.x read.ca.x write.ca.x ¶ readpng.ca.x writepng.ca.x estimate.ca.x ui_mac.ca.x ui.ca.x ¶ {COMMONT}str.ca.x {COMMONT}file_io.ca.x {COMMONT}ui_compat_mac.ca.x ¶ {COMMONT}dbg_mac.ca.x {COMMONA}dprintf.ca.x ¶ ¶ {ZLIB}adler32.ca.x {ZLIB}deflate.ca.x {ZLIB}inftrees.ca.x {ZLIB}uncompr.ca.x ¶ {ZLIB}compress.ca.x {ZLIB}zutil.ca.x {ZLIB}crc32.ca.x {ZLIB}inflate.ca.x {ZLIB}inffast.ca.x {ZLIB}trees.ca.x ¶ {LIBPNG}png.ca.x {LIBPNG}pngerror.ca.x {LIBPNG}pngget.ca.x {LIBPNG}pngmem.ca.x {LIBPNG}pngpread.ca.x ¶ {LIBPNG}pngread.ca.x {LIBPNG}pngrio.ca.x {LIBPNG}pngrtran.ca.x {LIBPNG}pngrutil.ca.x {LIBPNG}pngset.ca.x ¶ {LIBPNG}pngtrans.ca.x {LIBPNG}pngwio.ca.x {LIBPNG}pngwrite.ca.x {LIBPNG}pngwtran.ca.x {LIBPNG}pngwutil.ca.x OBJ_68K = main.68k.o ico_io.68k.o read.68k.o write.68k.o estimate.68k.o ui_mac.68k.o ui.68k.o ¶ {COMMONT}str.68k.o {COMMONT}file_io.68k.o {COMMONT}ui_compat_mac.68k.o ¶ {COMMONT}dbg_mac.68k.o {COMMONA}dprintf.68k.o ¶ {COMMONT}sprintf_tiny.68k.o REZFILES = ui_mac.r # uncomment the following two values (after =) to build a fat (PowerPC/68K) plugin BUILDFAT = #-d BUILDFAT PLUGIN68K = #68k.rsrc LIBS_CLASSIC = ¶ "{SharedLibraries}InterfaceLib" ¶ "{SharedLibraries}StdCLib" ¶ "{SharedLibraries}MathLib" ¶ #"{SharedLibraries}NavigationLib" ¶ "{SharedLibraries}AppearanceLib" ¶ "{PPCLibraries}StdCRuntime.o" ¶ "{PPCLibraries}PPCCRuntime.o" ¶ #"{PPCLibraries}PPCToolLibs.o" ¶ #"{PPCLibraries}"CarbonAccessors.o LIBS_CARBON = ¶ "{SharedLibraries}CarbonLib" ¶ "{SharedLibraries}StdCLib" ¶ "{PPCLibraries}CarbonStdCLib.o" ¶ "{PPCLibraries}PPCCRuntime.o" LIBS_68K = ¶ "{Libraries}MathLib.o" ¶ #"{CLibraries}Complex.o" ¶ "{CLibraries}StdCLib.o" ¶ "{Libraries}MacRuntime.o" ¶ #"{Libraries}IntEnv.o" ¶ #"{Libraries}ToolLibs.o" ¶ "{Libraries}Interface.o" # defining the STDC symbol is critical for zlib and libpng to build (or even their headers to work correctly) COPT = -proto strict -w 2,35 -opt speed ¶ {ACCESSPATHS} -d MAC_ENV -d STDC ¶ -d PNG_NO_STDIO -d PNG_NO_MNG_FEATURES ¶ -d PNG_USER_WIDTH_MAX=256 -d PNG_USER_HEIGHT_MAX=256 ¶ -d PNG_NO_PROGRESSIVE_READ PPCLINKOPTS = -t {PLUGINTYPE} -c {PLUGINCREATOR} -m PluginMain REZOPTS = {FILETYPE} -a -s : -d SystemSevenOrLater=1 .ca.x Ä .c mrc {depdir}{default}.c -o {TARG} -d MACPPC_ENV {COPT} -tb on -d TARGET_CARBON .cl.x Ä .c mrc {depdir}{default}.c -o {TARG} -d MACPPC_ENV {COPT} -tb on .68k.o Ä .c sc {depdir}{default}.c -o {TARG} -d MAC68K_ENV {COPT} -b {EXEC_CLASSIC} ÄÄ {OBJ_CLASSIC} PPCLink -o {TARG} {PPCLINKOPTS} {OBJ_CLASSIC} {LIBS_CLASSIC} {EXEC_CARBON} ÄÄ {OBJ_CARBON} PPCLink -o {TARG} {PPCLINKOPTS} {OBJ_CARBON} -d {LIBS_CARBON} 68k.rsrc ÄÄ {OBJ_68K} Link -o {TARG} -t 'rsrc' -c 'RSED' -sg "ICO (Windows Icon)" -rt {PLUGINTYPE}=16000 -m MAIN {OBJ_68K} {LIBS_68K} rezdet -l {TARG} {EXEC_CLASSIC} ÄÄ {REZFILES} version.h Rez -o {TARG} {REZHEADERS} {REZOPTS} {REZFILES} {EXEC_CARBON} ÄÄ {REZFILES} version.h Rez -o {TARG} {REZHEADERS} {REZOPTS} {REZFILES} {EXEC_68K} ÄÄ {REZFILES} version.h Rez -o {TARG} {REZHEADERS} {REZOPTS} {REZFILES} {EXEC_CLASSIC} ÄÄ PiPL_classic.r version.h PiPL_common.r #PiMI_68k.r {PLUGIN68K} Rez -o {TARG} {REZHEADERS} {REZOPTS} PiPL_classic.r #{BUILDFAT} {EXEC_CARBON} ÄÄ PiPL_carbon.r version.h PiPL_common.r Rez -o {TARG} {REZHEADERS} {REZOPTS} PiPL_carbon.r {EXEC_68K} ÄÄ PiPL_68k.r PiMI_68k.r version.h PiPL_common.r Rez -o {TARG} {REZHEADERS} {REZOPTS} PiPL_68k.r PiMI_68k.r {EXEC_68K} ÄÄ 68k.rsrc echo 'include "68k.rsrc";' | Rez -a -o {TARG}