make-install-support-for-transarc-and-prefix-style-universes-20010907
[openafs.git] / src / libafs / MakefileProto.DARWIN.in
1 #/* Copyright (C) 1995, 1989 Transarc Corporation - All rights reserved */
2 # $Header$
3
4 # MakefileProto for Digital Unix systems
5 #
6 DEST=@DEST@
7 TOP_INCDIR=@TOP_INCDIR@
8 TOP_LIBDIR=@TOP_LIBDIR@
9 TOP_SRCDIR=@TOP_SRCDIR@
10 prefix=@prefix@
11 exec_prefix=@exec_prefix@
12 bindir=@bindir@
13 sbindir=@sbindir@
14 libexecdir=@libexecdir@
15 libdir=@libdir@
16 includedir=@includedir@
17 mandir=@mandir@
18 afssrvbindir=@afssrvbindir@
19 afssrvsbindir=@afssrvsbindir@
20 afssrvlibexecdir=@afssrvlibexecdir@
21 afskerneldir=@afskerneldir@
22 SYS_NAME=@AFS_SYSNAME@
23
24 include config/Makefile.${SYS_NAME}
25
26
27 # OS specific object files:
28 AFS_OS_OBJS = \
29         osi_misc.o \
30         osi_file.o \
31         osi_inode.o \
32         osi_groups.o \
33         osi_sleep.o \
34         osi_vm.o \
35         osi_vnodeops.o \
36         osi_module.o \
37         xdr.o \
38         xdr_array.o \
39         xdr_int64.o
40
41
42 #AFS_OS_NFSOBJS = osi_vfsops_nfs.o
43
44 AFS_OS_NONFSOBJS = osi_vfsops.o
45
46
47 # System specific build commands and flags
48 KDEFS=
49 DBUG = -g
50 DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL
51 OPTF=${OPT} 
52 OPTF2=${OPT2} 
53 KOPTS=-traditional-cpp -static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch 
54 #CFLAGS=-Werror-implicit-function-declaration -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
55 #CFLAGS=-framework Kernel -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
56 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
57
58
59 # Name of directory to hold object files and libraries.
60 KOBJ = MODLOAD
61
62 # This tells Makefile.common to use it's single directory build target.
63 COMPDIRS = single_compdir
64 INSTDIRS = single_instdir
65 DESTDIRS = single_destdir
66
67 include Makefile.common
68
69 setup:
70         -mkdir $(KOBJ)
71         -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
72         ln -s ../Makefile $(KOBJ)/Makefile
73         ln -s ../Makefile.common $(KOBJ)/Makefile.common
74         ln -s ../config $(KOBJ)/config
75         -$(RM) -f  h net netinet rpc ufs nfs  machine sys vm mach kern
76         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/net net
77         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/machine machine
78         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/netinet netinet
79         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/nfs nfs
80         -ln -s /usr/include/rpc rpc
81         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys sys
82         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/ufs ufs
83         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys h
84
85
86 # Below this line are targets when in the COMMON directory:
87 LIBAFS = libafs.o
88 LIBAFSNONFS = libafs.nonfs.o
89
90 INST_LIBAFS = ${DESTDIR}${afskerneldir}/afs-nfs
91 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/afs
92 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs-nfs
93 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
94
95
96 libafs: $(LIBAFSNONFS) ;
97 install_libafs: $(INST_LIBAFSNONFS) ;
98 dest_libafs: $(DEST_LIBAFSNONFS) ;
99
100
101 $(INST_LIBAFS): $(LIBAFS)
102         $(INSTALL) -f $? $@
103
104 $(INST_LIBAFSNONFS): $(LIBAFSNONFS)
105         $(INSTALL) -f $? $@
106
107 $(DEST_LIBAFS): $(LIBAFS)
108         $(INSTALL) -f $? $@
109
110 $(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
111         $(INSTALL) -f $? $@
112
113 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
114         $(LD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS}
115
116 ${LIBAFSNONFS}:  $(AFSAOBJS) $(AFSNONFSOBJS)
117         $(LD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS}
118
119
120 # Object build rules:
121 osi_groups.o: $(AFS)/osi_groups.c
122         $(CRULE1)
123 osi_file.o: $(AFS)/osi_file.c
124         $(CRULE1)
125 osi_inode.o: $(AFS)/osi_inode.c
126         $(CRULE1)
127 osi_misc.o: $(AFS)/osi_misc.c
128         $(CRULE1)
129 osi_sleep.o: $(AFS)/osi_sleep.c
130         $(CRULE1)
131 osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
132         $(CRULE1) -o osi_vfsops_nfs.o
133 osi_vfsops.o: $(AFS)/osi_vfsops.c
134         $(CRULE1) -DAFS_NONFSTRANS
135 osi_vm.o: $(AFS)/osi_vm.c
136         $(CRULE1)
137 osi_vnodeops.o: $(AFS)/osi_vnodeops.c
138         $(CRULE1)
139 osi_module.o: $(AFS)/osi_module.c
140         $(CRULE1)
141 xdr.o: $(RX)/xdr.c
142         $(CRULE1);
143 xdr_array.o: $(RX)/xdr_array.c
144         $(CRULE1);
145 xdr_int64.o: $(RX)/xdr_int64.c
146         $(CRULE1);