home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2636 / Makefile < prev    next >
Encoding:
Makefile  |  1991-01-31  |  5.6 KB  |  230 lines

  1. #:ts=4
  2. #
  3. #    $Id: Makefile,v 1.9 91/01/26 15:36:59 mj Exp $
  4. #
  5. #    Makefile for fidogate software
  6. #
  7. #
  8. SHELL        =    /bin/sh
  9.  
  10. #
  11. # For installation ...
  12. #
  13. NEWSBINDIR    =    /u/lib/newsbin/inject
  14. LIBDIR        =    /u/lib/fidonet
  15. SPOOLDIR    =    /u/spool/fidonet
  16. RMAILDIR    =    /usr/bin
  17.  
  18. SPOOLDIRS    =    bad in out sent unpacked
  19.  
  20. #LIBBINS        =    funpack fpack rfmail rfnews fcall frecv
  21. #LIBBINS        =    funpack fpack rfmail rfnews frecv
  22. LIBBINS        =    funpack fpack rfmail frecv
  23. SETUIDBINS    =    rfmail
  24. RMAILBIN    =    rmail
  25. ORMAILBIN    =    ormail
  26.  
  27. OWNER        =    news
  28. GROUP        =    news
  29.  
  30. CC            =    gcc
  31. #CFLAGS        =    -g -DDEBUG
  32. #LDFLAGS        =    -g
  33. CFLAGS        =    -g
  34. LDFLAGS        =    -g
  35.  
  36. #LIBS        =    -lPW -ldial
  37. LIBS        =    -lx
  38.  
  39.  
  40. FUNPACK        =    funpack.o funcs.o nodelist.o gethost.o address.o \
  41.                 getdate.o sprintfs.o listscan.o strempty.o xalloc.o
  42.  
  43. RMAIL        =    rmail.o address.o funcs.o sprintfs.o gethost.o\
  44.                 xalloc.o
  45.  
  46. RFMAIL        =    rfmail.o funcs.o nodelist.o gethost.o address.o getdate.o\
  47.                 sprintfs.o strempty.o xalloc.o
  48.  
  49. RFNEWS        =    rfnews.o funcs.o nodelist.o address.o sprintfs.o xalloc.o
  50.  
  51. FPACK        =    fpack.o funcs.o nodelist.o address.o sprintfs.o xalloc.o
  52.  
  53. MSGIDSEQ    =    msgidseq.o funcs.o sprintfs.o
  54.  
  55. CFILES        =    rfmail.c funcs.c rmail.c fpack.c funpack.c\
  56.                 nodelist.c gethost.c address.c sprintfs.c strempty.c\
  57.                 listscan.c xalloc.c msgidseq.c
  58.  
  59. HFILES        =    config.h packet.h shuffle.h sysexits.h nodelist.h fidogate.h
  60.  
  61. OTHERFILES    =    Version Version.id README HISTORY INSTALL LICENCE DOCU PROBLEMS XENIX.mail\
  62.                 Alias Areas Makefile getdate.y frecv
  63.  
  64.  
  65. #ALL        =    funpack fcall fpack rfmail rfnews rmail msgidseq
  66. #ALL            =    funpack fpack rfmail rfnews rmail msgidseq
  67. ALL            =    funpack fpack rfmail rmail msgidseq frecv recvfido
  68.  
  69.  
  70. all:        ${ALL}
  71.  
  72.  
  73. getdate.c: getdate.y
  74.     @echo "expect 8 shift/reduce conflicts"
  75.     yacc getdate.y
  76.     mv y.tab.c getdate.c
  77.  
  78. getdate.o: getdate.c
  79.     $(CC) -DUSG -c getdate.c
  80.  
  81. funpack:    ${FUNPACK}
  82.     $(CC) ${LDFLAGS} -o funpack ${FUNPACK} ${LIBS}
  83.  
  84. rfmail:        ${RFMAIL}
  85.     $(CC) ${LDFLAGS} -o rfmail ${RFMAIL} ${LIBS}
  86.  
  87. rfnews:        ${RFNEWS}
  88.     $(CC) ${LDFLAGS} -o rfnews ${RFNEWS} ${LIBS}
  89.  
  90. fpack:        ${FPACK}
  91.     $(CC) ${LDFLAGS} -o fpack ${FPACK} ${LIBS}
  92.  
  93. rmail:        ${RMAIL}
  94.     $(CC) ${LDFLAGS} -o rmail ${RMAIL} ${LIBS}
  95.  
  96. msgidseq:    $(MSGIDSEQ)
  97.     $(CC) $(LDFLAGS) -o msgidseq $(MSGIDSEQ) $(LIBS)
  98.  
  99. frecv:        frecv.sh
  100.     sed -e 's+??SPOOL??+$(SPOOLDIR)+' frecv.sh >frecv
  101.     chmod +x frecv
  102.  
  103. recvfido:    recvfido.sh
  104.     sed -e 's+??SPOOL??+$(SPOOLDIR)+' recvfido.sh >recvfido
  105.     chmod +x recvfido
  106.  
  107.  
  108. install:    $(LIBBINS)
  109.     @for i in $(LIBBINS); do \
  110.         echo "Installing $$i in $(LIBDIR)"; \
  111.         cp $$i $(LIBDIR); \
  112.     done
  113.     @echo "Setting owner and group"
  114.     @cd $(LIBDIR); chown $(OWNER) $(LIBBINS); chgrp $(GROUP) $(LIBBINS)
  115.     @echo "Setting setuid bit for $(SETUIDBINS)"
  116.     @cd $(LIBDIR); chmod u+s $(SETUIDBINS)
  117.  
  118. install.rmail:    rmail
  119.     @if [ ! -f $(RMAILDIR)/$(ORMAILBIN) ]; then \
  120.         echo "Moving $(RMAILDIR)/$(RMAILBIN) to $(RMAILDIR)/$(ORMAILBIN)"; \
  121.         mv $(RMAILDIR)/$(RMAILBIN) $(RMAILDIR)/$(ORMAILBIN); \
  122.     fi
  123.     @echo "Installing $(RMAILBIN) in $(RMAILDIR)"
  124.     @cp $(RMAILBIN) $(RMAILDIR)
  125.  
  126. install.msgidseq:    msgidseq
  127.     @echo "Installing msgidseq in $(NEWSBINDIR)"
  128.     @cp msgidseq $(NEWSBINDIR)
  129.     @echo "Setting owner, group and setuid bit"
  130.     @chown $(OWNER) $(NEWSBINDIR)/msgidseq
  131.     @chgrp $(GROUP) $(NEWSBINDIR)/msgidseq
  132.     @chmod u+s $(NEWSBINDIR)/msgidseq
  133.     
  134. install.dirs:
  135.     @if [ ! -d $(SPOOLDIR) ]; then\
  136.         echo "Creating $(SPOOLDIR)";\
  137.         mkdir $(SPOOLDIR);\
  138.         chown $(OWNER) $(SPOOLDIR);\
  139.         chgrp $(GROUP) $(SPOOLDIR);\
  140.         echo "Creating sub dirs $(SPOOLDIRS)";\
  141.         cd $(SPOOLDIR);\
  142.         mkdir $(SPOOLDIRS);\
  143.         chown $(OWNER) $(SPOOLDIRS);\
  144.         chgrp $(GROUP) $(SPOOLDIRS);\
  145.     fi
  146.  
  147. tar:
  148.     ver=`awk '{ print $$3 }' Version.id`;\
  149.     dosver=`echo $$ver | sed -e 's/\.//'`;\
  150.     tar cvf - $(OTHERFILES) $(HFILES) $(CFILES) | compress > fgate$${ver}.tar.Z;\
  151.     ln fgate$${ver}.tar.Z fgate$${dosver}.taz
  152.  
  153. shar:
  154.     shar -c -o fidogate -l 50 $(OTHERFILES) $(HFILES) $(CFILES)
  155.  
  156.  
  157. Version:
  158.     rm -f /tmp/Version.*
  159.     cd RCS;\
  160.     find . -name '*,v' -print | sed -e 's/,v$$//' >/tmp/Version.files
  161.     for f in `cat /tmp/Version.files`; do\
  162.         ident $$f | grep '$$Id:' >>/tmp/Version.ident;\
  163.     done
  164.     echo 'This is FIDOGATE version \c' >Version
  165.     awk '{ print $$3 }' Version.id >>Version
  166.     echo '\nVersions of FIDOGATE files:\n' >>Version
  167.     sed -e 's/\$$//g' /tmp/Version.ident | sort >>Version
  168.     rm -f /tmp/Version.*
  169.     
  170.  
  171. clean:
  172.     rm -f funpack rfmail rfnews fpack fcall rmail msgidseq
  173.     rm -f *.bak *.o tags
  174.     rm -f fgate*.tar.Z fgate*.taz
  175.  
  176. depend:
  177.     @echo '/^# DO NOT/+1,$$d\nw\nq' | ed - Makefile; \
  178.     echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile; \
  179.     for i in ${CFILES} ; \
  180.     do \
  181.         if [ -r $$i ]; \
  182.         then \
  183.             echo "Finding dependences for $$i ... \c"; \
  184.             for j in `grep '^#[     ]*include[     ]*"[^"]*"' < $$i | \
  185.             sed 's/^#[     ]*include[     ]*"\([^"]*\)".*/\1/'`; \
  186.             do \
  187.                 if [ -r $$j ]; \
  188.                 then \
  189.                     echo "`basename $$i .c`.o: $$j" >> Makefile; \
  190.                 else \
  191.                     echo "`basename $$i .c`.o: ${HEADERS}/$$j" \
  192.                     >> Makefile; \
  193.                 fi; \
  194.             done; \
  195.             echo "done."; \
  196.         else \
  197.             echo "Can't open $$i." 1>&2; \
  198.         fi; \
  199.     done; \
  200.     echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile; \
  201.     echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile; \
  202.     echo '# see make depend above' >> Makefile
  203.  
  204.  
  205. fidogate.h:    config.h packet.h nodelist.h sysexits.h
  206.     touch fidogate.h
  207.  
  208.  
  209. # DO NOT DELETE THIS LINE -- make depend uses it
  210. # DEPENDENCIES MUST END AT END OF FILE
  211. rfmail.o: fidogate.h
  212. funcs.o: fidogate.h
  213. funcs.o: shuffle.h
  214. rmail.o: fidogate.h
  215. fpack.o: fidogate.h
  216. funpack.o: fidogate.h
  217. nodelist.o: fidogate.h
  218. gethost.o: fidogate.h
  219. address.o: fidogate.h
  220. address.o: shuffle.h
  221. sprintfs.o: fidogate.h
  222. sprintfs.o: shuffle.h
  223. strempty.o: fidogate.h
  224. listscan.o: fidogate.h
  225. xalloc.o: fidogate.h
  226. msgidseq.o: fidogate.h
  227. # DEPENDENCIES MUST END AT END OF FILE
  228. # IF YOU PUT STUFF HERE IT WILL GO AWAY
  229. # see make depend above
  230.