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