initial-darwin-support-20010327
[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          *) \
91                 /lib/cpp  ${SFLAGS} syscall.s syscall.ss; \
92                 as -o syscall.o syscall.ss;             \
93                 rm syscall.ss;;                         \
94         esac
95
96
97 afssyscalls.o: afssyscalls.c afssyscalls.h
98         ${CC} ${CFLAGS} -c afssyscalls.c
99
100 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
101 rmtsysd: AFS_component_version_number.o
102
103 rmtsys.cs.c rmtsys.ss.c rmtsys.xdr.c rmtsys.h: rmtsys.xg
104         ${SRCDIR}bin/rxgen rmtsys.xg
105
106 rmtsysd: rmtsysd.o libsys.a
107         ${CC} ${CFLAGS} -o rmtsysd rmtsysd.o ${LIBS}
108
109
110 pagsh:  libsys.a AFS_component_version_number.o
111         ${CC} ${CFLAGS} -c pagsh.c
112         ${CC} ${CFLAGS} -o pagsh pagsh.o ${LIBS}
113
114 pagsh.krb: libsys.a
115         ${CC} ${CFLAGS} -c pagsh.c -DAFS_KERBEROS_ENV 
116         ${CC} ${CFLAGS} -o pagsh.krb pagsh.o ${LIBS}
117
118 # Test programs.
119
120 iinc:   iinc.c 
121         case "${SYS_NAME}" in                           \
122             sgi_6*) \
123                 $(CC) -o iinc ${CFLAGS} iinc.c libsys.a;; \
124             *)                                          \
125                 $(CC) -o iinc -I${SRCDIR}include iinc.c ${LIBS} ${XLIBS};; \
126         esac
127 idec:   idec.c  AFS_component_version_number.c
128         case "${SYS_NAME}" in                           \
129             sgi_6* ) \
130                 $(CC) -o idec ${CFLAGS} idec.c libsys.a;; \
131             *)                                          \
132                 $(CC) -o idec -I${SRCDIR}include idec.c ${LIBS} ${XLIBS};; \
133         esac
134 icreate:icreate.c  AFS_component_version_number.c
135         case "${SYS_NAME}" in                           \
136             sgi_6* ) \
137                 $(CC) -o icreate ${CFLAGS} icreate.c libsys.a;; \
138             *)                                          \
139                 $(CC) -o icreate -I${SRCDIR}include icreate.c ${XLIBS};; \
140         esac
141 iopen:  iopen.c  AFS_component_version_number.c
142         case "${SYS_NAME}" in                           \
143             sgi_6* ) \
144                 $(CC) -o iopen ${CFLAGS} iopen.c libsys.a;; \
145             *)                                          \
146                 $(CC) -o iopen -I${SRCDIR}include iopen.c ${XLIBS};; \
147         esac
148 iread:  iread.c  AFS_component_version_number.c
149         case "${SYS_NAME}" in                           \
150             sgi_6* ) \
151                 ${CC} -o iread ${CFLAGS} iread.c libsys.a;; \
152             *)                                          \
153                 ${CC} -o iread -I${SRCDIR}include iread.c ${XLIBS};; \
154         esac
155 iwrite: iwrite.c  AFS_component_version_number.c
156         case "${SYS_NAME}" in                           \
157             sgi_6* ) \
158                 ${CC} -o iwrite ${CFLAGS} iwrite.c libsys.a;; \
159             *)                                          \
160                 ${CC} -o iwrite -I${SRCDIR}include iwrite.c ${XLIBS};; \
161         esac
162 istat:  istat.c  AFS_component_version_number.c
163         case "${SYS_NAME}" in                           \
164                 sgi_6* ) \
165                 $(CC) -o istat ${CFLAGS} istat.c libsys.a;; \
166             *)                                          \
167                 $(CC) -o istat -I${SRCDIR}include istat.c ${XLIBS};; \
168         esac
169 fixit:  fixit.c AFS_component_version_number.c
170         $(CC) -o fixit -IDEST/include fixit.c libsys.a 
171
172
173 xfsinode: xfsinode.c  AFS_component_version_number.c
174         case "${SYS_NAME}" in \
175                 sgi_62 | sgi_64 ) \
176                 $(CC) -o xfsinode ${CFLAGS} xfsinode.c libsys.a;; \
177         esac
178
179
180
181 clean:
182         rm -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
183         rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
184         rmtsysd AFS_component_version_number.c
185
186 beancount:
187         wc -l *.c *.s