initial-freebsd-port-work-20010414
[openafs.git] / src / sys / Makefile
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 # System calls.
9
10 SHELL = /bin/sh
11 COMPONENT=sys
12 include ../config/Makefile.${SYS_NAME}
13
14 MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
15
16 UKERNELDIR=../libuafs/
17 CFLAGS= ${DBUG}  -I${SRCDIR}include  ${XCFLAGS} ${DBG_DEFS}
18 SFLAGS=-P -I${SRCDIR}include  
19 LIBS= libsys.a ${SRCDIR}lib/librx.a libsys.a ${SRCDIR}lib/liblwp.a ${SRCDIR}lib/afs/util.a ${XLIBS}
20 UKSRCS=afsl.exp
21
22 OBJECTS= afssyscalls.o syscall.o
23 RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o 
24
25 include ../config/Makefile.version
26
27 all: libsys.a ${DESTDIR}etc/rmtsysd  ${DESTDIR}include/afs/afssyscalls.h \
28         ${DESTDIR}bin/pagsh  ${DESTDIR}bin/pagsh.krb
29
30 ${DESTDIR}etc/rmtsysd: rmtsysd
31         ${INSTALL} -s rmtsysd ${DESTDIR}etc/rmtsysd
32
33 ${DESTDIR}bin/pagsh: pagsh
34         ${INSTALL} -s pagsh ${DESTDIR}bin/pagsh
35
36 ${DESTDIR}bin/pagsh.krb: pagsh.krb
37         ${INSTALL} -s pagsh.krb ${DESTDIR}bin/pagsh.krb
38
39 ${DESTDIR}include/afs/afssyscalls.h: afssyscalls.h
40         ${INSTALL} afssyscalls.h ${DESTDIR}include/afs/afssyscalls.h
41
42 libsys.a: ${OBJECTS} ${RMTOBJS} AFS_component_version_number.o
43         -rm -f libsys.a
44         ${AR} r libsys.a ${OBJECTS} ${RMTOBJS} AFS_component_version_number.o
45         $(RANLIB) libsys.a
46         case "${SYS_NAME}" in                           \
47             rs_aix*)            \
48                 ${AR} r libsys.a afsl.exp;;             \
49         esac
50
51 system: install
52
53 kinstall:
54         case "${SYS_NAME}" in                           \
55             rs_aix*)                    \
56                 ${INSTALL} afs.exp ${DESTDIR}lib/afs;;  \
57             sgi_6? ) \
58                 ${INSTALL} xfsattrs.h ../libafs/afs;; \
59             *)                                          \
60                 echo No $@ source here;;                \
61         esac
62
63 install: all kinstall ukinstall
64         ${INSTALL} libsys.a ${DESTDIR}lib/afs
65         case "${SYS_NAME}" in \
66         sgi_6? ) \
67                 ${INSTALL} xfsattrs.h ${DESTDIR}include/afs;; \
68         esac
69
70 ukinstall webinstall: ${UKSRCS}
71         set ${UKERNELDIR}afs; $(MKDIR_IF_NEEDED)
72         ${INSTALL} ${UKSRCS} ${UKERNELDIR}afs
73
74 tests:  pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
75
76 syscall.o: syscall.s
77         case "$(SYS_NAME)" in \
78          sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_54) \
79                 /usr/ccs/lib/cpp  ${SFLAGS} syscall.s syscall.ss; \
80                 as -o syscall.o syscall.ss;             \
81                 rm syscall.ss;;                         \
82          sgi_* |ppc_darwin* ) \
83                 ${CC} ${CFLAGS} -c syscall.s;;          \
84          alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
85                 ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER syscall.s; \
86                 ${AS} -o syscall.o syscall.i; \
87                 rm -f syscall.ss syscall.i;; \
88          hp_ux11? ) \
89                 touch syscall.o;; \
90         i386_fbsd* ) \
91                 touch syscall.o;; \
92          *) \
93                 /lib/cpp  ${SFLAGS} syscall.s syscall.ss; \
94                 as -o syscall.o syscall.ss;             \
95                 rm syscall.ss;;                         \
96         esac
97
98
99 afssyscalls.o: afssyscalls.c afssyscalls.h
100         ${CC} ${CFLAGS} -c afssyscalls.c
101
102 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
103 rmtsysd: AFS_component_version_number.o
104
105 rmtsys.cs.c rmtsys.ss.c rmtsys.xdr.c rmtsys.h: rmtsys.xg
106         ${SRCDIR}bin/rxgen rmtsys.xg
107
108 rmtsysd: rmtsysd.o libsys.a
109         ${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
110
111
112 pagsh:  libsys.a AFS_component_version_number.o
113         ${CC} ${CFLAGS} -c pagsh.c
114         ${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
115
116 pagsh.krb: libsys.a
117         ${CC} ${CFLAGS} -c pagsh.c -DAFS_KERBEROS_ENV 
118         ${CC} ${CFLAGS} -o pagsh.krb pagsh.o ${LIBS}
119
120 # Test programs.
121
122 iinc:   iinc.c 
123         case "${SYS_NAME}" in                           \
124             sgi_6*) \
125                 $(CC) -o iinc ${CFLAGS} iinc.c libsys.a;; \
126             *)                                          \
127                 $(CC) -o iinc -I${SRCDIR}include iinc.c ${LIBS} ${XLIBS};; \
128         esac
129 idec:   idec.c  AFS_component_version_number.c
130         case "${SYS_NAME}" in                           \
131             sgi_6* ) \
132                 $(CC) -o idec ${CFLAGS} idec.c libsys.a;; \
133             *)                                          \
134                 $(CC) -o idec -I${SRCDIR}include idec.c ${LIBS} ${XLIBS};; \
135         esac
136 icreate:icreate.c  AFS_component_version_number.c
137         case "${SYS_NAME}" in                           \
138             sgi_6* ) \
139                 $(CC) -o icreate ${CFLAGS} icreate.c libsys.a;; \
140             *)                                          \
141                 $(CC) -o icreate -I${SRCDIR}include icreate.c ${XLIBS};; \
142         esac
143 iopen:  iopen.c  AFS_component_version_number.c
144         case "${SYS_NAME}" in                           \
145             sgi_6* ) \
146                 $(CC) -o iopen ${CFLAGS} iopen.c libsys.a;; \
147             *)                                          \
148                 $(CC) -o iopen -I${SRCDIR}include iopen.c ${XLIBS};; \
149         esac
150 iread:  iread.c  AFS_component_version_number.c
151         case "${SYS_NAME}" in                           \
152             sgi_6* ) \
153                 ${CC} -o iread ${CFLAGS} iread.c libsys.a;; \
154             *)                                          \
155                 ${CC} -o iread -I${SRCDIR}include iread.c ${XLIBS};; \
156         esac
157 iwrite: iwrite.c  AFS_component_version_number.c
158         case "${SYS_NAME}" in                           \
159             sgi_6* ) \
160                 ${CC} -o iwrite ${CFLAGS} iwrite.c libsys.a;; \
161             *)                                          \
162                 ${CC} -o iwrite -I${SRCDIR}include iwrite.c ${XLIBS};; \
163         esac
164 istat:  istat.c  AFS_component_version_number.c
165         case "${SYS_NAME}" in                           \
166                 sgi_6* ) \
167                 $(CC) -o istat ${CFLAGS} istat.c libsys.a;; \
168             *)                                          \
169                 $(CC) -o istat -I${SRCDIR}include istat.c ${XLIBS};; \
170         esac
171 fixit:  fixit.c AFS_component_version_number.c
172         $(CC) -o fixit -IDEST/include fixit.c libsys.a 
173
174
175 xfsinode: xfsinode.c  AFS_component_version_number.c
176         case "${SYS_NAME}" in \
177                 sgi_62 | sgi_64 ) \
178                 $(CC) -o xfsinode ${CFLAGS} xfsinode.c libsys.a;; \
179         esac
180
181
182
183 clean:
184         rm -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
185         rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
186         rmtsysd AFS_component_version_number.c
187
188 beancount:
189         wc -l *.c *.s