blob: 046af005147bd19808fe8eaec318da5ac9f7db43 [file] [log] [blame]
Emeric Vigier2f625822012-08-06 11:09:52 -04001# 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
25MAKEFILE = Makefile
26¥MondoBuild¥ = {MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
27
28ObjDir = :
29SrcDir = :
30HdrDir = :
31
32ToolDir = ::examples:
33
34Includes = -i {HdrDir}
35
36Sym-PPC = -sym off
37
38Defines = -d MACOS_CLASSIC
39
40PPCCOptions = {Includes} {Sym-PPC} -w 35 {Defines}
41
42FragName = libexpat
43
44
45### Source Files ###
46
47SrcFiles =
48 "{SrcDir}xmlparse.c"
49 "{SrcDir}xmlrole.c"
50 "{SrcDir}xmltok.c"
51
52ToolSrcFiles =
53 "{ToolDir}elements.c"
54 "{ToolDir}outline.c"
55
56
57### Object Files ###
58
59ObjFiles-PPC =
60 "{ObjDir}xmlparse.c.o"
61 "{ObjDir}xmlrole.c.o"
62 "{ObjDir}xmltok.c.o"
63
64ElementToolObjFile = "{ObjDir}elements.c.o"
65
66OutlineToolObjFile = "{ObjDir}outline.c.o"
67
68
69### Libraries ###
70
71StLibFiles-PPC =
72 "{PPCLibraries}StdCRuntime.o"
73 "{PPCLibraries}PPCCRuntime.o"
74 "{PPCLibraries}PPCToolLibs.o"
75
76ShLibFiles-PPC =
77 "{SharedLibraries}InterfaceLib"
78 "{SharedLibraries}StdCLib"
79 "{SharedLibraries}MathLib"
80
81LibFiles-PPC =
82 {StLibFiles-PPC}
83 {ShLibFiles-PPC}
84
85
86### Special Files ###
87
88ExportFile = "{ObjDir}{FragName}.exp"
89
90StLibFile = "{ObjDir}{FragName}.MrC.o"
91
92ShLibFile = "{ObjDir}{FragName}"
93
94StubFile = "{ObjDir}{FragName}.stub"
95
96ElementsTool = "{ToolDir}elements"
97
98OutlineTool = "{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
109All Ä Dynamic {ElementsTool} {OutlineTool}
110
111Static Ä {StLibFile}
112
113Dynamic Ä 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
186Clean Ä
187 Delete {ObjFiles-PPC} {ExportFile} {ElementToolObjFile} {OutlineToolObjFile}
188
189### Build this target to clean out all generated files. ###
190
191Clean-All Ä Clean
192 Delete {StLibFile} {ShLibFile} {StubFile} {ElementsTool} {OutlineTool}
193
194### Build this target to generate "include file" dependencies. ###
195
196Dependencies Ä $OutOfDate
197 MakeDepend
198 -append {MAKEFILE}
199 -ignore "{CIncludes}"
200 -objdir "{ObjDir}"
201 -objext .o
202 {Defines}
203 {Includes}
204 {SrcFiles}
205
206