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 / util / .Makefile next >
Makefile  |  1994-05-05  |  9KB  |  274 lines

  1. #!/bin/make -f
  2. # @(#)util/Makefile    1.20 9/20/92 16:54:43
  3. # Makefile for the smail utility tools
  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. MKDIRS=${ROOT}/conf/lib/mkdirs.sh
  22. INSTM=${ROOT}/conf/lib/instm.sh
  23. INST=${ROOT}/conf/lib/inst.sh
  24. XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
  25. DEFS_SH=defs.sh
  26. DEFS_H=defs.h
  27. DEFS_SED=defs.sed
  28.  
  29. ROOT=..
  30. SMAILSRC=${ROOT}/src
  31. UTILSRC=${ROOT}/util
  32. INCLUDES=-I${SMAILSRC} $$DBM_INCLUDES $$INCLUDES
  33. REMOTE_SRC=${SMAILSRC}/field.c ${SMAILSRC}/parse.c \
  34.        ${SMAILSRC}/ascii.c ${SMAILSRC}/string.c
  35. LOCAL_SRC=field.c parse.c ascii.c string.c
  36. LOCAL_OBJ=field.o parse.o ascii.o string.o
  37. UTIL_TARGETS=mkline mksort dcasehost mkdbm mkpath \
  38.          pathmerge checkerr getmap gleem unsharmap savelog \
  39.          mkuuwho mkhpath
  40. BIN_TARGETS=mkaliases
  41. TARGETS=${UTIL_TARGETS} ${BIN_TARGETS}
  42. STRIP_TARGETS=mkline mksort dcasehost mkdbm pathmerge gleem unsharmap
  43. OBJ=mkline.o mksort.o dcasehost.o mkdbm.o pathmerge.o \
  44.     gleem.o unsharmap.o ${LOCAL_OBJ}
  45. CSRC=mkline.c mksort.c dcasehost.c mkdbm.c pathmerge.c gleem.c unsharmap.c
  46. HSRC=dbm_compat.h
  47. SHSRC=mkpath.sh checkerr.sh getmap.sh mkaliases.sh \
  48.       savelog.sh mkuuwho.sh mkhpath.sh
  49. AWK_SRC=mkpath.awk mkuuwho.awk
  50. MISCSRC=Makefile
  51. SRC=${CSRC} ${HSRC} ${SHSRC} ${AWK_SRC} ${MISCSRC}
  52. COMPAT_LIB_DIR=${ROOT}/compat
  53. COMPAT_LIB=${COMPAT_LIB_DIR}/compat.a
  54.  
  55. .c.o:
  56.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS ${INCLUDES} -c $*.c
  57.  
  58. all: ${TARGETS}
  59.  
  60. sources: ${SRC}
  61.  
  62. ${SRC}:
  63.     ${GET} $@
  64.  
  65. ${DEFS_H} ${DEFS_SH} ${DEFS_SED}:
  66.     ROOT=${ROOT} ${SHELL} ${MKDEFS}
  67.  
  68. ${COMPAT_LIB}:
  69.     cd ${COMPAT_LIB_DIR}; ${MK}
  70.  
  71. names:
  72.     @for i in ${SRC}; do echo ${SRC_PREFIX}$$i; done
  73.  
  74. install: all
  75.     @. ./${DEFS_SH}; \
  76.        case "$$DONT_INSTALL" in \
  77.        ?*)    echo Testing ... install ignored; exit 0;; \
  78.        esac; \
  79.        l_flag=; \
  80.        case "$$USE_SYMLINKS" in \
  81.        ?*)    l_flag=-l;; \
  82.        esac; \
  83.        ${XEXEC} ${SHELL} ${MKDIRS} -m 0755 $$UTIL_BIN_DIR $$SMAIL_BIN_DIR \
  84.                       $$LIB_DIR $$LIB_DIR/maps $$TMP_DIR; \
  85.        case "$$UNSHAR_MAP_DIR" in \
  86.        ?*)    ${XEXEC} ${SHELL} ${MKDIRS} -m 0755 $$UNSHAR_MAP_DIR \
  87.                        $$UNSHAR_MAP_DIR/work;; \
  88.        esac; \
  89.        ${XEXEC} ${SHELL} ${INSTM} -m 0555 $$UTIL_BIN_DIR ${UTIL_TARGETS}; \
  90.        case $$UTIL_BIN_DIR in \
  91.        "$$SMAIL_BIN_DIR") x=;; \
  92.        *)    xx=$$SMAIL_BIN_DIR/mkaliases;; \
  93.        esac; \
  94.        ${XEXEC} ${SHELL} ${INST} -m 0555 $$l_flag -d $$UTIL_BIN_DIR \
  95.         mkaliases mkaliases $$xx; \
  96.        ${XEXEC} ${SHELL} ${INSTM} -m 0444 $$UTIL_BIN_DIR ${AWK_SRC}; \
  97.        case "$$STRIP" in \
  98.        ?*)    for i in ${STRIP_TARGETS}; do \
  99.             ${XEXEC} strip $$UTIL_BIN_DIR/$$i; \
  100.             if [ -x /usr/bin/mcs ]; then \
  101.                 ${XEXEC} mcs -d $$UTIL_BIN_DIR/$$i; \
  102.             fi; \
  103.         done; \
  104.        esac
  105.  
  106. depend local_depend: check_defs
  107.     -@for i in ${LOCAL_SRC}; do \
  108.         if cmp -s $$i ${SMAILSRC}/$$i; then \
  109.             : ; \
  110.         else \
  111.             ${XEXEC} rm -f $$i; cp ${SMAILSRC}/$$i $$i; \
  112.         fi; \
  113.     done
  114.     @. ./${DEFS_SH}; ${XEXEC} ${SHELL} ${MKDEPEND} $$CPPFLAGS ${INCLUDES} \
  115.         Makefile ${CSRC} ${LOCAL_SRC}
  116.     . ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> Makefile
  117.     chmod -w Makefile
  118.  
  119. check_defs:
  120.     SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}
  121.  
  122. mkline:    mkline.o string.o field.o parse.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  123.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o mkline mkline.o \
  124.         string.o field.o parse.o ascii.o \
  125.         $$LIBS ${COMPAT_LIB}
  126.  
  127. mksort: mksort.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  128.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o mksort mksort.o \
  129.         ascii.o $$LIBS ${COMPAT_LIB}
  130.  
  131. dcasehost: dcasehost.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  132.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o dcasehost \
  133.         dcasehost.o ascii.o $$LIBS ${COMPAT_LIB}
  134.  
  135. mkdbm: mkdbm.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  136.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o mkdbm mkdbm.o \
  137.         ascii.o $$LIBS $$DBM_LIB ${COMPAT_LIB}
  138.  
  139. mkpath: mkpath.sh ${DEFS_SED}
  140.     @-rm -f $@
  141.     sed -f ${DEFS_SED} $@.sh > $@
  142.     chmod +x $@
  143.  
  144. checkerr: checkerr.sh ${DEFS_SED}
  145.     @-rm -f $@
  146.     sed -f ${DEFS_SED} $@.sh > $@
  147.     chmod +x $@
  148.  
  149. mkaliases: mkaliases.sh ${DEFS_SED}
  150.     @-rm -f $@
  151.     sed -f ${DEFS_SED} $@.sh > $@
  152.     chmod +x $@
  153.  
  154. pathmerge: pathmerge.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  155.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o pathmerge \
  156.         pathmerge.o ascii.o $$LIBS ${COMPAT_LIB}
  157.  
  158. getmap: getmap.sh ${DEFS_SED}
  159.     @-rm -f $@
  160.     sed -f ${DEFS_SED} $@.sh > $@
  161.     chmod +x $@
  162.  
  163. mkuuwho: mkuuwho.sh ${DEFS_SED}
  164.     @-rm -f $@
  165.     sed -f ${DEFS_SED} $@.sh > $@
  166.     chmod +x $@
  167.  
  168. savelog: savelog.sh ${DEFS_SED}
  169.     @-rm -f $@
  170.     sed -f ${DEFS_SED} $@.sh > $@
  171.     chmod +x $@
  172.  
  173. mkhpath: mkhpath.sh ${DEFS_SED}
  174.     @-rm -f $@
  175.     sed -f ${DEFS_SED} $@.sh > $@
  176.     chmod +x $@
  177.  
  178. gleem: gleem.o ${DEFS_SH} ${COMPAT_LIB}
  179.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o gleem gleem.o \
  180.         $$LIBS ${COMPAT_LIB}
  181.  
  182. unsharmap: unsharmap.o string.o ascii.o ${DEFS_SH} ${COMPAT_LIB}
  183.     @. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o unsharmap \
  184.         unsharmap.o string.o ascii.o $$LIBS ${COMPAT_LIB}
  185.  
  186. field.c: ${SMAILSRC}/field.c
  187.     -rm -f $@
  188.     cp $? $@
  189.  
  190. parse.c: ${SMAILSRC}/parse.c
  191.     -rm -f $@
  192.     cp $? $@
  193.  
  194. ascii.c: ${SMAILSRC}/ascii.c
  195.     -rm -f $@
  196.     cp $? $@
  197.  
  198. string.c: ${SMAILSRC}/string.c
  199.     -rm -f $@
  200.     cp $? $@
  201.  
  202. clean:
  203.     rm -f ${OBJ} core a.out
  204.     rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED} ${LOCAL_SRC} XMakefile
  205.  
  206. clobber: clean
  207.     rm -f ${TARGETS}
  208.     rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED} .Makefile
  209.  
  210. nuke:    clobber
  211.     -${CLEAN}
  212.     -${GET} Makefile
  213.  
  214. ${OBJ}:    ${DEFS_SH}
  215.  
  216. # DO NOT REMOVE THIS LINE, OR "make depend" WILL NOT WORK
  217. # Miscellaneous dependencies
  218. mkline.o:  ../conf/lib/arch.h ../src/addr.h ../src/dys.h ../src/exitcodes.h
  219. mkline.o:  ../src/extern.h ../src/field.h ../src/smail.h
  220. mkline.o:  /usr/include/_G_config.h /usr/include/ctype.h
  221. mkline.o:  /usr/include/features.h /usr/include/libio.h
  222. mkline.o:  /usr/include/linux/stat.h /usr/include/linux/types.h
  223. mkline.o:  /usr/include/stdio.h /usr/include/sys/cdefs.h
  224. mkline.o:  /usr/include/sys/stat.h /usr/include/sys/types.h defs.h mkline.c
  225. mksort.o:  ../conf/lib/arch.h ../src/addr.h ../src/dys.h ../src/exitcodes.h
  226. mksort.o:  ../src/extern.h ../src/field.h ../src/smail.h
  227. mksort.o:  /usr/include/_G_config.h /usr/include/ctype.h
  228. mksort.o:  /usr/include/features.h /usr/include/libio.h
  229. mksort.o:  /usr/include/linux/stat.h /usr/include/linux/types.h
  230. mksort.o:  /usr/include/stdio.h /usr/include/sys/cdefs.h
  231. mksort.o:  /usr/include/sys/stat.h /usr/include/sys/types.h defs.h mksort.c
  232. dcasehost.o:  ../conf/lib/arch.h /usr/include/_G_config.h /usr/include/ctype.h
  233. dcasehost.o:  /usr/include/features.h /usr/include/libio.h /usr/include/stdio.h
  234. dcasehost.o:  /usr/include/sys/cdefs.h dcasehost.c defs.h
  235. mkdbm.o:  ../conf/lib/arch.h ../src/dys.h ../src/exitcodes.h ../src/smail.h
  236. mkdbm.o:  /usr/include/_G_config.h /usr/include/ctype.h /usr/include/dbm.h
  237. mkdbm.o:  /usr/include/features.h /usr/include/libio.h
  238. mkdbm.o:  /usr/include/linux/stat.h /usr/include/linux/types.h
  239. mkdbm.o:  /usr/include/stdio.h /usr/include/sys/cdefs.h /usr/include/sys/stat.h
  240. mkdbm.o:  /usr/include/sys/types.h dbm_compat.h defs.h mkdbm.c
  241. pathmerge.o:  ../conf/lib/arch.h /usr/include/_G_config.h /usr/include/ctype.h
  242. pathmerge.o:  /usr/include/features.h /usr/include/libio.h /usr/include/stdio.h
  243. pathmerge.o:  /usr/include/sys/cdefs.h defs.h pathmerge.c
  244. gleem.o:  ../conf/lib/arch.h /usr/include/_G_config.h /usr/include/features.h
  245. gleem.o:  /usr/include/libio.h /usr/include/stdio.h /usr/include/sys/cdefs.h
  246. gleem.o:  defs.h gleem.c
  247. unsharmap.o:  /usr/include/_G_config.h /usr/include/features.h
  248. unsharmap.o:  /usr/include/libio.h /usr/include/stdio.h
  249. unsharmap.o:  /usr/include/sys/cdefs.h unsharmap.c
  250. field.o:  ../conf/lib/arch.h ../src/addr.h ../src/dys.h ../src/exitcodes.h
  251. field.o:  ../src/field.h ../src/log.h ../src/smail.h /usr/include/_G_config.h
  252. field.o:  /usr/include/ctype.h /usr/include/features.h /usr/include/libio.h
  253. field.o:  /usr/include/stdio.h /usr/include/sys/cdefs.h defs.h field.c
  254. parse.o:  ../conf/lib/arch.h ../src/dys.h ../src/exitcodes.h ../src/parse.h
  255. parse.o:  ../src/smail.h /usr/include/_G_config.h /usr/include/ctype.h
  256. parse.o:  /usr/include/features.h /usr/include/libio.h /usr/include/stdio.h
  257. parse.o:  /usr/include/sys/cdefs.h defs.h parse.c
  258. ascii.o:  ../conf/lib/arch.h ascii.c defs.h
  259. string.o:  ../conf/lib/arch.h ../src/dys.h ../src/smail.h
  260. string.o:  /usr/include/_G_config.h /usr/include/ctype.h
  261. string.o:  /usr/include/features.h /usr/include/libio.h /usr/include/stdio.h
  262. string.o:  /usr/include/sys/cdefs.h
  263. string.o:  /usr/lib/gcc-lib/i486-linux/2.5.8/include/varargs.h defs.h string.c
  264. defs.sh defs.h defs.sed: ${ROOT}/conf/EDITME
  265. defs.sh defs.h defs.sed: ${ROOT}/conf/lib/arch.h
  266. defs.sh defs.h defs.sed: ${ROOT}/conf/lib/mkdefs.sh
  267. defs.sh defs.h defs.sed: ${ROOT}/conf/os/linux
  268. defs.sh defs.h defs.sed: ${ROOT}/conf/arch/32bit
  269. version.sh version.h version.sed: ${ROOT}/conf/lib/mkversion.sh
  270. version.sh version.h version.sed: ${ROOT}/level
  271. version.sh version.h version.sed: ${ROOT}/patchnum
  272.  
  273.