home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / nn.tar / nn-6.5.1 / xmakefile < prev   
Makefile  |  1996-08-17  |  8KB  |  282 lines

  1. *
  2. * DO NOT CHANGE THIS MAKEFILE DIRECTLY
  3. *
  4. * THERE ARE NO CONFIGURATION PARAMETERS IN THIS FILE
  5. *
  6.  
  7. #include "config.h"
  8. #undef global
  9. #undef SHELL
  10.  
  11. #ifndef COMPILER_FLAGS
  12. #define COMPILER_FLAGS
  13. #endif
  14.  
  15. #ifndef EXTRA_LIB
  16. #define EXTRA_LIB
  17. #endif
  18.  
  19. #ifndef LOADER_FLAGS
  20. #define LOADER_FLAGS
  21. #endif
  22.  
  23. #ifndef NNTP
  24. #undef NNTP_EXTRA_LIB
  25. #endif
  26.  
  27. #ifndef NNTP_EXTRA_LIB
  28. #define NNTP_EXTRA_LIB
  29. #endif
  30.  
  31. * Symmetry style parallel make
  32.  
  33. #undef PARALLEL
  34. #ifdef PARALLEL_MAKE
  35. #define PARALLEL &
  36. #else
  37. #define PARALLEL
  38. #endif
  39.  
  40. #ifdef HAVE_ROUTING
  41. #define NNMAIL
  42. #else
  43. #define    NNMAIL nnmail
  44. #endif
  45.  
  46. #ifdef ACCOUNTING
  47. #define ACCOUNT nnacct
  48. #else
  49. #ifdef AUTHORIZE
  50. #define ACCOUNT nnacct
  51. #else
  52. #define ACCOUNT
  53. #endif
  54. #endif
  55. ------------------ MAKE WILL CUT HERE -------------
  56. *
  57. * Notice:  ymakefile is made from xmakefile by the Makefile.
  58. *
  59.  
  60. CC =     COMPILER
  61. CPP =     PREPROC
  62. LDFLAGS = LDEBUG LOADER_FLAGS EXTRA_LIB
  63. CFLAGS = -Iconf COMPILER_FLAGS CDEBUG
  64.  
  65. *
  66. * Resulting programs
  67. *
  68.  
  69. BIN_PROG =    nn NNMAIL nnusage nngrab nnstats ACCOUNT
  70. BIN_LINK =    nncheck nnadmin nntidy nngoback nngrep nnpost nnbatch nnview
  71. LIB_PROG =    aux upgrade_rc
  72. #ifdef NOV
  73. MASTER_PROG =    back_act nnspew
  74. #else
  75. MASTER_PROG =    nnmaster back_act nnspew
  76. #endif
  77.  
  78. *
  79. * Compilation
  80. *
  81.  
  82. SHELL = /bin/sh
  83.  
  84. MASTER = master.o collect.o expire.o proto.o hostname.o \
  85.     global.o options.o active.o db.o nntp.o \
  86.     pack_date.o pack_name.o pack_subject.o news.o digest.o
  87.  
  88. NN =     nn.o admin.o proto.o global.o options.o db.o nntp.o \
  89.     init.o variable.o term.o keymap.o macro.o regexp.o \
  90.     menu.o more.o newsrc.o group.o folder.o dir.o \
  91.     sort.o articles.o sequence.o kill.o active.o fullname.o \
  92.     answer.o reroute.o hostname.o save.o unshar.o decode.o execute.o \
  93.     pack_date.o pack_name.o pack_subject.o news.o digest.o match.o \
  94.     chset.o
  95. #ifdef NOV
  96. NOVOBJ = awksplit.o hash.o hdbm.o libnov.o split.o
  97. #else
  98. NOVOBJ =
  99. #endif
  100.  
  101. ACCT = account.o global.o options.o proto.o hostname.o 
  102.  
  103. MAIL = nnmail.o reroute.o hostname.o global.o options.o
  104.  
  105.  
  106. all:    $(BIN_PROG) $(LIB_PROG) $(MASTER_PROG) inst
  107.  
  108. client: $(BIN_PROG) $(LIB_PROG) inst
  109.  
  110. master: $(MASTER_PROG) inst
  111.  
  112. nn:    PARALLEL $(NN) $(NOVOBJ)
  113.     @echo linking nn
  114.     @$(CC) -o nn $(CFLAGS) $(NN) $(NOVOBJ) $(LDFLAGS) TERMLIB NNTP_EXTRA_LIB
  115.  
  116. nnmaster: PARALLEL $(MASTER)
  117.     @echo linking nnmaster
  118.     @$(CC) -o nnmaster $(CFLAGS) $(MASTER) $(LDFLAGS) NNTP_EXTRA_LIB
  119.  
  120. nnmail:    PARALLEL $(MAIL)
  121.     @echo linking nnmail
  122.     @$(CC) -o nnmail $(CFLAGS) $(MAIL) $(LDFLAGS)
  123.  
  124. nnstats: nnstats.sh prefix
  125.     cat prefix nnstats.sh > nnstats ; chmod +x nnstats
  126.  
  127. nnusage: nnusage.sh prefix
  128.     cat prefix nnusage.sh > nnusage ; chmod +x nnusage
  129.  
  130. nngrab:    nngrab.sh prefix
  131.     cat prefix nngrab.sh > nngrab ; chmod +x nngrab
  132.  
  133. aux:     aux.sh prefix
  134.     cat prefix aux.sh > aux ; chmod +x aux
  135.  
  136. upgrade_rc: upgrade_rc.sh prefix
  137.     cat prefix upgrade_rc.sh > upgrade_rc ; chmod +x upgrade_rc
  138.  
  139. nnacct: PARALLEL $(ACCT)
  140.     @echo linking nnacct
  141.     @$(CC) -o nnacct $(CFLAGS) $(ACCT) $(LDFLAGS)
  142.  
  143. back_act: back_act.sh prefix
  144.     cat prefix back_act.sh > back_act ; chmod +x back_act
  145.  
  146. nnspew:    nnspew.sh prefix
  147.     cat prefix nnspew.sh > nnspew ; chmod +x nnspew
  148.  
  149. prefix:    config.h mkprefix
  150.     ./mkprefix prefix < /dev/null > prefix
  151.  
  152. mkprefix: PARALLEL prefix.o global.o
  153.     $(CC) -o mkprefix $(CFLAGS) prefix.o global.o $(LDFLAGS)
  154.  
  155. *
  156. * Configuration counter updating
  157. *
  158.  
  159. update.h:    config.h patchlevel.h Makefile
  160.     @sh -c "[ -f update.h ] || (echo 0 > update.h)"
  161.     @sh -c "expr `cat update.h` + 1 > update1.h && mv update1.h update.h"
  162.     @echo configuration number updated to `cat update.h`
  163.  
  164. *
  165. * Installation
  166. *
  167.  
  168. cvt-help:    PARALLEL config.h cvt-help.c
  169.     $(CC) -o cvt-help cvt-help.c $(LDFLAGS)
  170.  
  171. usercheck:    PARALLEL config.h usercheck.c
  172.     $(CC) -o usercheck usercheck.c $(LDFLAGS)
  173.  
  174. inst: config.h xmakefile inst.sh cvt-help usercheck mkprefix man/nn.1
  175.     @echo building install script: ./inst
  176.     @./mkprefix full < /dev/null > inst
  177.     @echo BIN_PROG=\"$(BIN_PROG)\" >> inst
  178.     @echo BIN_LINK=\"$(BIN_LINK)\" >> inst
  179.     @echo LIB_PROG=\"$(LIB_PROG)\" >> inst
  180.     @echo MASTER_PROG=\"$(MASTER_PROG)\" >> inst
  181.     @cat inst.sh >> inst
  182.     @chmod 755 inst
  183.  
  184. * merge nn.1
  185.  
  186. man/nn.1:    man/nn.1.A man/nn.1.B man/nn.1.C man/nn.1.D
  187.     -[ ! -f man/nn.1 ] || mv man/nn.1 man/nn.1~
  188.     cat man/nn.1.? > man/nn.1
  189.  
  190. *
  191. * Clean -- remove compiled programs
  192. *
  193.  
  194. clean:
  195.     rm -f $(BIN_PROG) $(LIB_PROG) $(MASTER_PROG) cvt-help usercheck
  196.     rm -f prefix mkprefix inst
  197.     rm -f man/nn.1 man/nn.1~
  198.  
  199. *
  200. * dependencies
  201. *
  202.  
  203. account.o:    account.c config.h global.h vararg.h options.h proto.h \
  204.         account.h
  205. active.o:    active.c config.h global.h vararg.h data.h
  206. admin.o:    admin.c config.h global.h vararg.h data.h db.h nn_term.h \
  207.         proto.h
  208. answer.o:    answer.c config.h global.h vararg.h data.h news.h nn_term.h \
  209.         keymap.h options.h chset.h
  210. articles.o:    articles.c config.h global.h vararg.h data.h db.h articles.h
  211. chset.o:    chset.h
  212. collect.o:    collect.c config.h global.h vararg.h data.h db.h news.h
  213. db.o:        db.c config.h global.h vararg.h data.h db.h
  214. decode.o:    decode.c config.h global.h vararg.h data.h
  215. digest.o:    digest.c config.h global.h vararg.h data.h news.h debug.h
  216. dir.o:        dir.c config.h global.h vararg.h data.h articles.h dir.h
  217. execute.o:    execute.c config.h global.h vararg.h data.h nn_term.h
  218. expire.o:    expire.c config.h global.h vararg.h data.h db.h dir.h
  219. folder.o:    folder.c config.h global.h vararg.h data.h articles.h news.h \
  220.         nn_term.h menu.h
  221. fullname.o:    fullname.c config.h global.h
  222. global.o:    global.c config.h global.h vararg.h data.h \
  223.         patchlevel.h update.h
  224. group.o:    group.c config.h global.h vararg.h data.h articles.h db.h \
  225.         nn_term.h menu.h keymap.h regexp.h
  226. hostname.o:    hostname.c config.h
  227. init.o:        init.c config.h global.h vararg.h data.h articles.h nn_term.h \
  228.         keymap.h menu.h
  229. keymap.o:    keymap.c config.h global.h vararg.h data.h keymap.h nn_term.h
  230. kill.o:        kill.c config.h global.h vararg.h data.h nn_term.h regexp.h
  231. macro.o:    macro.c config.h global.h vararg.h data.h keymap.h nn_term.h
  232. master.o:    master.c config.h global.h vararg.h data.h db.h \
  233.         options.h proto.h
  234. match.o:    match.c config.h global.h regexp.h
  235. menu.o:        menu.c config.h global.h vararg.h data.h articles.h nn_term.h \
  236.         keymap.h menu.h regexp.h
  237. more.o:        more.c config.h global.h vararg.h data.h news.h nn_term.h \
  238.         menu.h keymap.h regexp.h
  239. news.o:        news.c config.h global.h vararg.h data.h news.h
  240. nn.o:        nn.c config.h global.h vararg.h data.h menu.h nn_term.h \
  241.         keymap.h options.h articles.h proto.h
  242. nnmail.o:    nnmail.c config.h global.h vararg.h data.h options.h
  243. nntp.o:        nntp.c config.h global.h vararg.h data.h nntp.h
  244. options.o:    options.c config.h global.h vararg.h data.h options.h
  245. pack_date.o:    pack_date.c config.h global.h vararg.h data.h
  246. pack_name.o:    pack_name.c config.h global.h vararg.h data.h
  247. pack_subject.o:    pack_subject.c config.h global.h vararg.h data.h
  248. prefix.o:    config.h global.h
  249. proto.o:    proto.c config.h global.h proto.h
  250. newsrc.o:    newsrc.c config.h global.h vararg.h data.h nn_term.h debug.h
  251. regexp.o:    regexp.c config.h global.h vararg.h data.h regexp.h
  252. reroute.o:    reroute.c config.h global.h vararg.h data.h
  253. save.o:        save.c config.h global.h vararg.h data.h nn_term.h keymap.h \
  254.         news.h
  255. selection.o:    selection.c config.h global.h vararg.h data.h nn_term.h \
  256.         articles.h
  257. sequence.o:    sequence.c config.h global.h vararg.h data.h debug.h
  258. sort.o:        sort.c config.h global.h vararg.h data.h
  259. term.o:        term.c config.h global.h vararg.h data.h nn_term.h keymap.h
  260. unshar.o:    unshar.c config.h global.h vararg.h data.h
  261. variable.o:    variable.c config.h global.h vararg.h data.h
  262.  
  263. awksplit.o:    awksplit.c 
  264. hash.o:        hash.c hdbm.h hash.h hashint.h 
  265. hdbm.o:        hdbm.c hdbm.h hdbmint.h 
  266. libnov.o:    libnov.c hash.h hdbm.h newsoverview.h 
  267. split.o:    split.c 
  268.  
  269. * link debugging version
  270.  
  271. nn1:    $(NN)
  272.     $(CC) -o nn1 -Mnn1 $(CFLAGS) $(NN) $(LDFLAGS) TERMLIB NNTP_EXTRA_LIB
  273.  
  274. nnmaster1: $(MASTER)
  275.     $(CC) -o nnmaster1 -Mnnmaster1 $(CFLAGS) $(MASTER) $(LDFLAGS) NNTP_EXTRA_LIB
  276.  
  277. lint:
  278.     echo LINTING NN
  279.     lint -Iconf -u $(NN:.o=.c)
  280.     echo LINTING MASTER
  281. *    lint -Iconf -u -DNNTP $(MASTER:.o=.c)
  282.