darwin-optimize-and-fix-dirpath-20010920
[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 = 
51 DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL
52 KOPTS=-no-precomp -static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch 
53 #CFLAGS=-Werror-implicit-function-declaration -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
54 #CFLAGS=-framework Kernel -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
55 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG} ${OPTMZ}
56
57
58 # Name of directory to hold object files and libraries.
59 KOBJ = MODLOAD
60
61 # This tells Makefile.common to use it's single directory build target.
62 COMPDIRS = single_compdir
63 INSTDIRS = single_instdir
64 DESTDIRS = single_destdir
65
66 include Makefile.common
67
68 setup:
69         -mkdir $(KOBJ)
70         -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
71         ln -s ../Makefile $(KOBJ)/Makefile
72         ln -s ../Makefile.common $(KOBJ)/Makefile.common
73         ln -s ../config $(KOBJ)/config
74         -$(RM) -f  h net netinet rpc ufs nfs  machine sys vm mach kern
75         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/net net
76         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/machine machine
77         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/netinet netinet
78         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/nfs nfs
79         -ln -s /usr/include/rpc rpc
80         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys sys
81         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/ufs ufs
82         -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys h
83
84
85 # Below this line are targets when in the COMMON directory:
86 LIBAFS = libafs.o
87 LIBAFSNONFS = libafs.nonfs.o
88
89 INST_LIBAFS = ${DESTDIR}${afskerneldir}/afs-nfs.kext
90 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/afs.kext
91 DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/afs-nfs.kext
92 DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/afs.kext
93
94
95 libafs: $(LIBAFSNONFS) ;
96 install_libafs: $(LIBAFSNONFS) ;
97         -mkdir -p ${INST_LIBAFSNONFS}
98         -mkdir -p ${INST_LIBAFSNONFS}/Contents
99         $(INSTALL) -f ${DARWIN_INFOFILE} ${INST_LIBAFSNONFS}/Contents/Info.plist
100         -mkdir -p ${INST_LIBAFSNONFS}/Contents/MacOS
101         $(INSTALL) -f ${LIBAFSNONFS} ${INST_LIBAFSNONFS}/Contents/MacOS/afs
102
103 dest_libafs: $(LIBAFSNONFS) ;
104         -mkdir -p ${DEST_LIBAFSNONFS}
105         -mkdir -p ${DEST_LIBAFSNONFS}/Contents
106         $(INSTALL) -f ${DARWIN_INFOFILE} ${DEST_LIBAFSNONFS}/Contents/Info.plist
107         -mkdir -p ${DEST_LIBAFSNONFS}/Contents/MacOS
108         $(INSTALL) -f ${LIBAFSNONFS} ${DEST_LIBAFSNONFS}/Contents/MacOS/afs
109
110
111 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
112         $(LD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS}
113
114 ${LIBAFSNONFS}:  $(AFSAOBJS) $(AFSNONFSOBJS)
115         $(LD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS}
116
117
118 # Object build rules:
119 osi_groups.o: $(AFS)/osi_groups.c
120         $(CRULE1)
121 osi_file.o: $(AFS)/osi_file.c
122         $(CRULE1)
123 osi_inode.o: $(AFS)/osi_inode.c
124         $(CRULE1)
125 osi_misc.o: $(AFS)/osi_misc.c
126         $(CRULE1)
127 osi_sleep.o: $(AFS)/osi_sleep.c
128         $(CRULE1)
129 osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
130         $(CRULE1) -o osi_vfsops_nfs.o
131 osi_vfsops.o: $(AFS)/osi_vfsops.c
132         $(CRULE1) -DAFS_NONFSTRANS
133 osi_vm.o: $(AFS)/osi_vm.c
134         $(CRULE1)
135 osi_vnodeops.o: $(AFS)/osi_vnodeops.c
136         $(CRULE1)
137 osi_module.o: $(AFS)/osi_module.c
138         $(CRULE1)
139 xdr.o: $(RX)/xdr.c
140         $(CRULE1)
141 xdr_array.o: $(RX)/xdr_array.c
142         $(CRULE1)
143 xdr_int64.o: $(RX)/xdr_int64.c
144         $(CRULE1)