home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / contrib / smail / smail-3.1 / smail-3 / smail-3.1.28 / Makefile < prev    next >
Makefile  |  1994-05-30  |  4KB  |  124 lines

  1. #!/bin/make -f
  2. # @(#)Makefile    1.10 9/20/92 17:10:17
  3. # Top-level makefile for the smail source tree
  4. #
  5. #    Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
  6. #    Copyright (C) 1992  Ronald S. Karr
  7. # See the file COPYING, distributed with smail, for restriction
  8. # and warranty information.
  9.  
  10. SHELL=/bin/sh
  11. MAKE=make
  12. GET=sccs get
  13. AR=ar
  14. LINT=lint
  15. CLEAN=sccs clean
  16. MK=${MAKE} -${MAKEFLAGS} SHELL=${SHELL}
  17. SRC_PREFIX=
  18. MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
  19. MKDEFS=${ROOT}/conf/lib/mkdefs.sh
  20. CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
  21. DEFS_SH=defs.sh
  22. DEFS_H=defs.h
  23. DEFS_SED=defs.sed
  24.  
  25. ROOT=.
  26. SUB_DIRS=conf compat pd util src man
  27. MORE_SUB_DIRS=contrib guide NOTES
  28. MISCSRC=Makefile level patchnum README CHANGES COPYING
  29. SRC=${MISCSRC}
  30.  
  31. all:    build_smail
  32.  
  33. build_smail: ${DEFS_H} ${DEFS_SH} ${DEFS_SED}
  34.     @for i in ${SUB_DIRS}; do \
  35.         echo "Build targets under ${SRC_PREFIX}$$i ..."; \
  36.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/); \
  37.      done    # $(MAKE)
  38.  
  39. sources: ${SRC}
  40.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  41.         echo "Get sources under ${SRC_PREFIX}$$i ..."; \
  42.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ sources); \
  43.      done    # $(MAKE)
  44.  
  45. ${SRC}:
  46.     ${GET} $@
  47.  
  48. ${DEFS_H} ${DEFS_SH} ${DEFS_SED}:
  49.     ROOT=${ROOT} ${SHELL} ${MKDEFS}
  50.  
  51. names:
  52.     @for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done
  53.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  54.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ names); \
  55.      done    # $(MAKE)
  56.  
  57. depend:    local_depend subdir_depend
  58.  
  59. local_depend: check_defs
  60.     ${SHELL} ${MKDEPEND} Makefile
  61.     . ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> Makefile
  62.     chmod -w Makefile
  63.  
  64. subdir_depend:
  65.     @for i in ${SUB_DIRS}; do \
  66.         echo "Make dependencies under ${SRC_PREFIX}$$i ..."; \
  67.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ depend); \
  68.      done    # $(MAKE)
  69.  
  70. check_defs:
  71.     SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}
  72.  
  73. install: ${DEFS_SH}
  74.     @. ./${DEFS_SH}; \
  75.        case "$$DONT_INSTALL" in \
  76.        ?*)    echo Testing ... install ignored; exit 0;; \
  77.        esac
  78.        for i in ${SUB_DIRS}; do \
  79.         echo "Install targets under ${SRC_PREFIX}$$i ..."; \
  80.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ install); \
  81.        done # $(MAKE)
  82.  
  83. installman:
  84.     @echo "Install man pages under ${SRC_PREFIX}man ..."
  85.     cd man; ${MK} SRC_PREFIX=${SRC_PREFIX}man/ installman # $(MAKE)
  86.  
  87. clean:
  88.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
  89.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  90.         echo "Clean under ${SRC_PREFIX}$$i ..."; \
  91.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ clean); \
  92.      done    # $(MAKE)
  93.  
  94. clobber:
  95.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
  96.     rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED} .Makefile
  97.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  98.         echo "Clobber under ${SRC_PREFIX}$$i ..."; \
  99.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ clobber); \
  100.      done    # $(MAKE)
  101.  
  102. nuke:
  103.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
  104.     rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED} .Makefile
  105.     -${CLEAN}
  106.     -${GET} Makefile
  107.     @for i in ${SUB_DIRS} ${MORE_SUB_DIRS}; do \
  108.         echo "Nuke under ${SRC_PREFIX}$$i ..."; \
  109.         (cd $$i; ${MK} SRC_PREFIX=${SRC_PREFIX}$$i/ nuke); \
  110.      done    # $(MAKE)
  111.  
  112. # DO NOT REMOVE THIS LINE, OR "make depend" WILL NOT WORK
  113. # Miscellaneous dependencies
  114. defs.sh defs.h defs.sed: ${ROOT}/conf/EDITME
  115. defs.sh defs.h defs.sed: ${ROOT}/conf/lib/arch.h
  116. defs.sh defs.h defs.sed: ${ROOT}/conf/lib/mkdefs.sh
  117. defs.sh defs.h defs.sed: ${ROOT}/conf/os/linux
  118. defs.sh defs.h defs.sed: ${ROOT}/conf/arch/32bit
  119. version.sh version.h version.sed: ${ROOT}/conf/lib/mkversion.sh
  120. version.sh version.h version.sed: ${ROOT}/level
  121. version.sh version.h version.sed: ${ROOT}/patchnum
  122.  
  123.