aboutsummaryrefslogtreecommitdiff
path: root/src/mac/Makefile.tmpl
blob: fc3ad6f9b1f814ff0ef460b5f7fcb35a34a3f0f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
KH = /mac/libraries/
KH68K = {KH}KerberosHeaders68K
KHCFM-68K = {KH}KerberosHeadersCFM-68K
KHPPC = {KH}KerberosHeadersPPC

GSSRTLCFM68K = "{MW68KLibraries}ANSI (4i%8d) C.CFM68K.Lib" \
	"{MW68KLibraries}SIOUX.CFM68K.Lib" \
	"{MW68KLibraries}InterfaceLib" \
	"{MW68KLibraries}MWCFM68KRuntime.Lib" \
	"{MW68KLibraries}MathLibCFM68K (4i%8d).Lib"

GSSRTLCFMPPC = "{MWPPCLibraries}ANSI C.PPC.Lib" \
	"{MWPPCLibraries}SIOUX.PPC.Lib" "{MWPPCLibraries}MWCRuntime.Lib" \
	"{SharedLibraries}InterfaceLib" "{SharedLibraries}MathLib"

OPTIONS = {INCLUDES} -enum int -opt all -strings pool -mapcr \
        -mpw_pointers -warnings off -fatext -nosyspath -maxerrors 1000 \
        -align mac68k -opt off -toc_data on -fp_contract on -sym fullpath

all : build link

libs : {KH68K} {KHPPC} {GSSOBJS68K} {GSSOBJS68KCFM} {GSSOBJSPPC} link

build : build-PPC build-68K build-68KCFM

build-68K : {KH68K}
	MWC68K {OPTIONS} -o "/bin/68K/" -prefix {KH68K} -model far {SRCS}

build-68KCFM : {KHCFM-68K} 
	MWC68K {OPTIONS} -o "/bin/CFM-68K/" -prefix {KHCFM-68K} \
		-model cfmflat {SRCS}

build-PPC : {KHPPC}
	MWCPPC {OPTIONS} -o "/bin/PPC/" -prefix {KHPPC} {SRCS}

.c.68K.o : .c
	MWC68K {DepDir}{Default}.c {OPTIONS} -prefix {KH68K} -model far

.c.PPC.o : .c
	MWCPPC {DepDir}{Default}.c {OPTIONS} -prefix {KHPPC}

{KH68K} : "{KH}KerberosHeaders.pch" "{KH}KerberosHeaders.h"
	MWC68K "{KH}KerberosHeaders.pch" -precompile {KH68K} {OPTIONS} -i {KH}

{KHCFM-68K} : "{KH}KerberosHeaders.pch" "{KH}KerberosHeaders.h"
	MWC68K "{KH}KerberosHeaders.pch" -precompile {KHCFM-68K} {OPTIONS} \
		-i {KH} -model cfmflat

{KHPPC} : "{KH}KerberosHeaders.pch" "{KH}KerberosHeaders.h"
	MWCPPC "{KH}KerberosHeaders.pch" -precompile {KHPPC} {OPTIONS} -i {KH}

link : link-68K link-68KCFM link-PPC link-CFMFAT

link-68K :
	MWLink68K -library -model far -o libkrb5.68K {K5OBJS68K}
	MWLink68K -library -model far -o libgss.68K {GSSOBJS68K}
	Rez "/mac/version.r" -a -o libkrb5.68K
	Rez "/mac/version.r" -a -o libgss.68K

link-68KCFM :
        MWLink68K -xm sharedlibrary -name GSSLibrary -m "" \
		-model cfmflat -@export "/mac/GSSLibrary.exp" -sym fullpath \
                -map libgss.68K.MAP -o GSSLibrary68K \
		{GSSRTLCFM68K} {GSSOBJS68KCFM}
	Rez "/mac/version.r" -a -o GSSLibrary68K

link-PPC :
	MWLinkPPC -library -o libkrb5.PPC {K5OBJSPPC}
	MWLinkPPC -library -o libgss.PPC {GSSOBJSPPC}
	MWLinkPPC -sharedlibrary -name GSSLibrary -m "" \
		-@export "/mac/GSSLibrary.exp" -sym fullpath \
        -map libgss.ppc.MAP -o GSSLibraryPPC \
		{GSSRTLCFMPPC} {GSSOBJSPPC}
	Rez "/mac/version.r" -a -o libkrb5.PPC
	Rez "/mac/version.r" -a -o libgss.PPC
	Rez "/mac/version.r" -a -o GSSLibraryPPC


link-CFMFAT :
	Duplicate -y GSSLibrary68K GSSLib
	MergeFragment GSSLibraryPPC GSSLib
	
clean :
	Delete -i {GSSOBJS68K} {GSSOBJSPPC} {GSSOBJS68KCFM}

# ---------------------
# SAP related commands
# ---------------------
SRCS-SAP = /mac/SAP/macSAPglue.c
GSSOBJS68KCFM-SAP = /bin/CFM-68K/macSAPglue.c.68k.o
GSSOBJSPPC-SAP = /bin/PPC/macSAPglue.c.PPC.o
INCLUDES-SAP = -i /mac/SAP/

OPTIONS-SAP = {INCLUDES-SAP} -enum int -opt all -strings pool -mapcr \
        -mpw_pointers -warnings off -fatext -nosyspath -maxerrors 1000 \
        -align mac68k -opt off -toc_data on -fp_contract on -sym fullpath

sap : build-SAP link-SAP

build-SAP : build-68KCFM build-PPC build-SAPINIT

build-SAPINIT : {KHCFM-68K} {KHPPC}
	MWC68K {OPTIONS-SAP} -o "/bin/CFM-68K/" -prefix {KHCFM-68K} \
		-model cfmflat {SRCS-SAP}
	MWCPPC {OPTIONS-SAP} -o "/bin/PPC/" -prefix {KHPPC} {SRCS-SAP}

link-SAP : link-68KCFM-SAP link-PPC-SAP link-CFMFAT-SAP

link-68KCFM-SAP :
	MWLink68K -xm sharedlibrary -name GSSLibrary -m "" \
		-model cfmflat -@export "/mac/GSSLibrary.SAP.exp" \
		-init "__initializeSAPglue" \
	        -sym fullpath -map libgss.68K.MAP -o GSSLibrarySAP.68K \
		{GSSRTLCFM68K} {GSSOBJS68KCFM-SAP} {GSSOBJS68KCFM}
	Rez "/mac/SAP/GSSforSAP.r" -a -o GSSLibrarySAP.68K

link-PPC-SAP :
	MWLinkPPC -sharedlibrary -name GSSLibrary -m "" \
		-@export "/mac/GSSLibrary.SAP.exp" \
		-init "__initializeSAPglue" \
	        -sym fullpath -map libgss.PPC.MAP -o GSSLibrarySAP.PPC \
		{GSSRTLCFMPPC} {GSSOBJSPPC-SAP} {GSSOBJSPPC}
	Rez "/mac/SAP/GSSforSAP.r" -a -o GSSLibrarySAP.PPC
	
link-CFMFAT-SAP : 
	Duplicate -y GSSLibrarySAP.68K GSSLibSAP
	MergeFragment GSSLibrarySAP.PPC GSSLibSAP