aboutsummaryrefslogtreecommitdiff
path: root/src/mac/Makefile.tmpl
blob: 84ebae4fdacd9aa56176cef1ed80c009b81ec157 (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
128
129
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
	Rez "/mac/version.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
	Rez "/mac/version.r" -a -o GSSLibrarySAP.PPC
	
link-CFMFAT-SAP : 
	Duplicate -y GSSLibrarySAP.68K GSSLibSAP
	MergeFragment GSSLibrarySAP.PPC GSSLibSAP