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