|
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 |