Home | History | Annotate | Download | only in lib
      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