2effa7a09b3de2b569a38ce45ad0d432a08c3ef7
[openafs.git] / src / 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 SHELL=/bin/sh
9 DESTDIR=dest/
10 SRCDIR=${DESTDIR}
11 INSTALL=${SRCDIR}bin/install
12 WASHTOOL=${SRCDIR}bin/washtool
13
14 #WASHTOOLRCSUPDATE=${WASHTOOL} rcsupdate
15 WASHTOOLCMD=$(MAKE)
16 WASHTOOLFLAGS=-argument install
17
18 COMPILE_PART1=${WASHTOOL} ${WASHTOOLCMD}
19 COMPILE_PART2=${WASHTOOLFLAGS}
20
21 MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
22
23 # Enable build+install of obsolete and insecure packages
24 # Set to anything other than YES, or comment out to disable the build
25 WITH_OBSOLETE=YES
26 WITH_INSECURE=YES
27
28 # To compile AFS from scratch in the src tree run "make SYS_NAME=<type>".
29 #   This recursively calls "make install ..." and does not depend on the
30 #   existence of any non-standard programs.
31 # To compile a package and all its predecessors using washtool run
32 #   "make <package>".  This requires that @sys works, and that washtool,
33 #   rcsupdate and our version of ci and co exist.
34 # To compile for the kernel type "make blibafs".  This assumes washtool,
35 #   install, rxgen, compile_et and others already exist and runs it with
36 #   "-argument kinstall".
37
38 all:
39         set ${SYS_NAME}/dest; $(MKDIR_IF_NEEDED)
40         $(MAKE) install "COMPILE_PART1=cd obj; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=`pwd`/${SYS_NAME}/obj" "COMPILE_PART3=; $(MAKE) SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=`pwd`/${SYS_NAME}/obj" SYS_NAME=${SYS_NAME} "WASHTOOL=echo No washtool: "
41
42 basics:
43         -if test -f "${WASHTOOL}"; \
44          then \
45                 ${WASHTOOL} project . . -noretarget; \
46                 ${WASHTOOL} destdir; \
47         fi
48 #       test -d ${DESTDIR}
49
50 minproject: basics
51         ${WASHTOOL} project . . -noretarget
52         ${WASHTOOL} destdir
53
54 project: basics cmd comerr minproject   # try and initialize project
55
56 config: basics
57         ${COMPILE_PART1} config ${COMPILE_PART2}
58
59 pinstall: basics config
60         ${COMPILE_PART1} pinstall ${COMPILE_PART2}
61
62 procmgmt: basics config pinstall
63         ${COMPILE_PART1} procmgmt ${COMPILE_PART2}
64
65 util: basics pinstall procmgmt
66         ${COMPILE_PART1} util ${COMPILE_PART2}
67
68 kernutil: basics pinstall
69         ${COMPILE_PART1} util ${COMPILE_PART3} kinstall
70
71 audit: basics pinstall rx rxkad fsint
72         ${COMPILE_PART1} audit ${COMPILE_PART2}
73
74 comerr: basics util
75         ${COMPILE_PART1} comerr ${COMPILE_PART2}
76
77 cmd: basics comerr
78         ${COMPILE_PART1} cmd ${COMPILE_PART2}
79         @case ${SYS_NAME} in \
80         sgi_6* | sun4x_57 | sun4x_58 | hp_ux11* | sparc64_linux* | alpha_linux* ) \
81                 ${COMPILE_PART1} cmd ${COMPILE_PART2} install64 ;; \
82         esac
83
84 lwp: project util
85         ${COMPILE_PART1} lwp ${COMPILE_PART2}
86
87 rxgen: minproject pinstall
88         ${COMPILE_PART1} rxgen ${COMPILE_PART2}
89
90 rxobj:
91         ${WASHTOOL} object rx
92
93 kernrx: 
94         ${COMPILE_PART1} rx ${COMPILE_PART2}
95
96 rx: project lwp rxgen
97         ${COMPILE_PART1} rx ${COMPILE_PART2}
98
99 rxstat: rx
100         ${COMPILE_PART1} rxstat ${COMPILE_PART2}
101
102 krxstat:
103         ${COMPILE_PART1} rxstat ${COMPILE_PART3} kinstall
104
105 rxincls: rxobj
106         ${COMPILE_PART1} rx ${COMPILE_PART3} kinstall
107
108 rxtests: rxobj
109         ${COMPILE_PART1} rx ${COMPILE_PART3} test
110
111 fsint: project kfsint
112         ${COMPILE_PART1} fsint ${COMPILE_PART2}
113
114 kfsint: rxgen rxincls
115         ${COMPILE_PART1} fsint ${COMPILE_PART3} kinstall
116
117 export2: project fsint
118
119 export: minproject kfsint
120         @case ${SYS_NAME} in \
121         rs_aix*)        \
122             ${COMPILE_PART1} export ${COMPILE_PART2} ;; \
123           * ) echo skipping export for ${SYS_NAME} ;; \
124         esac
125
126 afs: project export
127         ${COMPILE_PART1} afs ${COMPILE_PART2}
128
129 des: minproject config
130         if [ -f "obj/des/Makefile" ] ; then \
131            ${COMPILE_PART1} des ${COMPILE_PART2} ; \
132         else \
133            ${COMPILE_PART1} des_stub ${COMPILE_PART2} ; \
134         fi
135
136 sys: project des rx rxstat fsint
137         ${COMPILE_PART1} sys ${COMPILE_PART2}
138
139 rxkad: project des
140         ${WASHTOOL} object rxkad
141         ${WASHTOOL} object rxkad/domestic
142         ${COMPILE_PART1} rxkad ${COMPILE_PART2}
143
144 kernrxkad: minproject
145         ${WASHTOOL} object rxkad
146         ${WASHTOOL} object rxkad/domestic
147         ${COMPILE_PART1} rxkad ${COMPILE_PART3} kinstall
148
149 kernauth: 
150         ${COMPILE_PART1} auth ${COMPILE_PART2}
151
152 auth: project comerr des lwp rx sys rxkad audit
153         ${COMPILE_PART1} auth ${COMPILE_PART2}
154
155 ubik: project auth 
156         ${COMPILE_PART1} ubik ${COMPILE_PART2}
157
158 #       cd obj/ubik; $(MAKE) test SYS_NAME=${SYS_NAME} 
159 ubiktests: ubik sys
160         ${COMPILE_PART1} ubik ${COMPILE_PART3}
161
162 ptserver: project ubik cmd comerr auth audit
163         ${COMPILE_PART1} ptserver ${COMPILE_PART2}
164
165 kauth: project ubik cmd auth comerr ptserver audit libacl
166         ${COMPILE_PART1} kauth ${COMPILE_PART2}
167
168 dauth: project ubik cmd auth comerr
169         ${COMPILE_PART1} dauth ${COMPILE_PART2}
170
171 kernacl:
172         ${COMPILE_PART1} libacl ${COMPILE_PART3} kinstall
173
174 libacl: project ptserver
175         ${COMPILE_PART1} libacl ${COMPILE_PART2}
176
177 kerndir: minproject 
178         ${COMPILE_PART1} dir ${COMPILE_PART3} kinstall
179
180 dir: project
181         ${COMPILE_PART1} dir ${COMPILE_PART2}
182
183 vol: project dir afs 
184         ${COMPILE_PART1} vol ${COMPILE_PART2}
185
186 vlserver: project vol audit
187         ${COMPILE_PART1} vlserver ${COMPILE_PART2}
188
189 kvlserver: minproject
190         ${COMPILE_PART1} vlserver ${COMPILE_PART3} kinstall
191
192 viced: project vlserver audit
193         ${COMPILE_PART1} viced  ${COMPILE_PART2}
194
195 tviced: project viced vlserver libafsrpc libafsauthent
196         case ${SYS_NAME} in \
197         alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
198                 ${COMPILE_PART1} tviced  ${COMPILE_PART2} ;; \
199         *) \
200                 echo Not building MT viced for ${SYS_NAME} ;; \
201         esac
202
203 volser: project tviced usd kauth audit
204         ${COMPILE_PART1} volser ${COMPILE_PART2}
205
206 venus: project volser ptserver
207         ${COMPILE_PART1} venus ${COMPILE_PART2}
208         ${COMPILE_PART1} venus/test ${COMPILE_PART2}
209
210 afsd: project sys kauth
211         ${COMPILE_PART1} afsd ${COMPILE_PART2}
212
213 null: project
214         ${COMPILE_PART1} null ${COMPILE_PART2}
215
216 gtx: project null auth # kauth rxkad ?
217         case ${SYS_NAME} in \
218           rs_aix* | sun4x_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd*) \
219                 rm -f ${DESTDIR}lib/afs/libtermlib.a; \
220                 ln -s libnull.a ${DESTDIR}lib/afs/libtermlib.a; \
221                 ${COMPILE_PART1} gtx ${COMPILE_PART2};; \
222           *) \
223                 rm -f ${DESTDIR}lib/afs/libtermlib.a; \
224                 ln -s /usr/lib/libtermlib.a ${DESTDIR}lib/afs/libtermlib.a; \
225                 ${COMPILE_PART1} gtx ${COMPILE_PART2};; \
226         esac
227
228 fsprobe: project util fsint
229         ${COMPILE_PART1} fsprobe ${COMPILE_PART2}
230
231 scout: project gtx fsprobe
232         ${COMPILE_PART1} scout ${COMPILE_PART2}
233
234 uss: des kauth project rx vlserver vol
235         ${COMPILE_PART1} uss ${COMPILE_PART2}
236
237 bozo: project ntp audit
238         ${COMPILE_PART1} bozo ${COMPILE_PART2}
239
240
241 # Removed from respective case statements below:
242 # ${COMPILE_PART1} vfsckaix42 ${COMPILE_PART2} ;;
243 # ${COMPILE_PART1} vfscksol25 ${COMPILE_PART2} ;;
244 # ${COMPILE_PART1} vfscksol26 ${COMPILE_PART2} ;;
245 # ${COMPILE_PART1} vfscksol27 ${COMPILE_PART2} ;;
246 vfsck:  minproject vol
247         set -x; \
248         case ${SYS_NAME} in \
249         sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* ) \
250                 echo skip vfsck for ${SYS_NAME} ;; \
251          * ) \
252                 ${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \
253         esac
254
255 login: project kauth rxkad
256         set -x; \
257         case ${SYS_NAME} in \
258         sgi_* ) \
259                 ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
260         rs_aix42 ) \
261                 ${WASHTOOL} object login ; \
262                 ${COMPILE_PART1} tsm41 ${COMPILE_PART2} ;; \
263         alpha_dux* ) \
264                 ${COMPILE_PART1} sia ${COMPILE_PART2} ;; \
265         sun4x_55 ) \
266                  ${COMPILE_PART1} login ${COMPILE_PART2} ;; \
267         sun4x_* | hp_ux11* | *linux* | *fbsd* ) \
268                 ${COMPILE_PART1} pam ${COMPILE_PART2} ;; \
269         ppc_darwin* ) \
270                 echo Skipping login for ${SYS_NAME} ;; \
271         * ) \
272                 ${COMPILE_PART1} login ${COMPILE_PART2} ;; \
273         esac
274
275 KERNELDIR= \
276   afs \
277   kerndir \
278   kfsint \
279   kernrxkad \
280   kernutil \
281   kernacl \
282   kvlserver \
283   krxstat
284
285
286 UKERNELDIR= \
287   afs \
288   dir \
289   rx \
290   fsint \
291   util \
292   auth \
293   rxkad \
294   vlserver \
295   kauth \
296   des \
297   afsweb \
298   rxstat
299
300
301 libafs: minproject libafs_setup ${KERNELDIR}
302         ${COMPILE_PART1} libafs ${COMPILE_PART2}
303
304 libuafs: minproject libuafs_setup ${UKERNELDIR}
305         set -x; \
306         case ${SYS_NAME} in \
307         hp_ux102* ) \
308                 echo Skipping libuafs for ${SYS_NAME} ;; \
309         * ) \
310                 ${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \
311         esac
312
313 afsweb: minproject kauth dauth 
314         ${COMPILE_PART1} afsweb ${COMPILE_PART2}
315
316 update: project auth
317         ${COMPILE_PART1} update ${COMPILE_PART2}
318
319 log: project auth 
320         ${COMPILE_PART1} log ${COMPILE_PART2}
321
322 bu_utils: project
323         ${COMPILE_PART1} bu_utils ${COMPILE_PART2}
324
325 usd: project
326         ${COMPILE_PART1} usd ${COMPILE_PART2}
327
328 bubasics: project comerr
329         ${COMPILE_PART1} bubasics ${COMPILE_PART2}
330
331 butm: project bubasics usd
332         ${COMPILE_PART1} butm ${COMPILE_PART2}
333
334 butc: project bubasics butm budb bucoord cmd
335         ${COMPILE_PART1} butc ${COMPILE_PART2}
336
337 tbutc: project bubasics butm budb bucoord cmd butc
338         case ${SYS_NAME} in \
339         alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux110) \
340                 ${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
341         *) \
342                 echo Not building MT butc for ${SYS_NAME} ;; \
343         esac
344
345 budb: project bubasics
346         ${COMPILE_PART1} budb ${COMPILE_PART2}
347
348 bucoord: project bubasics budb volser
349         ${COMPILE_PART1} bucoord ${COMPILE_PART2}
350
351 xstat: project
352         ${COMPILE_PART1} xstat ${COMPILE_PART2}
353
354 afsmonitor: project gtx xstat
355         ${COMPILE_PART1} afsmonitor ${COMPILE_PART2}
356
357 #
358 # Washtool internal targets
359 #
360 ircs: project
361         case ${SYS_NAME} in \
362         sgi_* ) \
363                 echo skip ircs for ${SYS_NAME} ;; \
364         *) \
365                 ${COMPILE_PART1} ircs ${COMPILE_PART2} ;; \
366         esac
367
368 wash: project
369         case ${SYS_NAME} in \
370         sgi_* ) \
371                 echo skip wash for ${SYS_NAME} ;; \
372         *) \
373                 ${COMPILE_PART1} wash ${COMPILE_PART2} ;; \
374         esac
375
376 tests: rxtests ubiktests
377
378 # pthread based user space RX library
379 libafsrpc: rx rxkad des
380         case ${SYS_NAME} in \
381         alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
382         ${COMPILE_PART1} libafsrpc  ${COMPILE_PART2} ;; \
383         *) \
384                 echo Not building MT libafsrpc for ${SYS_NAME} ;; \
385         esac
386
387 libafsauthent: ubik auth kauth libafsrpc
388         case ${SYS_NAME} in \
389         alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
390         ${COMPILE_PART1} libafsauthent  ${COMPILE_PART2} ;; \
391         *) \
392                 echo Not building MT libafsrpc for ${SYS_NAME} ;; \
393         esac
394
395 libadmin_real: 
396         ${COMPILE_PART1} libadmin ${COMPILE_PART2}
397         ${COMPILE_PART1} libadmin/adminutil ${COMPILE_PART2}
398         ${COMPILE_PART1} libadmin/vos ${COMPILE_PART2}
399         ${COMPILE_PART1} libadmin/client ${COMPILE_PART2}
400         ${COMPILE_PART1} libadmin/kas ${COMPILE_PART2}
401         ${COMPILE_PART1} libadmin/pts ${COMPILE_PART2}
402         ${COMPILE_PART1} libadmin/bos ${COMPILE_PART2}
403         ${COMPILE_PART1} libadmin/cfg ${COMPILE_PART2}
404         ${COMPILE_PART1} libadmin/test ${COMPILE_PART2}
405         ${COMPILE_PART1} libadmin/samples ${COMPILE_PART2}
406
407 libadmin: libafsauthent bozo
408         case ${SYS_NAME} in \
409         alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
410                         $(MAKE) libadmin_real SYS_NAME=$(SYS_NAME) \
411                         WASHTOOL="$(WASHTOOL)" \
412                         COMPILE_PART1="$(COMPILE_PART1)" \
413                         COMPILE_PART2="$(COMPILE_PART2)" \
414                         SRCDIR=$(SRCDIR) DESTDIR=$(DESTDIR) \
415                         DBG_DEFS=$(DBG_DEFS) ;; \
416         *) \
417                 echo Not building MT libadmin for ${SYS_NAME} ;; \
418         esac
419
420 finale: project cmd comerr afsd allrcmds butc tbutc libafs libuafs audit kauth log package \
421         ptserver scout bu_utils ubik uss bozo vfsck volser \
422         venus update xstat afsmonitor dauth tests libafsrpc \
423         libafsauthent libadmin
424         ${COMPILE_PART1} finale ${COMPILE_PART2}
425
426 # Use washtool to ensure MakefileProto is current and obj/libafs exists.
427
428 libafs_setup: config minproject export
429 # How about if no RCSUPDATE exists?
430 #   Well then you're going to lose.  Or, if you insist, set
431 #   WASHTOOLRCSUPDATE to be a no-op
432 # Warning: The next few lines are _extremely_ sensitive to spaces and tabs.
433         ${WASHTOOL} object libafs
434         case ${SYS_NAME} in \
435         alpha_dux* ) \
436                 MKAFS_OSTYPE=DUX;; \
437         hp_ux* ) \
438                 MKAFS_OSTYPE=HPUX;; \
439         *linux*) \
440                 MKAFS_OSTYPE=LINUX;; \
441         *fbsd*) \
442                 MKAFS_OSTYPE=FBSD;; \
443         rs_aix* ) \
444                 MKAFS_OSTYPE=AIX;; \
445         sgi_* ) \
446                 MKAFS_OSTYPE=IRIX;; \
447         sun4x_5* ) \
448                 MKAFS_OSTYPE=SOLARIS;; \
449         ppc_darwin* ) \
450                 MKAFS_OSTYPE=DARWIN;; \
451         * ) \
452                 echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
453         esac; \
454         obj/config/config src/libafs/MakefileProto.$$MKAFS_OSTYPE obj/libafs/Makefile ${SYS_NAME}
455
456 libuafs_setup: config minproject export
457 # How about if no RCSUPDATE exists?
458 #   Well then you're going to lose.  Or, if you insist, set
459 #   WASHTOOLRCSUPDATE to be a no-op
460         ${WASHTOOL} object libuafs
461         case ${SYS_NAME} in \
462         hp_ux* ) \
463                 MKAFS_OSTYPE=HPUX;; \
464         *linux*) \
465                 MKAFS_OSTYPE=LINUX;; \
466         *fbsd*) \
467                 MKAFS_OSTYPE=FBSD;; \
468         rs_aix* ) \
469                 MKAFS_OSTYPE=AIX;; \
470         sun4x_5* ) \
471                 MKAFS_OSTYPE=SOLARIS;; \
472         alpha_dux* ) \
473                 MKAFS_OSTYPE=DUX;; \
474         sgi_6* ) \
475                 MKAFS_OSTYPE=IRIX;; \
476         ppc_darwin* ) \
477                 MKAFS_OSTYPE=DARWIN;; \
478         * ) \
479                 echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
480         esac; \
481         obj/config/config src/libuafs/MakefileProto.$$MKAFS_OSTYPE obj/libuafs/Makefile ${SYS_NAME}
482
483 # "COMPILE_PART1=${COMPILE_PART1}" "COMPILE_PART2=${COMPILE_PART2}" SYS_NAME=${SYS_NAME} ;; 
484
485 TARGET=finale
486 install:
487         $(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" "WASHTOOL=${WASHTOOL}" \
488                 "COMPILE_PART1=${COMPILE_PART1}" \
489                 "COMPILE_PART2=${COMPILE_PART2}" \
490                  DESTDIR=`pwd`/${SYS_NAME}/dest/ \
491                  SRCDIR=`pwd`/${SYS_NAME}/dest/ \
492                  "DBG_DEFS=${DBG_DEFS}"
493
494 # sgi: "NON_SHARED=-non_shared"
495 #updatekdir:
496 #       ${WASHTOOL} rcsupdate ${KERNELDIR} libafs
497
498 kupdate: updatekdir libafs_setup libuafs_setup
499
500 blibafs:
501         $(MAKE) libafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument kinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
502
503 blibuafs:
504         $(MAKE) libuafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument ukinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
505
506 bwebafs: sys
507         $(MAKE) libuafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument webinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
508
509 clean:
510         ${WASHTOOL} every "cd obj/%s; $(MAKE) clean" -rootd obj
511
512 checklist:
513         ${WASHTOOL} every -command \
514           'cd rcs/%s; echo ; echo In %s:; if test x = "x`/bin/ls RCS/*,v`"; then exit 0; else rlog -I RCS/*,v; fi'
515
516 links:
517         echo "Remove the obj directory"
518         - /bin/rm -rf @sys/obj/* ;
519         - /bin/rm -rf @sys/dest/* ;
520         - /bin/mkdir @sys/obj ;
521         echo "Create the obj directories"
522         here=`pwd` ; \
523         cd src; \
524         for file in `find [!NW]* -type d -print` ; do \
525                 /bin/mkdir $${here}/obj/$${file} ; \
526         done;
527         echo "Create the obj file links"
528         here=`pwd` ; \
529         cd src; \
530         for file in `find [!NW]* -type f -print` ; do \
531                 /bin/ln -s `pwd`/$${file} $${here}/obj/$${file} ; \
532         done; \
533         /bin/ln -s $${here}/obj/afsconfig.h.in $${here}/obj/config/afsconfig.h ;
534
535 # config.h link will eventually be replaced with generating the file 
536 # directly from config.h.in via configure run. I'm linking instead of
537 # copying to ease development for now
538
539 #
540 # Below targets are all deprecated, insecure, or obsolte, 
541 # see README.OBSOLETE and README.INSECURE for more info
542 #
543
544 mpp: project
545         @case ${WITH_OBSOLETE} in \
546         YES)    ${COMPILE_PART1} mpp ${COMPILE_PART2} ;; \
547         *)      echo skipping deprecated target: mpp ;; \
548         esac
549
550 package: project mpp
551         @case ${WITH_OBSOLETE} in \
552         YES)    ${COMPILE_PART1} package ${COMPILE_PART2} ;; \
553         *)      echo skipping deprecated target: package ;; \
554         esac
555
556 package.files: package
557         @case ${WITH_OBSOLETE} in \
558         YES)    ${DESTDIR}/bin/makepkgfiles afs.dev ;; \
559         *)      echo skipping deprecated target: package.files ;; \
560         esac
561
562 ntp: project volser
563         @case ${WITH_OBSOLETE} in \
564         YES)    case ${SYS_NAME} in \
565                 sun4x_58 | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \
566                 * ) ${COMPILE_PART1} ntp ${COMPILE_PART2} ;; \
567                 esac ;; \
568         *)      echo skipping deprecated target: ntp ;; \
569         esac
570
571 sgistuff: project rlogind
572         @case ${WITH_OBSOLETE} in \
573         YES)    case ${SYS_NAME} in \
574                 sgi_* ) ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
575                 * ) echo skipping sgistuff for ${SYS_NAME} ;; \
576                 esac ;; \
577         *)      echo skipping deprecated target: sgistuff ;; \
578         esac
579
580 ftpd43+: project kauth rxkad
581         @case ${WITH_INSECURE} in \
582         YES)    case ${SYS_NAME} in \
583                 rs_aix* | sun4x_55 | *linux*) \
584                         ${COMPILE_PART1} ftpd43+ ${COMPILE_PART2} ;; \
585                 *) echo skip ftpd43+ for ${SYS_NAME} ;; \
586                 esac ;; \
587         *)      echo skipping deprecated target: ftpd43+ ;; \
588         esac
589
590 inetd: project kauth rxkad
591         @case ${WITH_INSECURE} in \
592         YES)    ${COMPILE_PART1} inetd ${COMPILE_PART2} ;; \
593         *)      echo skipping deprecated target: inetd ;; \
594         esac
595
596 rsh: project inetd
597         @case ${WITH_INSECURE} in \
598         YES)    ${COMPILE_PART1} rsh ${COMPILE_PART2} ;; \
599         *)      echo skipping deprecated target: rsh ;; \
600         esac
601
602 rlogind: project rsh ftpd43+ login
603         @case ${WITH_INSECURE} in \
604         YES)    case ${SYS_NAME} in \
605                 rs_aix*) ${COMPILE_PART1} rlogind ${COMPILE_PART2} ;; \
606                 *) echo skipping rlogind for ${SYS_NAME} ;; \
607                 esac ;; \
608         *)      echo skipping deprecated target: rlogind ;; \
609         esac
610
611 rcp: project rsh inetd
612         @case ${WITH_INSECURE} in \
613         YES)    case ${SYS_NAME} in \
614                 sgi_* ) echo skip rcp for ${SYS_NAME} ;; \
615                 *)      ${COMPILE_PART1} rcp ${COMPILE_PART2} ;; \
616                 esac ;; \
617         *)      echo skipping deprecated target: rcp ;; \
618         esac
619
620 allrcmds: project rcp rlogind
621
622