1 # File: Makefile.MPW 2 # Targets: All, Dynamic, Static (and Clean, Clean-All) 3 # Created: Tuesday, July 02, 2002 4 # 5 # MPW Makefile for building expat under the "classic" (i.e. pre-X) Mac OS 6 # Copyright 2002 Daryle Walker 7 # Portions Copyright 2002 Thomas Wegner 8 # See the COPYING file for distribution information 9 # 10 # Description: 11 # This Makefile lets you build static, dynamic (i.e. shared) and stub 12 # versions of the expat library as well as the elements.c and outline.c 13 # examples (built as tools for MPW). This is for PPC only; it should be 14 # no problem to build a 68K version of the expat library, though. 15 # 16 # Usage: 17 # Buildprogram All 18 # or Buildprogram Dynamic 19 # or Buildprogram Static 20 # 21 # Note: You first have to rename this file to "Makefile", or the Buildprogram 22 # commando will not recognize it. 23 # 24 25 MAKEFILE = Makefile 26 MondoBuild = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified 27 28 ObjDir = : 29 SrcDir = : 30 HdrDir = : 31 32 ToolDir = ::examples: 33 34 Includes = -i {HdrDir} 35 36 Sym-PPC = -sym off 37 38 Defines = -d MACOS_CLASSIC 39 40 PPCCOptions = {Includes} {Sym-PPC} -w 35 {Defines} 41 42 FragName = libexpat 43 44 45 ### Source Files ### 46 47 SrcFiles = 48 "{SrcDir}xmlparse.c" 49 "{SrcDir}xmlrole.c" 50 "{SrcDir}xmltok.c" 51 52 ToolSrcFiles = 53 "{ToolDir}elements.c" 54 "{ToolDir}outline.c" 55 56 57 ### Object Files ### 58 59 ObjFiles-PPC = 60 "{ObjDir}xmlparse.c.o" 61 "{ObjDir}xmlrole.c.o" 62 "{ObjDir}xmltok.c.o" 63 64 ElementToolObjFile = "{ObjDir}elements.c.o" 65 66 OutlineToolObjFile = "{ObjDir}outline.c.o" 67 68 69 ### Libraries ### 70 71 StLibFiles-PPC = 72 "{PPCLibraries}StdCRuntime.o" 73 "{PPCLibraries}PPCCRuntime.o" 74 "{PPCLibraries}PPCToolLibs.o" 75 76 ShLibFiles-PPC = 77 "{SharedLibraries}InterfaceLib" 78 "{SharedLibraries}StdCLib" 79 "{SharedLibraries}MathLib" 80 81 LibFiles-PPC = 82 {StLibFiles-PPC} 83 {ShLibFiles-PPC} 84 85 86 ### Special Files ### 87 88 ExportFile = "{ObjDir}{FragName}.exp" 89 90 StLibFile = "{ObjDir}{FragName}.MrC.o" 91 92 ShLibFile = "{ObjDir}{FragName}" 93 94 StubFile = "{ObjDir}{FragName}.stub" 95 96 ElementsTool = "{ToolDir}elements" 97 98 OutlineTool = "{ToolDir}outline" 99 100 101 ### Default Rules ### 102 103 .c.o .c {MondoBuild} 104 {PPCC} {depDir}{default}.c -o {targDir}{default}.c.o {PPCCOptions} 105 106 107 ### Build Rules ### 108 109 All Dynamic {ElementsTool} {OutlineTool} 110 111 Static {StLibFile} 112 113 Dynamic Static {ShLibFile} {StubFile} 114 115 {StLibFile} {ObjFiles-PPC} {StLibFiles-PPC} {MondoBuild} 116 PPCLink 117 -o {Targ} 118 {ObjFiles-PPC} 119 {StLibFiles-PPC} 120 {Sym-PPC} 121 -mf -d 122 -t 'XCOF' 123 -c 'MPS ' 124 -xm l 125 126 {ShLibFile} {StLibFile} {ShLibFiles-PPC} {ExportFile} {MondoBuild} 127 PPCLink 128 -o {Targ} 129 {StLibFile} 130 {ShLibFiles-PPC} 131 {Sym-PPC} 132 -@export {ExportFile} 133 -fragname {FragName} 134 -mf -d 135 -t 'shlb' 136 -c '????' 137 -xm s 138 139 {StubFile} {ShLibFile} {MondoBuild} 140 shlb2stub -o {Targ} {ShLibFile} 141 142 {ElementsTool} {ElementToolObjFile} {StubFile} {LibFiles-PPC} {MondoBuild} 143 PPCLink 144 -o {Targ} 145 {ElementToolObjFile} 146 {StLibFile} 147 {LibFiles-PPC} 148 {Sym-PPC} 149 -mf -d 150 -t 'MPST' 151 -c 'MPS ' 152 153 {OutlineTool} {OutlineToolObjFile} {StubFile} {LibFiles-PPC} {MondoBuild} 154 PPCLink 155 -o {Targ} 156 {OutlineToolObjFile} 157 {StLibFile} 158 {LibFiles-PPC} 159 {Sym-PPC} 160 -mf -d 161 -t 'MPST' 162 -c 'MPS ' 163 164 165 ### Special Rules ### 166 167 {ExportFile} "{HdrDir}expat.h" {MondoBuild} 168 StreamEdit -d 169 -e "/('XMLPARSEAPI('') ')0,1'XML_'([A-Za-z0-9_]+)1'('/ Print 'XML_' 1" 170 "{HdrDir}expat.h" > {Targ} 171 172 173 ### Required Dependencies ### 174 175 "{ObjDir}xmlparse.c.o" "{SrcDir}xmlparse.c" 176 "{ObjDir}xmlrole.c.o" "{SrcDir}xmlrole.c" 177 "{ObjDir}xmltok.c.o" "{SrcDir}xmltok.c" 178 179 "{ObjDir}elements.c.o" "{ToolDir}elements.c" 180 "{ObjDir}outline.c.o" "{ToolDir}outline.c" 181 182 183 ### Optional Dependencies ### 184 ### Build this target to clean out generated intermediate files. ### 185 186 Clean 187 Delete {ObjFiles-PPC} {ExportFile} {ElementToolObjFile} {OutlineToolObjFile} 188 189 ### Build this target to clean out all generated files. ### 190 191 Clean-All Clean 192 Delete {StLibFile} {ShLibFile} {StubFile} {ElementsTool} {OutlineTool} 193 194 ### Build this target to generate "include file" dependencies. ### 195 196 Dependencies $OutOfDate 197 MakeDepend 198 -append {MAKEFILE} 199 -ignore "{CIncludes}" 200 -objdir "{ObjDir}" 201 -objext .o 202 {Defines} 203 {Includes} 204 {SrcFiles} 205 206 207