2140b840c2e6cb77a049746b5392560e14a12d62
[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 DARWIN_INFOFILE=../@DARWIN_INFOFILE@
24
25 include config/Makefile.${SYS_NAME}
26
27
28 # OS specific object files:
29 AFS_OS_OBJS = \
30         osi_misc.o \
31         osi_file.o \
32         osi_inode.o \
33         osi_groups.o \
34         osi_sleep.o \
35         osi_vm.o \
36         osi_vnodeops.o \
37         osi_module.o \
38         xdr.o \
39         xdr_array.o \
40         xdr_int64.o
41
42
43 #AFS_OS_NFSOBJS = osi_vfsops_nfs.o
44
45 AFS_OS_NONFSOBJS = osi_vfsops.o
46
47
48 # System specific build commands and flags
49 KDEFS=
50 DBUG = -g
51 DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL
52 OPTF=${OPT} 
53 OPTF2=${OPT2} 
54 KOPTS=-traditional-cpp -static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch 
55 #CFLAGS=-Werror-implicit-function-declaration -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
56 #CFLAGS=-framework Kernel -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
57 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
58
59
60 # Name of directory to hold object files and libraries.
61 KOBJ = MODLOAD
62
63 # This tells Makefile.common to use it's single directory build target.
64 COMPDIRS = single_compdir
65 INSTDIRS = single_instdir
66 DESTDIRS = single_destdir
67
68 include Makefile.common
69
70 setup:
71         -mkdir $(KOBJ)
72         -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
73         ln -s ../Makefile $(KOBJ)/Makefile
74         ln -s ../Makefile.common $(KOBJ)/Makefile.common
75         ln -s ../config $(KOBJ)/config
76         -$(RM) -f  h net netinet rpc ufs nfs  machine sys vm mach kern
77         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/net net
78         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/machine machine
79         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/netinet netinet
80         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/nfs nfs
81         -ln -s /usr/include/rpc rpc
82         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys sys
83         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/ufs ufs
84         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys h
85
86
87 # Below this line are targets when in the COMMON directory:
88 LIBAFS = libafs.o
89 LIBAFSNONFS = libafs.nonfs.o
90
91 INST_LIBAFS = ${DESTDIR}${afskerneldir}/afs-nfs.kext
92 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/afs.kext
93 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/afs-nfs.kext
94 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/afs.kext
95
96
97 libafs: $(LIBAFSNONFS) ;
98 install_libafs: $(LIBAFSNONFS) ;
99         -mkdir -p ${INST_LIBAFSNONFS}
100         -mkdir -p ${INST_LIBAFSNONFS}/Contents
101         $(INSTALL) -f ${DARWIN_INFOFILE} ${INST_LIBAFSNONFS}/Contents/Info.plist
102         -mkdir -p ${INST_LIBAFSNONFS}/Contents/MacOS
103         $(INSTALL) -f ${LIBAFSNONFS} ${INST_LIBAFSNONFS}/Contents/MacOS/afs
104
105 dest_libafs: $(LIBAFSNONFS) ;
106         -mkdir -p ${DEST_LIBAFSNONFS}
107         -mkdir -p ${DEST_LIBAFSNONFS}/Contents
108         $(INSTALL) -f ${DARWIN_INFOFILE} ${DEST_LIBAFSNONFS}/Contents/Info.plist
109         -mkdir -p ${DEST_LIBAFSNONFS}/Contents/MacOS
110         $(INSTALL) -f ${LIBAFSNONFS} ${DEST_LIBAFSNONFS}/Contents/MacOS/afs
111
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)