home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume30 / tin / part12 / Makefile < prev    next >
Makefile  |  1992-05-20  |  13KB  |  411 lines

  1. # Makefile for tin - for tin compiler flag options read INSTALL and README.
  2. EXE    = tin
  3. EXED    = tind
  4. BINDIR    = /usr/local/bin
  5. MANDIR    = /usr/man/man1
  6.  
  7. # Define if you want the multi SPOOLDIR extensions & library
  8. CDROM    = -DCDROM_ABLE
  9. # sun01
  10. #CDLIB    = -ldbm -L/home/lea/.src/cllib/clientlib -lcllib 
  11. # anl433
  12. CDLIB    = /usr/local/src/cnews/dbz/dbz.o -L/usr/home/admin/iain/.src/cllib/clientlib -lcllib -lcposix
  13.  
  14. CC    = cc
  15. STRIP    = strip
  16. ROFF    = + drf -F Helvetica -man3 
  17. PRINT    = -Pps0
  18. BASE_VER= ../112
  19. PATCH_VER = 113
  20. MAIL_ADDR = "iain%anl433.uucp@Germany.EU.net (Iain Lea)"
  21.  
  22. HFILES    = tin.h extern.h nntplib.h proto.h
  23.  
  24. CFILES    = active.c art.c curses.c debug.c feed.c getline.c group.c \
  25.         hashstr.c help.c inews.c init.c kill.c lang.c main.c memory.c \
  26.         misc.c newsrc.c nntplib.c open.c page.c post.c prompt.c \
  27.         rcfile.c save.c screen.c search.c select.c signal.c spooldir.c \
  28.         thread.c wildmat.c
  29.  
  30. OFILES    = active.o art.o curses.o debug.o feed.o getline.o group.o \
  31.         hashstr.o help.o inews.o init.o kill.o lang.o main.o memory.o \
  32.         misc.o newsrc.o nntplib.o open.o page.o post.o prompt.o \
  33.         rcfile.o save.o screen.o search.o select.o signal.o spooldir.o \
  34.         thread.o wildmat.o 
  35.  
  36. SUPPORT = Makefile MANIFEST README CHANGES INSTALL TODO FAQ FTP *.[13] $(EXE).nrf
  37.  
  38. LINTFLAGS=-a -c -h -n -x 
  39.  
  40. .c.o:
  41.     $(CC) $(CFLAGS) $*.c
  42.  
  43. all: 
  44.     @echo "There is no default. Specify one of the following targets."
  45.     @echo "    make bsd       (BSD/Dec/DG/Next/Sun)"
  46.     @echo "    make sysv      (SysV)"
  47.     @echo "    make sysvr4    (SysV R4)"
  48.     @echo "    make sco       (SCO Unix)"
  49.     @echo "    make aix       (IBM AIX)"
  50.     @echo "    make xenix     (Xenix 386)"
  51.     @echo "    make sinix     (SNI SysV)"
  52.     @echo "    make tower     (NCR Tower)"
  53.     @echo "    make minix     (Minix 386)"
  54.     @echo "    make ptx       (Sequent PTX)"
  55.     @echo "    make apollo    (Apollo Domain)"
  56.  
  57. # For BSD-derived systems
  58. bsd:
  59.     @echo "Compiling for BSD/Dec/DG/Next/Sun..."
  60.     @$(MAKE) CFLAGS='-c -O -DBSD -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  61.              LIBS="-lcurses -ltermcap" \
  62.              EXE=tin linkit
  63.  
  64. # For System V
  65. #             NETLIBS="-lnet -lnsl_s" \
  66. #
  67. sysv:
  68.     @echo "Compiling for System V..."
  69.     @$(MAKE) CFLAGS='-c -O -DSYSV -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  70.              LIBS="-lcurses -ltermcap" \
  71.              EXE=tin linkit
  72.  
  73. # For System V Release 4
  74. #             NETLIBS="-lnsl -lsocket" \
  75. #
  76. sysvr4:
  77.     @echo "Compiling for System V Release 4..."
  78.     @$(MAKE) CFLAGS='-c -O -DSVR4 -DPOSIX_JOB_CONTROL -DUSE_INVERSE_HACK -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  79.              LIBS="-lcurses -ltermlib" \
  80.              EXE=tin linkit
  81.  
  82. # For SCO Unix
  83. #             NETLIBS="-lnsl_s -lsocket" \
  84. #
  85. sco:
  86.     @echo "Compiling for SCO Unix..."
  87.     @$(MAKE) CFLAGS='-c -O -DSYSV -DSCO_UNIX -UM_XENIX -DUSE_INVERSE_HACK -DLIBDIR="\"/usr/lib/news\"" -DSPOOLDIR="\"/usr/spool/news\""' \
  88.              LIBS="-lcurses -lgen -lc_s" \
  89.              EXE=tin linkit
  90.  
  91. # For IBM AIX
  92. aix:
  93.     @echo "Compiling for AIX..."
  94.     @$(MAKE) CFLAGS='-c -O -DSYSV -DRS6000 -DREAD_CHAR_HACK -DUSE_LONG_FILENAMES -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  95.              LIBS="-lcurses -ltermcap" \
  96.              EXE=tin linkit
  97.  
  98. # For Xenix 386
  99. #             NETLIBS="-lsocket" \
  100. #
  101. xenix:
  102.     @echo "Compiling for Xenix 386..."
  103.     @$(MAKE) CFLAGS='-c -Zi -DSYSV -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \
  104.              LIBS="-lcurses -ltinfo -lx" \
  105.              LFLAGS=-Zi EXE=tin linkit
  106.  
  107. # For SNI Sinix
  108. sinix:
  109.     @echo "Compiling for SNI Sinix..."
  110.     @$(MAKE) CFLAGS='-c -O -DUSE_MKDIR -DLIBDIR=\\"/usr/lib/news\\" -DSPOOLDIR=\\"/usr/spool/news\\"' \
  111.              LIBS="-lcurses" \
  112.              EXE=tin linkit
  113.  
  114. # For NCR Tower
  115. #             NETLIBS="-lnet -lnsl_s" \
  116. #
  117. tower:
  118.     @echo "Compiling for NCR Tower..."
  119.     @$(MAKE) CFLAGS='-c -O -DSYSV -DNCR -DISTRING -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  120.              LIBS="-lcurses -ltermcap" \
  121.              EXE=tin linkit
  122.  
  123. # For Minix 386
  124. minix:
  125.     @echo "Compiling for Minix 386..."
  126.     @$(MAKE) CFLAGS='-c -O -DMINIX -D_POSIX_SOURCE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  127.              LIBS="-lcurses" \
  128.              EXE=tin linkit
  129.     chmem +131072 $(EXE) 
  130.  
  131. # For Sequent PTX
  132. #             NETLIBS="-lsocket -linet -lnsl_s" \
  133. #
  134. ptx:
  135.     @echo "Compiling for Sequent PTX..."
  136.     @$(MAKE) CFLAGS='-c -O -DPTX -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  137.              LIBS="-lcurses -ltermcap" \
  138.              EXE=tin linkit
  139.  
  140. # For Apollo 
  141. apollo:
  142.     @echo "Compiling for Apollo..."
  143.     @$(MAKE) CFLAGS='-c -O -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \
  144.              LIBS="-lcurses -ltermcap" \
  145.              EXE=tin linkit
  146.  
  147. # !!!  THE FOLLOWING ARE SITE SPECIFIC - IGNORE  !!!
  148. anl432:
  149.     @echo "Compiling for ANL432 with NNTP ONLY, NO POSTING, NO SHELL ESCAPE..."
  150.     @$(MAKE) CC=gcc CFLAGS='-c -O2 -Wall -DSYSV -DNNTP_ONLY -DNNTP_EXTS -DNO_POSTING -DNO_SHELL_ESCAPE  -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  151.              LIBS="-lcurses -ltermcap" \
  152.              NETLIBS="-linet -lnsl_s" \
  153.              EXE=tin linkit
  154.  
  155. local:
  156.     @echo "Compiling for ANL433..."
  157.     @$(MAKE) CC=cc CFLAGS='-c -g -DSYSV -DDEBUG -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\"' \
  158.              LIBS="-lcurses -ltermcap" \
  159.              EXE=tin linkit
  160.  
  161. anl433:
  162.     @echo "Compiling for ANL433 with NNTP..."
  163.     @$(MAKE) CC=gcc CFLAGS='-c -O2 -Wall -DSYSV -DNNTP_ABLE -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  164.              LIBS="-lcurses -ltermcap" \
  165.              NETLIBS="-linet -lnsl_s" \
  166.              EXE=tin linkit
  167.  
  168. anl433cd:
  169.     @echo "Compiling for ANL433 with CDROM..."
  170.     @$(MAKE) CC=gcc CFLAGS='-c -O2 -Wall -DSYSV -DCDROM_ABLE -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  171.              LIBS="-lcurses -ltermcap $(CDLIB)" \
  172.              NETLIBS="-linet -lnsl_s" \
  173.              EXE=tin linkit
  174.  
  175. apollo02:
  176.     @echo "Compiling for APOLLO02 with NNTP ONLY..."
  177.     @$(MAKE) CFLAGS='-c -O -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  178.              LIBS="-lcurses -ltermcap" \
  179.              EXE=tin linkit
  180.  
  181. os2unix:
  182.     @echo "Compiling for OS2UNIX with NNTP ONLY..."
  183.     @$(MAKE) CC=/usr2/gcc/bin/gcc CFLAGS='-c -O2 -Wall -DSYSV -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  184.              LIBS="-lcurses -ltermcap" \
  185.              NETLIBS="-linet -lnsl_s" \
  186.              EXE=tin linkit
  187.  
  188. daemon:
  189.     @echo "Compiling for ANL433 with INDEX DAEMON..."
  190.     @$(MAKE) CC=cc CFLAGS='-c -g -DSYSV -DINDEX_DAEMON -DDEBUG' \
  191.              EXE=$(EXED) linkit
  192.  
  193. dec02:
  194.     @echo "Compiling for DEC02 with NNTP ONLY..."
  195.     @$(MAKE) CFLAGS='-c -O -DBSD -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  196.              LIBS="-lcurses -ltermcap" \
  197.              EXE=tin linkit
  198.  
  199. dg01:
  200.     @echo "Compiling for DG01 with NNTP ONLY..."
  201.     @$(MAKE) CFLAGS='-c -O -DBSD -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  202.             LIBS="-lcurses -ltermcap" \
  203.             EXE=tin linkit
  204.  
  205. home:
  206.     @echo "Compiling for (HOME) Xenix 386..."
  207.     @$(MAKE) CFLAGS='-c -W2 -Zi -DSYSV -DDEBUG -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \
  208.              LIBS="-lcurses -ltinfo -lx" \
  209.              LFLAGS=-Zi EXE=tin linkit
  210.  
  211. mx331:
  212.     @echo "Compiling for MX331 with NNTP ONLY..."
  213.     @$(MAKE) CFLAGS='-c -O -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\\"anl433\\" -DNNTP_INEWS_DOMAIN=\\".uucp\\" -DUSE_MKDIR -DDEBUG' \
  214.              LIBS="-lcurses" \
  215.              EXE=tin linkit
  216.  
  217. mx351:
  218.     @echo "Compiling for MX351 with NNTP ONLY..."
  219.     @$(MAKE) CFLAGS='-c -O -DSVR4 -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DPOSIX_JOB_CONTROL -DUSE_INVERSE_HACK -DEBUG' \
  220.              NETLIBS="-lnsl -lsocket" \
  221.              LIBS="-lcurses -ltermlib" \
  222.              EXE=tin linkit
  223.  
  224. sony01:
  225.     @echo "Compiling for SONY01 with NNTP ONLY..."
  226.     @$(MAKE) CC=gcc CFLAGS='-c -O2 -Wall -DBSD -DNNTP_ONLY -DLIBDIR=\"/a/usr/lib/news\" -DSPOOLDIR=\"/a/usr/spool/news\" -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  227.             LIBS="-lcurses -ltermcap" \
  228.             EXE=tin linkit
  229.  
  230. sun01:
  231.     @echo "Compiling for SUN01 with NNTP ONLY..."
  232.     @$(MAKE) CFLAGS='-c -O -DBSD -DNNTP_ONLY -DNNTP_INEWS_GATEWAY=\"anl433\" -DNNTP_INEWS_DOMAIN=\".uucp\" -DDEBUG' \
  233.              LIBS="-lcurses -ltermcap" \
  234.              EXE=tin linkit
  235.  
  236. sun01cd:
  237.     @echo "Compiling for SUN01 with CDROM ABLE..."
  238.     @$(MAKE) CFLAGS='-c -g -DBSD -DCDROM_ABLE -DLIBDIR=\"/home/sun02/iain/lib\" -DDEBUG' \
  239.               NNTPLIB="$(CDLIB)" \
  240.              LIBS="-lcurses -ltermcap" \
  241.              EXE=tin linkit
  242.  
  243. linkit: $(OFILES)
  244.     @echo "Linking $(EXE)..."
  245.     $(CC) $(LFLAGS) -o $(EXE) $(OFILES) $(NNTPLIB) $(NETLIBS) $(LIBS) 
  246.     @ls -l $(EXE)
  247.  
  248. install:
  249.     @echo "Installing $(EXE)..."
  250.     @$(STRIP) $(EXE)
  251.     @-mv $(EXE) $(BINDIR)
  252.     @-rm $(BINDIR)/r$(EXE)
  253.     @ln $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE)
  254.     @chmod 755 $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE)  
  255.     @ls -l $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE)
  256.     @cp $(EXE).1 $(MANDIR)
  257.  
  258. install_setuid:
  259.     @echo "Installing SETUID $(EXE)..."
  260.     @$(STRIP) $(EXE)
  261.     @-mv $(EXE) $(BINDIR)
  262.     @chown news $(BINDIR)/$(EXE) 
  263.     @chown news $(BINDIR)/r$(EXE) 
  264.     @chgrp news $(BINDIR)/$(EXE) 
  265.     @chgrp news $(BINDIR)/r$(EXE) 
  266.     @-rm $(BINDIR)/r$(EXE)
  267.     @ln $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE)
  268.     @su news -c "chmod 6755 $(BINDIR)/$(EXE)"
  269.     @su news -c "chmod 6755 $(BINDIR)/r$(EXE)"
  270.     @ls -l $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE)
  271.     @cp $(EXE).1 $(MANDIR)
  272.  
  273. install_daemon:
  274.     @echo "Installing index daemon $(EXED)..."
  275.     @$(STRIP) $(EXED)
  276.     @-mv $(EXED) $(BINDIR)
  277.     @chown news $(BINDIR)/$(EXED) 
  278.     @chmod 0755 $(BINDIR)/$(EXED)"
  279.     @ls -l $(BINDIR)/$(EXED)
  280.  
  281. proto:
  282.     @echo "Generating function prototypes for proto.h..."
  283.     @echo "#if __STDC__" > PROTO.H
  284.     @echo " " >> PROTO.H
  285.     @cproto -e $(CFILES) >> PROTO.H
  286.     @echo " " >> PROTO.H
  287.     @echo "#else" >> PROTO.H
  288.     @echo " " >> PROTO.H
  289.     @cproto -e -f1 $(CFILES) >> PROTO.H
  290.     @echo " " >> PROTO.H
  291.     @echo "#endif" >> PROTO.H
  292.     @-mv PROTO.H proto.h
  293.  
  294. nroff:
  295.     @echo "Creating nroff man page..."
  296.     @nroff -man $(EXE).1 > $(EXE).nrf
  297.  
  298. manifest:
  299.     @echo "Creating MANIFEST..."
  300.     @echo "MANIFEST for tin newsreader (`date`)" > MANIFEST
  301.     @echo "----------------------------------------------------------" >> MANIFEST
  302.     @wc -c $(SUPPORT) $(HFILES) patchlev.h $(CFILES) >> MANIFEST
  303.  
  304. shar:
  305.     @echo "Generating shell archive..."
  306.     @make nroff
  307.     @make manifest
  308.     @shar -a -n $(EXE)1.1 -s $(MAIL_ADDR) -L50 -o ../$(EXE).shar $(SUPPORT) $(CFILES) $(HFILES) patchlev.h
  309.  
  310. uuencode:
  311.     @make tar
  312.     @echo "Uuencoding $(EXE).tar.Z..."
  313.     @uuencode $(EXE).tar.Z $(EXE).tar.Z > $(EXE).tar.Z.uue
  314.     @ls -l $(EXE).tar.Z.uue
  315.  
  316. diff:
  317.     @echo "Generating diffs against $(BASE_VER)..."
  318.     @make nroff
  319.     @make manifest
  320.     @-mv -f $(EXE).diff $(EXE).diff-
  321.     @-diff -rcs $(BASE_VER) . > $(EXE).diff
  322.     @ls -l $(EXE).diff
  323.  
  324. patch:
  325.     @make diff
  326.     @echo "Generating patch against $(BASE_VER)..."
  327.     @-mv $(EXE).diff $(EXE).patch$(PATCH_VER)
  328.     @shar -a -n $(EXE) -s $(MAIL_ADDR) -L50 -o ../patch$(PATCH_VER).shar $(EXE).patch$(PATCH_VER)
  329.     @ls -l ../patch$(PATCH_VER).shar*
  330.  
  331. tar:
  332.     @echo "Generating compressed tar file..."
  333.     @-rm $(EXE).tar $(EXE).tar.Z > /dev/null 2>&1
  334.     @tar cvf $(EXE).tar $(SUPPORT) $(CFILES) $(HFILES) patchlev.h 
  335.     @echo "Compressing $(EXE).tar..."
  336.     @compress $(EXE).tar 
  337.     @ls -l $(EXE).tar.Z
  338.  
  339. zoo:
  340.     @echo "Generating zoo archive file..."
  341.     @-rm $(EXE).zoo > /dev/null 2>&1
  342.     @zoo ah $(EXE).zoo  $(SUPPORT) $(CFILES) $(HFILES) patchlev.h
  343.     @ls -l $(EXE).zoo
  344.  
  345. tags:
  346.     @echo "Generating tags (results in ./tags)..."
  347.     @-rm tags
  348.     @ctags $(HFILES) patchlev.h $(CFILES) 
  349.  
  350. lint:
  351.     @echo "Linting source (results in ./LINT)..."
  352.     @lint $(LINTFLAGS) -DNNTP_ABLE $(CFILES) > LINT
  353.  
  354. clean:
  355.     @echo "Cleaning..."
  356.     @-'rm' -rf $(OFILES) '#*' $(EXE).diff*
  357.  
  358. clobber:
  359.     @echo "Clobbering..."
  360.     @-'rm' -rf $(OFILES) '#*' tags $(EXE) $(EXE).diff* patch.shar*
  361.  
  362. cflow:
  363.     @echo "Creating cflow for $(EXE)..."
  364.     @cflow $(CFILES) > cflow.$(EXE) &
  365.  
  366. cscope:
  367.     @echo "Creating cscope database $(EXE)..."
  368.     @cscope $(SUPPORT) $(HFILES) patchlev.h $(CFILES)
  369.  
  370. man:
  371.     @echo "Printing $(EXE) manual to $(PRINT)..."
  372.     @$(ROFF) $(PRINT) $(EXE).1
  373.  
  374. print:
  375.     /bin/sh for FILE in $(HFILES) patchlev.h $(CFILES) $(SUPPORT); do \
  376.     echo "Printing $$FILE to $(PRINT)..."; \
  377.     a2ps -t4 $$FILE | lpr; \
  378.     done
  379.  
  380. active.o:    active.c $(HFILES)
  381. art.o:        art.c $(HFILES)
  382. curses.o:    curses.c $(HFILES)
  383. debug.o:    debug.c $(HFILES)
  384. feed.o:        feed.c $(HFILES)
  385. getline.o:    getline.c $(HFILES)
  386. group.o:    group.c $(HFILES)
  387. hashstr.o:    hashstr.c $(HFILES)
  388. help.o:        help.c $(HFILES)
  389. inews.o:    inews.c $(HFILES)
  390. init.o:        init.c $(HFILES)
  391. kill.o:        kill.c $(HFILES)
  392. lang.o:        lang.c $(HFILES)
  393. main.o:        main.c $(HFILES) patchlev.h
  394. memory.o:    memory.c $(HFILES)
  395. misc.o:        misc.c $(HFILES)
  396. newsrc.o:    newsrc.c $(HFILES)
  397. nntplib.o:    nntplib.c $(HFILES)
  398. open.o:        open.c nntplib.h
  399. page.o:        page.c $(HFILES)
  400. post.o:        post.c $(HFILES)
  401. prompt.o:    prompt.c $(HFILES)
  402. rcfile.o:    rcfile.c $(HFILES)
  403. save.o:        save.c $(HFILES)
  404. screen.o:    screen.c $(HFILES)
  405. search.o:    search.c $(HFILES)
  406. select.o:    select.c $(HFILES)
  407. signal.o:    signal.c $(HFILES)
  408. spooldir.o:    spooldir.c $(HFILES)
  409. thread.o:    thread.c $(HFILES)
  410. wildmat.o:    wildmat.c
  411.