home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / pathalias_V10.lzh / make.honey < prev    next >
Text File  |  1992-01-23  |  3KB  |  112 lines

  1. #!/bin/make -f
  2. # pathalias -- by steve bellovin, as told to peter honeyman
  3.  
  4. ### configuration section
  5. ###
  6. # if you can't or don't intend to use dbm files,
  7. # don't bother with DBM or makedb
  8. DBM = -ldbm
  9. # or if you roll your own ...
  10. # DBM = dbm.o
  11. ###
  12. # where is getopt (if not in the c library)?
  13. # GETOPT = -lgetopt
  14. ###
  15. # where is the resolver (if not in the c library)?
  16. RESOLV = -lresolv
  17. ### end of configuration section 
  18.  
  19. CC = cc -g
  20. CFLAGS =  
  21. LDFLAGS =$(DBM) $(GETOPT) $(RESOLV)
  22. YFLAGS = -dD
  23. YYDEBUG=0
  24.  
  25. OBJ = addlink.o addnode.o domain.o local.o main.o mapit.o mapaux.o mem.o parse.o printit.o
  26. OFILES = addlink.O addnode.O domain.O local.O main.O mapit.O mapaux.O mem.O parse.O printit.O
  27. HDRS = def.h config.h
  28. CSRC = addlink.c addnode.c domain.c local.c main.c mapit.c mapaux.c mem.c printit.c
  29. LSRC = $(CSRC) parse.c
  30. SRC = $(CSRC) parse.y makedb.c
  31.  
  32. pathalias: & $(OBJ)
  33.     $(CC) $(OBJ) $(LDFLAGS) -o pathalias
  34.  
  35. all: pathalias makedb
  36.  
  37. $(OBJ):    $(HDRS)
  38.  
  39. parse.c: parse.y $(HDRS)
  40.     $(YACC) $(YFLAGS) parse.y
  41.     mv y.tab.c parse.c
  42. #    echo '#define YYDEBUG' > parse.c
  43. #    sed -e '/^# line/d' -e 's/yydebug = 0/yydebug = $(YYDEBUG)/' y.tab.c >> parse.c
  44.  
  45. makedb: makedb.o
  46.     $(CC) makedb.o $(LDFLAGS) -o makedb
  47.  
  48. makedb.o: config.h
  49.  
  50. clean:
  51.     rm -f *.o y.tab.? parse.c
  52.  
  53. tags: $(SRC) $(HDRS)
  54.     ctags -w $(SRC) $(HDRS)
  55.  
  56. bundle: README CHANGES pathalias.8 Makefile ${HDRS} ${SRC} make.honey
  57.     @bundle README CHANGES pathalias.8 Makefile ${HDRS} ${SRC} make.honey
  58.  
  59. bundle1: README CHANGES pathalias.8 Makefile make.honey ${HDRS}
  60.     @bundle README CHANGES pathalias.8 Makefile make.honey ${HDRS} 
  61.  
  62. bundle2: addlink.c addnode.c domain.c local.c main.c
  63.     @bundle addlink.c addnode.c domain.c local.c main.c
  64.  
  65. bundle3: mapaux.c mapit.c
  66.     @bundle mapaux.c mapit.c 
  67.  
  68. bundle4: mem.c printit.c parse.y makedb.c
  69.     @bundle mem.c printit.c parse.y makedb.c 
  70.  
  71. ftp:
  72.     @make -s bundle | compress > /usr/ftp/usr/honey/pathalias/pathalias.Z
  73.  
  74. make.honey: makefile
  75.     @cp makefile make.honey
  76.  
  77. lint:    $(LSRC)
  78.     lint -hbu $(CFLAGS) $(LSRC)
  79.     lint makedb.c
  80.  
  81.  
  82. # the remainder is site specific.
  83.  
  84. LOCAL = paths/citi # paths/internet
  85. FILES = uumap/* $(LOCAL)
  86.  
  87. AVOID =
  88.  
  89. # map output (input, really) to lower case; verbose; terminal domains
  90. ARGS = -iDI
  91.  
  92. PARGS=$(ARGS) $(AVOID) $(FILES)
  93. # desperation debugging -- examine the costs.
  94. costs:
  95.     pathalias -icvvD ${PARGS} 2>error.costs | awk '{printf("%s\t%s\t%s\n", $$2, $$1, $$3)}' | sort -o pa.costs 
  96.  
  97. # make one BIG file.  a BIG bad idea.
  98. cat:
  99.     for i in $(FILES); do echo "file {$$i}"; cat $$i; echo 'private {}'; done > CAT
  100.  
  101. # make a pathparse database.  -g is undocumented.
  102. edges:
  103.     pathalias -g edges $(PARGS) 2>ERRORS > edges.hosts
  104. #    makedb edges pa
  105.  
  106. # let dns do its job
  107. POSTPROC = egrep -v '(\.(com|edu|mil|gov|net|org|arpa|int|[a-z][a-z])    )' | sort
  108.  
  109. # round up the usual suspects
  110. citi doom: $(LOCAL)
  111.     time pathalias -l $@ $(PARGS) | $(POSTPROC) > $@
  112.