Jing Yu | 40172a0 | 2012-02-15 16:16:33 -0800 | [diff] [blame] | 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 | |