pull-prototypes-to-head-20020821
[openafs.git] / src / libafs / MakefileProto.FBSD.in
1 #/* Copyright (C) 1995, 1989 Transarc Corporation - All rights reserved */
2 #
3 srcdir=@srcdir@
4 include @TOP_OBJDIR@/src/config/Makefile.config
5
6
7 # OS specific object files:
8 AFS_OS_OBJS = \
9         osi_groups.o \
10         osi_file.o \
11         osi_inode.o \
12         osi_misc.o \
13         osi_sleep.o \
14         osi_vm.o \
15         osi_vnodeops.o \
16         osi_module.o 
17
18 AFS_OS_NFSOBJS = \
19         osi_vfsops_nfs.o
20
21 AFS_OS_NONFSOBJS = \
22         osi_vfsops.o
23
24
25 # System specific build commands and flags
26 # KDEFS=-DLANGUAGE_C  -I/usr/sys/include -I../include \
27 #        -I/usr/src/sys/${HEADER_RT} -I/usr/src/sys/sys \
28 #       -DSWAPTYPE=1 -DUERF -DOSF -DCOMPAT_43 -DUFS \
29 #       -DRT -DKERNEL -D_KERNEL
30 KDEFS=-Wall -fformat-extensions -ansi -nostdinc -I/usr/include -D_KERNEL \
31         -DKLD_MODULE -elf -mpreferred-stack-boundary=2 -I.. -I../afs
32 DBUG = -O2
33 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
34 OPTF=${OPT} 
35 OPTF2=${OPT2} 
36 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
37
38
39 # Name of directory to hold object files and libraries.
40 KOBJ = STATIC
41
42 # This tells Makefile.common to use it's single directory build target.
43 COMPDIRS = single_compdir
44 INSTDIRS = single_instdir
45 DESTDIRS = single_destdir
46
47 include Makefile.common
48
49 setup:
50         -mkdir $(KOBJ)
51         -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
52         ln -fs ../Makefile $(KOBJ)/Makefile
53         ln -fs ../Makefile.common $(KOBJ)/Makefile.common
54         ln -fs ../config $(KOBJ)/config
55         -$(RM) -f  h net netinet rpc ufs nfs  machine sys vm
56         -ln -fs /usr/src/sys/net net
57         -ln -fs /usr/src/sys/i386/include machine
58         -ln -fs /usr/src/sys/netinet netinet
59         -ln -fs /usr/src/sys/nfs nfs
60         -ln -fs /usr/include/rpc rpc
61         -ln -fs /usr/src/sys/sys sys
62         -ln -fs /usr/src/sys/ufs/ufs ufs
63         -ln -fs /usr/src/sys/sys h
64         -ln -fs /usr/src/sys/vm vm
65         -touch $(KOBJ)/sec_net.h
66
67
68 # Below this line are targets when in the COMMON directory:
69 LIBAFS = libafs.o
70 LIBAFSNONFS = libafs.nonfs.o
71
72 INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
73 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
74
75 DEST_LIBAFS = ${DEST}/root.client/bin/${LIBAFS}
76 DEST_LIBAFSNONFS = ${DEST}/root.client/bin/${LIBAFSNONFS}
77
78
79 # libafs:       $(LIBAFS) $(LIBAFSNONFS)
80 libafs: $(LIBAFSNONFS)
81 # install_libafs:       $(INST_LIBAFS) $(INST_LIBAFSNONFS)
82 install_libafs: $(INST_LIBAFSNONFS)
83 # dest_libafs:  $(DEST_LIBAFS) $(DEST_LIBAFSNONFS)
84 dest_libafs:    $(DEST_LIBAFSNONFS)
85 #libafs:
86 #       echo WARNING: No kernel module for ${SYS_NAME}
87
88 #install_libafs:
89 #       echo WARNING: No kernel module for ${SYS_NAME}
90
91 #dest_libafs:
92 #       echo WARNING: No kernel module for ${SYS_NAME}
93
94
95 $(INST_LIBAFS): $(LIBAFS)
96         $(INSTALL) -f $? $@
97
98 $(INST_LIBAFSNONFS): $(LIBAFSNONFS)
99         $(INSTALL) -f $? $@
100
101 $(DEST_LIBAFS): $(LIBAFS)
102         $(INSTALL) -f $? $@
103
104 $(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
105         $(INSTALL) -f $? $@
106
107 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
108         $(LD) -r -o ${LIBAFS}.kld ${AFSAOBJS} ${AFSNFSOBJS}
109         gensetdefs ${LIBAFS}.kld
110         $(MAKE) setdef0.o setdef1.o
111         $(LD) -Bshareable -o ${LIBAFS} setdef0.o ${LIBAFS}.kld setdef1.o
112
113 ${LIBAFSNONFS}:  $(AFSAOBJS) $(AFSNONFSOBJS)
114         $(LD) -r -o ${LIBAFSNONFS}.kld ${AFSAOBJS} ${AFSNONFSOBJS}
115         gensetdefs ${LIBAFSNONFS}.kld
116         $(MAKE) setdef0.o setdef1.o
117         $(LD) -Bshareable -o ${LIBAFSNONFS} setdef0.o ${LIBAFSNONFS}.kld setdef1.o
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 setdef0.o: setdef0.c
142         $(CRULE1)
143 setdef1.o: setdef1.c
144         $(CRULE1)