Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / libafs / MakefileProto.FBSD.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3 #
4 # This software has been released under the terms of the IBM Public
5 # License. For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7 #
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10
11 # tell bsd.kmod.mk to build us vnode_if*
12 SRCS= vnode_if.h
13
14 # We must set SRCS to include at least one .c file if we are also using
15 # vnode_if.h, due to a bug in the system makefiles where the empty string
16 # gets expanded to a ".o" entry in OBJS, which there is (correctly) no
17 # rule to make. For simplicity, just set this as all of what would
18 # otherwise be AFS_OS_OBJS so that people have a familiar list to look for.
19 #
20 # OS specific "object" files:
21 SRCS+= \
22 osi_crypto.c \
23 osi_gcpags.c \
24 osi_groups.c \
25 osi_file.c \
26 osi_inode.c \
27 osi_misc.c \
28 osi_sleep.c \
29 osi_vcache.c \
30 osi_vm.c \
31 osi_vnodeops.c \
32 osi_module.c
33
34 #AFS_OS_NFSOBJS = \
35 # osi_vfsops_nfs.o
36
37 AFS_OS_NONFSOBJS = \
38 osi_vfsops.o
39
40 # System specific build commands and flags
41 KSRC = @BSD_KERNEL_PATH@
42 KBLD = @BSD_KERNEL_BUILD@
43
44 # keep symbols if --enable-debug-kernel
45 AC_DEBUG_FLAGS = @DEBUG_FLAGS@
46 .if !empty(AC_DEBUG_FLAGS)
47 DEBUG_FLAGS= ${AC_DEBUG_FLAGS}
48 .endif
49
50 # We are not doing very well (WARNS=2 brings in printf format type checking)
51 WARNS= 1
52 # We have some sketchy code that redeclares prototypes
53 CWARNFLAGS+= -Wno-redundant-decls
54
55 # setup for bsd.kmod.mk infrastructure
56 .PATH: ${TOP_SRCDIR}/afs/FBSD
57 KMODDIR=/boot/modules
58 KMOD= libafs
59 SYSDIR= ${KSRC}
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 # The common sysincludes code needs the 'h' symlink.
70 # We cannot include bsd.kmod.mk in this file directly, because it will start
71 # generating headers and objects in this directory, which we want in $(KOBJ).
72 # We also need the install target from bsd.kmod.mk in $(KOBJ), but the one
73 # from Makefile.common in this directory. A prime candidate for cleanup.
74 setup:
75 -mkdir $(KOBJ)
76 -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common
77 $(CP) Makefile $(KOBJ)/Makefile
78 echo ".include <bsd.kmod.mk>" >> $(KOBJ)/Makefile
79 sed -e 's/^install:/afsinstall:/' Makefile.common > $(KOBJ)/Makefile.common
80 -$(RM) -f h
81 -ln -fs ${KSRC}/sys h
82
83 # Makefile.common sets AFSAOBJS, COMMON_INCLUDE, TOP_{SRC,OBJ}*, and the like.
84 # We must live with its other pollution of targets and build rules.
85 include Makefile.common
86
87 # we only do the no-NFS case
88 OBJS= ${AFSAOBJS} ${AFSNONFSOBJS}
89
90 LIBAFSNONFS= libafs.ko
91 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
92 CFLAGS+= $(DEFINES) ${COMMON_INCLUDE}
93
94 INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
95 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
96
97 DEST_LIBAFS = ${DEST}/root.client/bin/${LIBAFS}
98 DEST_LIBAFSNONFS = ${DEST}/root.client/bin/${LIBAFSNONFS}
99
100 install_libafs: $(LIBAFSNONFS) install
101
102 dest_libafs: $(LIBAFSNONFS)
103 ${INSTALL} -d ${DEST}/root.client/bin
104 ${INSTALL} -m 644 $(LIBAFSNONFS) $(DEST_LIBAFSNONFS)
105
106 # This is ugly, but the common infrastructure needs a libafs target.
107 libafs: depend $(LIBAFSNONFS)
108