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