# File: Makefile.MPW # Targets: All, Dynamic, Static (and Clean, Clean-All) # Created: Tuesday, July 02, 2002 # # MPW Makefile for building expat under the "classic" (i.e. pre-X) Mac OS # Copyright © 2002 Daryle Walker # Portions Copyright © 2002 Thomas Wegner # See the COPYING file for distribution information # # Description: # This Makefile lets you build static, dynamic (i.e. shared) and stub # versions of the expat library as well as the elements.c and outline.c # examples (built as tools for MPW). This is for PPC only; it should be # no problem to build a 68K version of the expat library, though. # # Usage: # Buildprogram All # or Buildprogram Dynamic # or Buildprogram Static # # Note: You first have to rename this file to "Makefile", or the Buildprogram # commando will not recognize it. # MAKEFILE = Makefile ¥MondoBuild¥ = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified ObjDir = : SrcDir = : HdrDir = : ToolDir = ::examples: Includes = -i {HdrDir} Sym-PPC = -sym off Defines = -d MACOS_CLASSIC PPCCOptions = {Includes} {Sym-PPC} -w 35 {Defines} FragName = libexpat ### Source Files ### SrcFiles = ¶ "{SrcDir}xmlparse.c" ¶ "{SrcDir}xmlrole.c" ¶ "{SrcDir}xmltok.c" ToolSrcFiles = ¶ "{ToolDir}elements.c" ¶ "{ToolDir}outline.c" ### Object Files ### ObjFiles-PPC = ¶ "{ObjDir}xmlparse.c.o" ¶ "{ObjDir}xmlrole.c.o" ¶ "{ObjDir}xmltok.c.o" ElementToolObjFile = "{ObjDir}elements.c.o" OutlineToolObjFile = "{ObjDir}outline.c.o" ### Libraries ### StLibFiles-PPC = ¶ "{PPCLibraries}StdCRuntime.o" ¶ "{PPCLibraries}PPCCRuntime.o" ¶ "{PPCLibraries}PPCToolLibs.o" ShLibFiles-PPC = ¶ "{SharedLibraries}InterfaceLib" ¶ "{SharedLibraries}StdCLib" ¶ "{SharedLibraries}MathLib" LibFiles-PPC = ¶ {StLibFiles-PPC} ¶ {ShLibFiles-PPC} ### Special Files ### ExportFile = "{ObjDir}{FragName}.exp" StLibFile = "{ObjDir}{FragName}.MrC.o" ShLibFile = "{ObjDir}{FragName}" StubFile = "{ObjDir}{FragName}.stub" ElementsTool = "{ToolDir}elements" OutlineTool = "{ToolDir}outline" ### Default Rules ### .c.o Ä .c {¥MondoBuild¥} {PPCC} {depDir}{default}.c -o {targDir}{default}.c.o {PPCCOptions} ### Build Rules ### All Ä Dynamic {ElementsTool} {OutlineTool} Static Ä {StLibFile} Dynamic Ä Static {ShLibFile} {StubFile} {StLibFile} ÄÄ {ObjFiles-PPC} {StLibFiles-PPC} {¥MondoBuild¥} PPCLink ¶ -o {Targ} ¶ {ObjFiles-PPC} ¶ {StLibFiles-PPC} ¶ {Sym-PPC} ¶ -mf -d ¶ -t 'XCOF' ¶ -c 'MPS ' ¶ -xm l {ShLibFile} ÄÄ {StLibFile} {ShLibFiles-PPC} {ExportFile} {¥MondoBuild¥} PPCLink ¶ -o {Targ} ¶ {StLibFile} ¶ {ShLibFiles-PPC} ¶ {Sym-PPC} ¶ -@export {ExportFile} ¶ -fragname {FragName} ¶ -mf -d ¶ -t 'shlb' ¶ -c '????' ¶ -xm s {StubFile} ÄÄ {ShLibFile} {¥MondoBuild¥} shlb2stub -o {Targ} {ShLibFile} {ElementsTool} ÄÄ {ElementToolObjFile} {StubFile} {LibFiles-PPC} {¥MondoBuild¥} PPCLink ¶ -o {Targ} ¶ {ElementToolObjFile} ¶ {StLibFile} ¶ {LibFiles-PPC} ¶ {Sym-PPC} ¶ -mf -d ¶ -t 'MPST' ¶ -c 'MPS ' {OutlineTool} ÄÄ {OutlineToolObjFile} {StubFile} {LibFiles-PPC} {¥MondoBuild¥} PPCLink ¶ -o {Targ} ¶ {OutlineToolObjFile} ¶ {StLibFile} ¶ {LibFiles-PPC} ¶ {Sym-PPC} ¶ -mf -d ¶ -t 'MPST' ¶ -c 'MPS ' ### Special Rules ### {ExportFile} ÄÄ "{HdrDir}expat.h" {¥MondoBuild¥} StreamEdit -d ¶ -e "/¥('XMLPARSEAPI('Å') ')Ç0,1È'XML_'([A-Za-z0-9_]+)¨1'('/ Print 'XML_' ¨1" ¶ "{HdrDir}expat.h" > {Targ} ### Required Dependencies ### "{ObjDir}xmlparse.c.o" Ä "{SrcDir}xmlparse.c" "{ObjDir}xmlrole.c.o" Ä "{SrcDir}xmlrole.c" "{ObjDir}xmltok.c.o" Ä "{SrcDir}xmltok.c" "{ObjDir}elements.c.o" Ä "{ToolDir}elements.c" "{ObjDir}outline.c.o" Ä "{ToolDir}outline.c" ### Optional Dependencies ### ### Build this target to clean out generated intermediate files. ### Clean Ä Delete {ObjFiles-PPC} {ExportFile} {ElementToolObjFile} {OutlineToolObjFile} ### Build this target to clean out all generated files. ### Clean-All Ä Clean Delete {StLibFile} {ShLibFile} {StubFile} {ElementsTool} {OutlineTool} ### Build this target to generate "include file" dependencies. ### Dependencies Ä $OutOfDate MakeDepend ¶ -append {MAKEFILE} ¶ -ignore "{CIncludes}" ¶ -objdir "{ObjDir}" ¶ -objext .o ¶ {Defines} ¶ {Includes} ¶ {SrcFiles}