make-install-support-for-transarc-and-prefix-style-universes-20010907
[openafs.git] / src / libafs / MakefileProto.DUX.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 # MakefileProto for Digital Unix systems
9 #
10 DEST=@DEST@
11 TOP_INCDIR=@TOP_INCDIR@
12 TOP_LIBDIR=@TOP_LIBDIR@
13 TOP_SRCDIR=@TOP_SRCDIR@
14 prefix=@prefix@
15 exec_prefix=@exec_prefix@
16 bindir=@bindir@
17 sbindir=@sbindir@
18 libexecdir=@libexecdir@
19 libdir=@libdir@
20 includedir=@includedir@
21 mandir=@mandir@
22 afssrvbindir=@afssrvbindir@
23 afssrvsbindir=@afssrvsbindir@
24 afssrvlibexecdir=@afssrvlibexecdir@
25 afskerneldir=@afskerneldir@
26 SYS_NAME=@AFS_SYSNAME@
27
28 include config/Makefile.${SYS_NAME}
29
30
31 # OS specific object files:
32 AFS_OS_OBJS = \
33         osi_groups.o \
34         osi_file.o \
35         osi_inode.o \
36         osi_misc.o \
37         osi_sleep.o \
38         osi_vm.o \
39         osi_vnodeops.o 
40
41 AFS_OS_NFSOBJS = \
42         osi_vfsops_nfs.o
43
44 AFS_OS_NONFSOBJS = \
45         osi_vfsops.o
46
47 HEADER_RT = @HEADER_RT@
48
49 # System specific build commands and flags
50 KDEFS=-DLANGUAGE_C -G 4 -I/usr/sys/include -I../include \
51          -I/usr/sys/${HEADER_RT} -I/usr/sys/BINARY \
52         -DDEC3000_500 -DSWAPTYPE=1 -DUERF -DOSF -DCOMPAT_43 -DMACH -DUFS \
53         -DRT -DKERNEL -D_KERNEL  -signed  -no_excpt -Wb,-static -Wco,-nofloat \
54         -Olimit 1000 -D__alpha -Umips -UMIPS 
55 DBUG = -O2 -g3
56 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
57 OPTF=${OPT} 
58 OPTF2=${OPT2} 
59 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
60
61
62 # Name of directory to hold object files and libraries.
63 KOBJ = STATIC
64
65 # This tells Makefile.common to use it's single directory build target.
66 COMPDIRS = single_compdir
67 INSTDIRS = single_instdir
68 DESTDIRS = single_destdir
69
70 include Makefile.common
71
72 setup:
73         -mkdir $(KOBJ)
74         -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
75         ln -s ../Makefile $(KOBJ)/Makefile
76         ln -s ../Makefile.common $(KOBJ)/Makefile.common
77         ln -s ../config $(KOBJ)/config
78         -$(RM) -f  h net netinet rpc ufs nfs  machine sys vm
79         -ln -s /usr/sys/include/net net
80         -ln -s /usr/sys/include/machine machine
81         -ln -s /usr/sys/include/netinet netinet
82         -ln -s /usr/sys/include/nfs nfs
83         -ln -s /usr/sys/include/rpc rpc
84         -ln -s /usr/sys/include/sys sys
85         -ln -s /usr/sys/include/ufs ufs
86         -ln -s /usr/sys/include/sys h
87         -ln -s /usr/sys/include/vm vm
88         -touch $(KOBJ)/sec_net.h
89
90
91 # Below this line are targets when in the COMMON directory:
92 LIBAFS = libafs.o
93 LIBAFSNONFS = libafs.nonfs.o
94 AFSMOD = afs.mod
95
96 INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
97 INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
98 INST_AFSMOD = ${DESTDIR}${afskerneldir}/${AFSMOD}
99
100 DEST_LIBAFS = ${DEST}/root.client/bin/${LIBAFS}
101 DEST_LIBAFSNONFS = ${DEST}/root.client/bin/${LIBAFSNONFS}
102 DEST_AFSMOD = ${DEST}/root.client/bin/${AFSMOD}
103
104
105 .PHONY: libafs install_libafs
106 libafs: ${LIBAFSNONFS} ${AFSMOD}
107 install_libafs: ${INST_LIBAFSNONFS} ${INST_AFSMOD}
108 dest_libafs:    ${DEST_LIBAFSNONFS} ${DEST_AFSMOD}
109
110
111 ${INST_LIBAFS}: ${LIBAFS}
112         $(INSTALL) -f $? $@
113
114 ${INST_LIBAFSNONFS}: ${LIBAFSNONFS}
115         $(INSTALL) -f $? $@
116
117 ${INST_AFSMOD}: ${AFSMOD}
118         $(INSTALL) -f $? $@
119
120 ${DEST_LIBAFS}: ${LIBAFS}
121         $(INSTALL) -f $? $@
122
123 ${DEST_LIBAFSNONFS}: ${LIBAFSNONFS}
124         $(INSTALL) -f $? $@
125
126 ${DEST_AFSMOD}: ${AFSMOD}
127         $(INSTALL) -f $? $@
128
129 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
130         $(LD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS}
131
132 ${LIBAFSNONFS}:  $(AFSAOBJS) $(AFSNONFSOBJS)
133         $(LD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS}
134
135 ${AFSMOD}: ${LIBAFSNONFS}
136         $(LD) -dc -r -o ${AFSMOD} ${LIBAFSNONFS}
137
138 # Object build rules:
139 osi_groups.o: $(AFS)/osi_groups.c
140         $(CRULE1)
141 osi_file.o: $(AFS)/osi_file.c
142         $(CRULE1)
143 osi_inode.o: $(AFS)/osi_inode.c
144         $(CRULE1)
145 osi_misc.o: $(AFS)/osi_misc.c
146         $(CRULE1)
147 osi_sleep.o: $(AFS)/osi_sleep.c
148         $(CRULE1)
149 osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
150         $(CRULE1) -o osi_vfsops_nfs.o
151 osi_vfsops.o: $(AFS)/osi_vfsops.c
152         $(CRULE1) -DAFS_NONFSTRANS
153 osi_vm.o: $(AFS)/osi_vm.c
154         $(CRULE1)
155 osi_vnodeops.o: $(AFS)/osi_vnodeops.c
156         $(CRULE1)