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 / samples / bigsite / bargw / maps / Makefile < prev    next >
Makefile  |  1990-10-24  |  5KB  |  144 lines

  1. #ident "@(#)samples/bigsite/bargw/maps/Makefile    1.2 10/24/90 05:20:10"
  2. #
  3. # Makefile for building smail router maps
  4.  
  5. # standard locations
  6. #
  7. SHELL=/bin/sh
  8. LIB_DIR=/usr/lib/smail
  9. UTIL_BIN_DIR=/usr/lib/smail
  10. MAPDIR=.#${LIB_DIR}/maps
  11. PATH=/usr/lib/smail:/bin:/usr/bin:/usr/amdahl/bin
  12. UNSHAR_MAP_DIR=/usr/spool/uumaps
  13. TMPDIR=${UNSHAR_MAP_DIR}/tmp
  14. SORT=sort -T ${TMPDIR}
  15. # on HDB UUCP, the file is .../Systems
  16. # on old UUCP, the file is .../L.sys
  17. LSYS=/usr/lib/uucp/Systems
  18. #LSYS=/usr/lib/uucp/L.sys
  19.  
  20. # what we need to build
  21. TARGETS=force.path domain.path world.path uuname.path world.dir world.pag
  22. TESTTARGETS=T.force.path T.domain.path T.world.path T.uuname.path \
  23.         T.world.pag T.world.dir
  24.  
  25. # what is used to build these files
  26. FORCEFILES=${MAPDIR}/force ${LSYS}
  27. DOMAINFILES=${MAPDIR}/domain.conf ${MAPDIR}/domain.map /etc/hosts
  28. WORLDFILES=${MAPDIR}/world.conf ${UNSHAR_MAP_DIR}/work/getmap.rebuild \
  29.     ${MAPDIR}/world.map ${MAPDIR}/private.map ${MAPDIR}/tweak.map
  30. UUNAMEFILES=${LSYS} ${MAPDIR}/uuname.sed
  31. SRCFILES=${FORCEFILES} ${DOMAINFILES} ${WORLDFILES} ${UUNAMEFILES}
  32.  
  33. # everything we need to make
  34. #
  35. all: Makefile ${TARGETS}
  36. test: Makefile ${TESTTARGETS}
  37.  
  38. # build each path file
  39. #
  40. force.path: ${FORCEFILES} Makefile
  41.     -rm -f ${MAPDIR}/N.force.path
  42.     ( sed -n -e 's/[     ]*#.*//' -e 's/^[     ][     ]*//' \
  43.         -e '/./p' ${MAPDIR}/force; \
  44.         uuname | sed -e 's/\(.*\)/\1.uucp.foo.com    \1!%s/' ) \
  45.         | sort > ${MAPDIR}/N.force.path
  46.     chmod 0444 ${MAPDIR}/N.force.path
  47.     -rm -f ${MAPDIR}/O.force.path
  48.     -touch ${MAPDIR}/force.path
  49.     ln ${MAPDIR}/force.path ${MAPDIR}/O.force.path
  50.     mv -f ${MAPDIR}/N.force.path ${MAPDIR}/force.path
  51. domain.path: ${DOMAINFILES} Makefile
  52.     -rm -f ${MAPDIR}/N.domain.path ${MAPDIR}/domain.err
  53.     mkpath ${MAPDIR}/domain.conf > ${MAPDIR}/N.domain.path \
  54.         2> ${MAPDIR}/domain.err
  55.     chmod 0444 ${MAPDIR}/N.domain.path
  56.     -rm -f ${MAPDIR}/O.domain.path
  57.     -touch ${MAPDIR}/domain.path
  58.     ln ${MAPDIR}/domain.path ${MAPDIR}/O.domain.path
  59.     mv -f ${MAPDIR}/N.domain.path ${MAPDIR}/domain.path
  60.     @-if [ -s ${MAPDIR}/domain.err ]; then \
  61.         echo WARNING: domain.path did not build cleanly; \
  62.     else \
  63.         echo "    "rm -f ${MAPDIR}/domain.err; \
  64.         rm -f ${MAPDIR}/domain.err; \
  65.     fi
  66. world.path: ${WORLDFILES} Makefile
  67.     -rm -f ${MAPDIR}/N.world.path ${MAPDIR}/world.err
  68.     mkpath ${MAPDIR}/world.conf > ${MAPDIR}/N.world.path \
  69.         2> ${MAPDIR}/world.err
  70.     chmod 0444 ${MAPDIR}/N.world.path
  71.     -rm -f ${MAPDIR}/O.world.path
  72.     -touch ${MAPDIR}/world.path
  73.     ln ${MAPDIR}/world.path ${MAPDIR}/O.world.path
  74.     mv -f ${MAPDIR}/N.world.path ${MAPDIR}/world.path
  75.     @-if [ -s ${MAPDIR}/world.err ]; then \
  76.         echo WARNING: world.path did not build cleanly; \
  77.     else \
  78.         echo "    "rm -f ${MAPDIR}/world.err; \
  79.         rm -f ${MAPDIR}/world.err; \
  80.     fi
  81. world.dir world.pag: world.path
  82.     mkdbm -o world world.path
  83.     chmod 0444 world.dir world.pag
  84. uuname.path: ${UUNAMEFILES} Makefile
  85.     -rm -f ${MAPDIR}/N.uuname.path
  86.     uuname | if [ -f ${MAPDIR}/uuname.sed ]; then \
  87.             sed -f ${MAPDIR}/uuname.sed; \
  88.          else \
  89.             cat; \
  90.          fi | sort | \
  91.         sed -e 's/\(.*\)/\1    \1!%s/' > ${MAPDIR}/N.uuname.path
  92.     chmod 0444 ${MAPDIR}/N.uuname.path
  93.     -rm -f ${MAPDIR}/O.uuname.path
  94.     -touch ${MAPDIR}/uuname.path
  95.     ln ${MAPDIR}/uuname.path ${MAPDIR}/O.uuname.path
  96.     mv -f ${MAPDIR}/N.uuname.path ${MAPDIR}/uuname.path
  97.  
  98. # test builds
  99.  
  100. # build each path file
  101. #
  102. T.force.path: ${FORCEFILES} Makefile
  103.     -rm -f ${MAPDIR}/T.force.path
  104.     ( sed -n -e 's/[     ]*#.*//' -e 's/^[     ][     ]*//' \
  105.         -e '/./p' ${MAPDIR}/force; \
  106.         uuname | sed -e 's/\(.*\)/\1.uucp.foo.com    \1!%s/' ) \
  107.         | sort > ${MAPDIR}/T.force.path
  108. T.domain.path: ${DOMAINFILES} Makefile
  109.     -rm -f ${MAPDIR}/T.domain.path
  110.     mkpath ${MAPDIR}/domain.conf > ${MAPDIR}/T.domain.path \
  111.         2> ${MAPDIR}/domain.err
  112. T.world.path: ${WORLDFILES} Makefile
  113.     -rm -f ${MAPDIR}/T.world.path
  114.     mkpath ${MAPDIR}/world.conf > ${MAPDIR}/T.world.path \
  115.         2> ${MAPDIR}/world.err
  116. T.world.dir T.world.pag: T.world.path
  117.     mkdbm -o T.world T.world.path
  118. T.uuname.path: ${UUNAMEFILES} Makefile
  119.     -rm -f ${MAPDIR}/T.uuname.path
  120.     uuname | if [ -f ${MAPDIR}/uuname.sed ]; then \
  121.             sed -f ${MAPDIR}/uuname.sed; \
  122.          else \
  123.             cat; \
  124.          fi | sort | \
  125.         sed -e 's/\(.*\)/\1    \1!%s/' > ${MAPDIR}/T.uuname.path
  126.  
  127. # utilities
  128. install: all Makefile
  129. clean:
  130.     -rm -f ${MAPDIR}/N.uuname.path
  131.     -rm -f ${MAPDIR}/N.world.path
  132.     -rm -f ${MAPDIR}/N.domain.path
  133.     -rm -f ${MAPDIR}/N.force.path
  134.     -rm -f ${MAPDIR}/domain.err
  135.     -rm -f ${MAPDIR}/world.err
  136.     -rm -f ${TESTTARGETS}
  137. clobber: clean
  138.     -rm -f ${MAPDIR}/O.uuname.path
  139.     -rm -f ${MAPDIR}/O.world.path
  140.     -rm -f ${MAPDIR}/O.domain.path
  141.     -rm -f ${MAPDIR}/O.force.path
  142. nuke: clobber
  143.     -rm -f ${TARGETS}
  144.