home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume21 / amd / part07 / Makefile.com < prev    next >
Makefile  |  1990-04-10  |  10KB  |  351 lines

  1. #
  2. # $Id: Makefile.com,v 5.1.1.2 90/01/11 16:46:47 jsp Exp Locker: jsp $
  3. #
  4. # Copyright (c) 1990 Jan-Simon Pendry
  5. # Copyright (c) 1990 Imperial College of Science, Technology & Medicine
  6. # Copyright (c) 1990 The Regents of the University of California.
  7. # All rights reserved.
  8. #
  9. # This code is derived from software contributed to Berkeley by
  10. # Jan-Simon Pendry at Imperial College, London.
  11. #
  12. # Redistribution and use in source and binary forms are permitted
  13. # provided that the above copyright notice and this paragraph are
  14. # duplicated in all such forms and that any documentation,
  15. # advertising materials, and other materials related to such
  16. # distribution and use acknowledge that the software was developed
  17. # by Imperial College of Science, Technology and Medicine, London, UK.
  18. # The names of the College and University may not be used to endorse
  19. # or promote products derived from this software without specific
  20. # prior written permission.
  21. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  22. # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  23. # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  24. #
  25. #    %W% (Berkeley) %G%
  26. #
  27.  
  28. #
  29. # -------- Users may care to override these values --------
  30. #
  31. # Any of these values can be overridden by redefining them
  32. # in a file called Makefile.local or Makefile.local.foo (where
  33. # "foo" is the OS name)
  34. #
  35.  
  36. # Where to install amd
  37. ETC = /usr/local/etc
  38.  
  39. # With what to install amd
  40. INSTALL = install
  41. INSTALL_BIN = ${INSTALL} -c -m 711 -o root
  42.  
  43. # Uncomment the next CC line if you want to use GNU CC
  44. # Better yet - put the definition in Makefile.local.<foo>
  45. #CC = gcc ${GCCOPTS}
  46. GCCOPTS = -fcombine-regs -W -Wunused -fstrength-reduce #-finline-functions
  47.  
  48. # Basic C compiler options
  49. CCOPTS = -O
  50.  
  51. # These are for testing/debugging...
  52. # Best to put your own definitions in Makefile.local.<foo>
  53. #CCOPTS =  -g
  54. # Turn on -DDEBUG if you want a running commentary
  55. #DEBUG = -DDEBUG
  56.  
  57. # Define RPCINC if Sun RPC header files are not in the standard place
  58. RPCINC = #-I../../rpc
  59.  
  60. # Define RPCGEN as the name of your Sun *RPC/4* RPCGEN program (not RPC/3)
  61. RPCGEN = rpcgen
  62.  
  63. # System C Compiler - one that is FULLY call compatible with your C libraries
  64. SYSCC = cc
  65. SYSCCFLAGS = ${CFLAGS}
  66.  
  67. # For old makes
  68. SHELL = /bin/sh
  69.  
  70. # -------- YOU SHOULD NOT NEED TO CHANGE ANYTHING BELOW THIS LINE --------
  71.  
  72. # Magic
  73. OS_HDR = os-${OS}.h
  74. OSDEF = -DOS_HDR=\"${OS_HDR}\" -DOS_REP=\"${OS}\" -DARCH_REP=\"${ARCH}\"
  75. CFLAGS = ${CCOPTS} ${DEBUG} ${OSDEF} -I..
  76.  
  77. # Basename of the program we are trying to build
  78. AMD = amd
  79. AMQ = amq
  80. MKMAP = mk-amd-map
  81.  
  82. CC_COMPILE = ${CC} -c ${CFLAGS} ${RPCINC} ${CONFIG}
  83. SYSCC_COMPILE = ${SYSCC} -c ${SYSCCFLAGS} ${RPCINC} ${CONFIG}
  84.  
  85. #
  86. # Keeps sysV make happy:
  87. #
  88. VPATH = ..
  89.  
  90. #
  91. # Autmounter modules
  92. #
  93. MOUNTOBJ = \
  94.     afs_ops.o am_ops.o clock.o efs_ops.o \
  95.     mapc.o info_file.o info_hes.o info_ndbm.o info_yp.o map.o \
  96.     srvr_afs.o srvr_nfs.o \
  97.     mntfs.o misc_rpc.o mount_fs.o mount_xdr.o \
  98.     mtab.o nfs_ops.o nfs_prot_svc.o \
  99.     nfs_start.o nfs_stubs.o nfs_prot_xdr.o \
  100.     opts.o pfs_ops.o rpc_fwd.o \
  101.     sched.o sfs_ops.o \
  102.     amq_svc.o amq_subr.o umount_fs.o util.o \
  103.     ufs_ops.o ifs_ops.o am.o get_args.o \
  104.     rcs_info.o restart.o
  105.  
  106. AMQOBJ = \
  107.     amq.o amq_clnt.o amq_xdr.o misc_rpc.o
  108.  
  109. MAPOBJ = \
  110.     mk-amd-map.o
  111.  
  112. #
  113. # Files defining different O/S flavors
  114. #
  115. OS_FILES = \
  116.     os-acis43.h \
  117.     os-aux.h \
  118.     os-bsd44.h Makefile.bsd44 \
  119.     os-concentrix.h \
  120.     os-defaults.h \
  121.     os-hlh42.h \
  122.     os-hpux.h Makefile.hpux hpux.h \
  123.     os-riscix.h \
  124.     os-sos3.h \
  125.     os-sos4.h \
  126.     os-u2_2.h u2_2-nfs.h \
  127.     os-u3_0.h \
  128.     os-umax43.h \
  129.     os-utx32.h \
  130.     os-xinu43.h
  131.  
  132. # Experimental...
  133. EXPERIMENTAL_OS_FILES = os-aix2.h Makefile.aix2
  134.  
  135. #
  136. # Other files that need to be shipped
  137. #
  138. BITS    = \
  139.     RELEASE \
  140.     COPYRIGHT \
  141.     Configure \
  142.     ChangeLog \
  143.     INSTALL \
  144.     Makefile \
  145.     Makefile.com \
  146.     Makefile.config \
  147.     patchlevel.h \
  148.     newvers.sh \
  149.     README \
  150.     WishList \
  151.     a_master \
  152.     amd-man \
  153.     amq-man \
  154.     amd.start.ex \
  155.     arch \
  156.     os-type
  157.  
  158. #
  159. # Files to ship
  160. #
  161. SHIP    = \
  162.     afs_ops.c am.c am.h am_ops.c amq.c amq.h amq.x amq_clnt.c \
  163.     amq_subr.c amq_svc.c amq_xdr.c clock.c \
  164.     efs_ops.c fs.h get_args.c ifs_ops.c info_file.c info_hes.c \
  165.     info_ndbm.c info_yp.c map.c mapc.c misc_rpc.c mk-amd-map.c \
  166.     mntfs.c mount.h mount.x mount_fs.c mount_xdr.c mtab.c nfs_ops.c \
  167.     nfs_prot.h nfs_prot.x nfs_prot_svc.c nfs_prot_xdr.c nfs_start.c \
  168.     nfs_stubs.c opts.c pfs_ops.c rcs_info.c restart.c rpc_fwd.c sched.c \
  169.     sfs_ops.c srvr_afs.c srvr_nfs.c ufs_ops.c umount_fs.c util.c uwait.h \
  170.     ${OS_FILES} ${BITS}
  171.  
  172. DOCS    = \
  173.     doc/nh.sty doc/nh.doc \
  174.     doc/amd.bbl doc/amd.bib \
  175.     doc/amd.tex
  176.  
  177. EXAMPLES = \
  178.     examples/am.master examples/amd.home \
  179.     examples/amd.homes examples/amd.vol
  180.  
  181. SCRIPTS = \
  182.     scripts/build-userinfo \
  183.     scripts/get-homes \
  184.     scripts/mk-home-maps \
  185.     scripts/auto-banner
  186.  
  187. #
  188. # Files to print
  189. #
  190. PRINT    = ${SHIP} ${SCRIPTS}
  191.  
  192. #
  193. # What to build
  194. #
  195. all: ${AMQ} ${AMD} ${MKMAP}
  196.  
  197. ${AMD}: ${MOUNTOBJ} version.${AMD}
  198.     @sh ../newvers.sh $@
  199.     ${CC_COMPILE} vers.$@.c
  200.     @rm -f $@
  201.     ${CC} -o $@ ${CFLAGS} ${MOUNTOBJ} vers.$@.o ${XLIBDIR} ${DBM} ${RPCLIB} ${RESOLV}
  202.  
  203. ${AMQ}: ${AMQOBJ}
  204.     @rm -f $@
  205.     ${CC} -o $@ ${CFLAGS} ${AMQOBJ} ${RPCLIB} ${XLIBDIR} ${RESOLV}
  206.  
  207. ${MKMAP}: ${MAPOBJ}
  208.     @rm -f $@
  209.     ${CC} -o $@ ${CFLAGS} ${MAPOBJ} ${DBM}
  210.  
  211. version.${AMD}: ../RELEASE
  212. #    @echo Starting ${AMD} versions from zero ...
  213.     @rm -f $@
  214.     @echo 0 > $@
  215.  
  216. lint:
  217.     @for i in ${MOUNTOBJ:.o=.c}; do \
  218.         c="$$c ../$$i"; \
  219.     done; \
  220.     echo lint -chaax ${CFLAGS} $$c; \
  221.     lint -chaax ${CFLAGS} $$c
  222.  
  223. count:
  224.     cat ${MOUNTOBJ:.o=.c} | grep -v '^#' | /lib/cpp | \
  225.     sed -e 's/[     ]*$$//' -e '/^$$/d' | \
  226.     wc
  227.  
  228. FRC:
  229.  
  230. ${MOUNTOBJ}: ../am.h ../${OS_HDR} ../os-defaults.h ../fs.h ../Makefile.config
  231. ${AMQOBJ}: ../amq.h ../${OS_HDR} ../os-defaults.h
  232. ${MAPOBJ}: ../am.h ../${OS_HDR} ../os-defaults.h
  233.  
  234. nfs_start.o: ../amq.h
  235. ../amq.c ../amq_clnt.c ../amq_xdr.c ../amq_svc.c ../amq_subr.c: ../amq.h
  236.  
  237. # We can't use gcc here (at least on sparc) ....
  238. amq.o: ../amq.c; ${SYSCC_COMPILE} ../amq.c
  239. amq_clnt.o: ../amq_clnt.c; ${SYSCC_COMPILE} ../amq_clnt.c
  240. info_ndbm.o: ../info_ndbm.c; ${SYSCC_COMPILE} ../info_ndbm.c
  241. mk-amd-map.o: ../mk-amd-map.c; ${SYSCC_COMPILE} ../mk-amd-map.c
  242.  
  243. #amq.h: amq.x
  244. #    ${RPCGEN} -h -o $@ amq.x
  245. #    @echo amq.h is out of date wrt amq.x - please fix by hand
  246.  
  247. #amq_xdr.c: amq.x
  248. #    ${RPCGEN} -c -o $@ amq.x
  249. #    @echo amq_xdr.c is out of date wrt amq.x - please fix by hand
  250.  
  251. #amq_svc.c: amq.x
  252. #    ${RPCGEN} -m -o $@ amq.x
  253. #    @echo amq_svc.c is out of date wrt amq.x - please fix by hand
  254.  
  255. #amq_clnt.c: amq.x
  256. #    ${RPCGEN} -l -o $@ amq.x
  257. #    @echo amq_clnt.c is out of date wrt amq.x - please fix by hand
  258.  
  259. #
  260. # Don't really need the next two
  261. #
  262. #mount_xdr.c: mount.x
  263. #    ${RPCGEN} -c -o $@ amq.x
  264. #    @echo mount_xdr.c is out of date wrt mount.x - please fix by hand
  265.  
  266. #mount.h: mount.x
  267. #    ${RPCGEN} -h -o $@ mount.x
  268. #    @echo mount.h is out of date wrt mount.x - please fix by hand
  269.  
  270. print: ${PRINT}
  271.     enscript -2Grf Courier7 ${PRINT}
  272.  
  273. sharfile: ${AMD}.shar
  274. ${AMD}.shar: ${SHIP} ${DOCS} ${EXAMPLES} ${SCRIPTS}
  275.     shar -o $@ ${SHIP} doc ${DOCS} examples ${EXAMPLES} scripts ${SCRIPTS}
  276.  
  277. tarfile: ${AMD}.tar.Z
  278. ${AMD}.tar.Z: ${SHIP} ${DOCS} ${EXAMPLES} ${SCRIPTS}
  279.     tar cf - ${SHIP} ${DOCS} ${EXAMPLES} ${SCRIPTS} | compress > $@
  280.  
  281. uufile: tarfile
  282.     uuencode < ${AMD}.tar.Z ${AMD}.tar.Z > ${AMD}.tar.Z.UU
  283.  
  284. install: all
  285.     ${INSTALL_BIN} ${AMD} ${ETC}/${AMD}
  286.     ${INSTALL_BIN} ${AMQ} ${ETC}/${AMQ}
  287.     ${INSTALL_BIN} ${MKMAP} ${ETC}/${MKMAP}
  288.     @echo Please install the manual pages by hand
  289.  
  290. clean:
  291.     -rm -f ${AMD} ${AMQ} ${MKMAP} *.o a.out core #mtab
  292.  
  293. #co:
  294. #    co -l -r${REL} ${SHIP}
  295. #
  296. #release:
  297. #    ci -u -r${REL} -f -m'Version ${VER}' -n${NAME} -s'${NAME}' ${SHIP}
  298.  
  299. pat:
  300.     @touch RELEASE
  301.     pat -n
  302.  
  303. diffs:
  304.     @rcsdiff -q -c2 -r${NAME} ${SHIP} | \
  305.         grep -v '^No differences encountered$$'
  306.  
  307. afs_ops.o: ../afs_ops.c; ${CC_COMPILE} ../afs_ops.c
  308. am.o: ../am.c; ${CC_COMPILE} ../am.c
  309. am_ops.o: ../am_ops.c; ${CC_COMPILE} ../am_ops.c
  310. clock.o: ../clock.c; ${CC_COMPILE} ../clock.c
  311. get_args.o: ../get_args.c; ${CC_COMPILE} ../get_args.c
  312. efs_ops.o: ../efs_ops.c; ${CC_COMPILE} ../efs_ops.c
  313. ifs_ops.o: ../ifs_ops.c; ${CC_COMPILE} ../ifs_ops.c
  314. info_file.o: ../info_file.c; ${CC_COMPILE} ../info_file.c
  315. info_hes.o: ../info_hes.c; ${CC_COMPILE} ../info_hes.c
  316. #info_ndbm.o: ../info_ndbm.c; ${CC_COMPILE} ../info_ndbm.c
  317. info_yp.o: ../info_yp.c; ${CC_COMPILE} ../info_yp.c
  318. map.o: ../map.c; ${CC_COMPILE} ../map.c
  319. mapc.o: ../mapc.c; ${CC_COMPILE} ../mapc.c
  320. misc_rpc.o: ../misc_rpc.c; ${CC_COMPILE} ../misc_rpc.c
  321. #mk-amd-map.o: ../mk-amd-map.c; ${CC_COMPILE} ../mk-amd-map.c
  322. mntfs.o: ../mntfs.c; ${CC_COMPILE} ../mntfs.c
  323. mount_fs.o: ../mount_fs.c; ${CC_COMPILE} ../mount_fs.c
  324. mount_xdr.o: ../mount_xdr.c; ${CC_COMPILE} ../mount_xdr.c
  325. mtab.o: ../mtab.c; ${CC_COMPILE} ../mtab.c
  326. nfs_ops.o: ../nfs_ops.c; ${CC_COMPILE} ../nfs_ops.c
  327. nfs_prot_svc.o: ../nfs_prot_svc.c; ${CC_COMPILE} ../nfs_prot_svc.c
  328. nfs_start.o: ../nfs_start.c; ${CC_COMPILE} ../nfs_start.c
  329. nfs_stubs.o: ../nfs_stubs.c; ${CC_COMPILE} ../nfs_stubs.c
  330. nfs_prot_xdr.o: ../nfs_prot_xdr.c; ${CC_COMPILE} ../nfs_prot_xdr.c
  331. opts.o: ../opts.c; ${CC_COMPILE} ../opts.c
  332. pfs_ops.o: ../pfs_ops.c; ${CC_COMPILE} ../pfs_ops.c
  333. rcs_info.o: ../rcs_info.c; ${CC_COMPILE} ../rcs_info.c
  334. restart.o: ../restart.c; ${CC_COMPILE} ../restart.c
  335. rpc_fwd.o: ../rpc_fwd.c; ${CC_COMPILE} ../rpc_fwd.c
  336. sched.o: ../sched.c; ${CC_COMPILE} ../sched.c
  337. sfs_ops.o: ../sfs_ops.c; ${CC_COMPILE} ../sfs_ops.c
  338. srvr_afs.o: ../srvr_afs.c; ${CC_COMPILE} ../srvr_afs.c
  339. srvr_nfs.o: ../srvr_nfs.c; ${CC_COMPILE} ../srvr_nfs.c
  340. #svc_udp2.o: ../svc_udp2.c; ${CC_COMPILE} ../svc_udp2.c
  341. #tfs_ops.o: ../tfs_ops.c; ${CC_COMPILE} ../tfs_ops.c
  342. ufs_ops.o: ../ufs_ops.c; ${CC_COMPILE} ../ufs_ops.c
  343. umount_fs.o: ../umount_fs.c; ${CC_COMPILE} ../umount_fs.c
  344. util.o: ../util.c; ${CC_COMPILE} ../util.c
  345. version.o: ../version.c; ${CC_COMPILE} ../version.c
  346. amq_svc.o: ../amq_svc.c; ${CC_COMPILE} ../amq_svc.c
  347. amq_subr.o: ../amq_subr.c; ${CC_COMPILE} ../amq_subr.c
  348. #amq.o: ../amq.c; ${CC_COMPILE} ../amq.c
  349. #amq_clnt.o: ../amq_clnt.c; ${CC_COMPILE} ../amq_clnt.c
  350. amq_xdr.o: ../amq_xdr.c; ${CC_COMPILE} ../amq_xdr.c
  351.