home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3411 / Makefile < prev    next >
Encoding:
Makefile  |  1991-05-25  |  6.1 KB  |  228 lines

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