|
|
1.1 ! root 1: # Makefile for University of Illinois Notesfiles ! 2: # ! 3: # $Header: Makefile,v 1.7.0.5 85/10/09 18:11:23 notes Rel $ ! 4: # ! 5: # Ray Essick ! 6: # 214 DCL ! 7: # University of Illinois at Urbana-Champaign ! 8: # 1304 W. Springfield ! 9: # Urbana, Illinois 61801 ! 10: # 217-333-7937 ! 11: # ! 12: ! 13: BIN = /usr/local ! 14: MSTDIR = /usr/spool/notes ! 15: ARCHDIR = /usr/spool/oldnotes ! 16: NET = /usr/bin ! 17: AUTOSEQ = autoseq ! 18: NOTES = notes ! 19: NOTESUID = 10 ! 20: NOTESGRP = notes ! 21: ANON = anon ! 22: ANONUID = 4 ! 23: LIBDIR = /usr/local/lib ! 24: CC = cc ! 25: CFLAGS = -DMSTDIR=\"$(MSTDIR)\" -DARCHDIR=\"$(ARCHDIR)\" \ ! 26: -DNOTES=\"$(NOTES)\" -DNOTESUID=$(NOTESUID) \ ! 27: -DANON=\"$(ANON)\" -DANONUID=$(ANONUID) \ ! 28: -DBIN=\"$(BIN)\" -DRCSIDENT -O ! 29: LFLAGS = -n ! 30: # -n is shared, read-only text segment ! 31: TERMCAP = -ltermcap ! 32: # Evidently on System V (and other USG systems?) the termcap routines ! 33: # are in /usr/lib/libcurses.a ! 34: ! 35: # ! 36: # The following probably don't need to be modified ! 37: # ! 38: UTILITY = $(MSTDIR)/.utilities ! 39: SEQUENCER = $(MSTDIR)/.sequencer ! 40: LOCKS = $(MSTDIR)/.locks ! 41: ALIASES = $(UTILITY)/net.aliases ! 42: UNIQID = $(MSTDIR)/.SEQ ! 43: ! 44: # directory where the "release" copy is kept ! 45: DISTDIR= p:/usr/src/uiuc/notesfiles ! 46: DCP= rcp ! 47: RCSID = 1.7.0 ! 48: RCSSTATE = Rel ! 49: RCSIFLAGS = -r$(RCSID) -s$(RCSSTATE) ! 50: RCSOFLAGS = -r$(RCSID) -s$(RCSSTATE) ! 51: ! 52: # ! 53: # Define some collections of routines so that things will ! 54: # be easy to maintain ! 55: # ! 56: ! 57: MISCFILES = Makefile rinstall getdate.y ! 58: HFILES = canon.h doc.h net.h newsgate.h parms.h structs.h dump.h ! 59: HLPFILES = access.help dir.help index.help lim.help read.help ! 60: CFILES = access.c adnote.c adresp.c archiver.c asearch.c buildnf.c check.c \ ! 61: checknotes.c compress.c control.c cursor.c datein.c delete.c \ ! 62: dmpnote.c dmpresp.c dropt.c dsply.c find.c gdate.c getnet.c \ ! 63: gname.c gtext.c gtime.c help.c index.c ldmisc.c limindx.c loadem.c \ ! 64: lprnote.c lrsp.c mailit.c main.c misc.c miscio.c mknf.c newsdump.c \ ! 65: newsgroup.c newsinput.c newsout.c newsoutput.c next.c nfalias.c \ ! 66: nfarchive.c nfcomment.c nfmail.c nfpipe.c nfprint.c nfrcv.c nfsend.c \ ! 67: nfstats.c nfxmit.c note.c pagein.c pageout.c pattern.c permit.c \ ! 68: perms.c preptxt.c prtind.c readem.c recsio.c resp.c rmnf.c \ ! 69: savtxt.c startup.c talkto.c times.c tsearch.c \ ! 70: expand.c newspath.c nfaccess.c acssort.c nfabort.c \ ! 71: nfdump.c dump.c nfload.c loadnf.c parse.c loadvars.c \ ! 72: bnewshead.c loadproto1.c ftime.c parsepath.c pagemove.c ! 73: USERCMDS = main nfpipe nfprint nfstats checknotes ! 74: NETCMDS = nfxmit nfrcv newsinput newsoutput ! 75: UTILCMDS = mknf rmnf nfarchive nfaccess nfmail ! 76: MISCCMDS = nfload nfdump ! 77: CMDS = $(USERCMDS) $(NETCMDS) $(UTILCMDS) $(MISCCMDS) ! 78: ! 79: # ! 80: # Objects (other than the mainline) to load with each program ! 81: # ! 82: ! 83: CHECKNOTES = check.o cursor.o gname.o gtime.o lrsp.o misc.o miscio.o \ ! 84: next.o pattern.o perms.o recsio.o startup.o times.o expand.o ! 85: MAIN = access.o acssort.o adnote.o adresp.o asearch.o check.o compress.o \ ! 86: control.o cursor.o delete.o dropt.o dsply.o gdate.o gname.o \ ! 87: gtext.o gtime.o help.o index.o limindx.o lrsp.o mailit.o \ ! 88: misc.o miscio.o next.o note.o pagein.o pageout.o pattern.o \ ! 89: permit.o perms.o preptxt.o prtind.o readem.o recsio.o resp.o \ ! 90: savtxt.o startup.o talkto.o times.o tsearch.o \ ! 91: expand.o datein.o getdate.o ftime.o pagemove.o ! 92: MKNF = buildnf.o check.o cursor.o gname.o gtime.o misc.o \ ! 93: miscio.o startup.o acssort.o recsio.o perms.o ! 94: NEWSINPUT = buildnf.o check.o cursor.o datein.o find.o gname.o gtime.o \ ! 95: lrsp.o misc.o miscio.o newsgroup.o note.o pagein.o permit.o \ ! 96: perms.o recsio.o resp.o startup.o tsearch.o acssort.o \ ! 97: expand.o bnewshead.o pattern.o getdate.o ftime.o parsepath.o ! 98: NEWSOUTPUT = check.o cursor.o gname.o gtime.o lrsp.o misc.o miscio.o \ ! 99: newsdump.o newsgroup.o newsout.o newspath.o next.o pageout.o \ ! 100: pattern.o perms.o recsio.o startup.o times.o expand.o \ ! 101: getnet.o datein.o getdate.o ftime.o ! 102: NFACCESS = acssort.o check.o cursor.o gname.o gtime.o misc.o miscio.o \ ! 103: pattern.o permit.o perms.o recsio.o startup.o expand.o ! 104: NFARCHIVE = archiver.o buildnf.o check.o compress.o cursor.o dmpnote.o \ ! 105: dmpresp.o gname.o gtime.o lrsp.o misc.o miscio.o \ ! 106: next.o nfalias.o note.o pagein.o pageout.o pattern.o permit.o \ ! 107: perms.o recsio.o resp.o startup.o expand.o acssort.o find.o \ ! 108: pagemove.o ! 109: NFMAIL = gname.o gtime.o note.o pagein.o recsio.o resp.o startup.o \ ! 110: tsearch.o check.o cursor.o misc.o miscio.o perms.o parsepath.o ! 111: NFPIPE = check.o cursor.o gname.o gtime.o misc.o miscio.o note.o \ ! 112: pagein.o permit.o perms.o recsio.o startup.o ! 113: NFPRINT = check.o cursor.o gname.o gtime.o lprnote.o lrsp.o \ ! 114: misc.o miscio.o pageout.o permit.o perms.o recsio.o \ ! 115: startup.o ! 116: NFRCV = buildnf.o check.o cursor.o find.o gname.o gtime.o ldmisc.o \ ! 117: loadem.o lrsp.o misc.o miscio.o note.o permit.o perms.o \ ! 118: recsio.o resp.o startup.o acssort.o ! 119: NFSTATS = check.o cursor.o gname.o gtime.o misc.o miscio.o \ ! 120: pattern.o perms.o recsio.o startup.o expand.o ! 121: NFXMIT = check.o cursor.o dmpnote.o dmpresp.o getnet.o gname.o \ ! 122: gtime.o lrsp.o misc.o miscio.o next.o nfalias.o nfsend.o \ ! 123: pageout.o pattern.o permit.o perms.o recsio.o \ ! 124: startup.o times.o expand.o datein.o getdate.o ftime.o ! 125: RMNF = check.o cursor.o misc.o miscio.o startup.o gname.o \ ! 126: expand.o pattern.o ! 127: LIBOBJS = nfabort.o nfcomment.o ! 128: # ! 129: NFDUMP = dump.o dmpnote.o dmpresp.o check.o recsio.o note.o resp.o \ ! 130: lrsp.o startup.o misc.o miscio.o pageout.o gname.o perms.o \ ! 131: permit.o gtime.o cursor.o ! 132: NFLOAD = loadvars.o loadnf.o buildnf.o recsio.o gname.o gtime.o \ ! 133: startup.o misc.o miscio.o cursor.o loadem.o parse.o acssort.o \ ! 134: check.o perms.o permit.o note.o ldmisc.o find.o resp.o \ ! 135: lrsp.o datein.o getdate.o ftime.o ! 136: ! 137: bin: user network utility ! 138: @echo notesfile binaries up-to-date ! 139: touch bin ! 140: ! 141: all: bin ! 142: touch all ! 143: ! 144: clean: ! 145: rm -f *.o $(CMDS) libnfcom.a ! 146: # DO NOT remove "boot" and "spool". ! 147: rm -f placebin placeuser placenet placeutil placelib placedoc \ ! 148: bin user network utility install print all ! 149: rm -f Make.errs ! 150: ! 151: sizes: ! 152: size $(CMDS) ! 153: ! 154: help: ! 155: @echo type make base as su to make notes directories. ! 156: @echo type make install to compile and install code and man pages. ! 157: @echo type make bin to merely make binaries. ! 158: @echo for more info, see the Notesfile Reference Manual. ! 159: ! 160: user: $(USERCMDS) ! 161: touch user ! 162: ! 163: network: $(NETCMDS) ! 164: touch network ! 165: ! 166: utility: $(UTILCMDS) ! 167: touch utility ! 168: ! 169: # make base should only be run once! ! 170: # This set of commands sets up the required files down in the ! 171: # binary directories. It's main purpose is to do the several ! 172: # installation commands that might just have to be super-user. ! 173: ! 174: base: ! 175: mkdir $(MSTDIR) $(ARCHDIR) ! 176: -chown $(NOTES) $(MSTDIR) $(ARCHDIR) ! 177: -chgrp $(NOTESGRP) $(MSTDIR) $(ARCHDIR) ! 178: (cd $(BIN); touch notes nfprint nfstats checknotes nfpipe) ! 179: -(cd $(BIN); chown $(NOTES) notes nfprint nfstats nfpipe checknotes) ! 180: -(cd $(BIN); chgrp $(NOTESGRP) notes nfprint nfstats nfpipe checknotes) ! 181: # establish "aliases" for auto-sequencing entry points ! 182: # make more links with other names if you want them. ! 183: ln $(BIN)/notes $(BIN)/$(AUTOSEQ) ! 184: -(cd $(NET); touch nfxmit nfrcv) ! 185: -(cd $(NET); chown $(NOTES) nfxmit nfrcv) ! 186: -(cd $(NET); chgrp $(NOTESGRP) nfxmit nfrcv) ! 187: touch $(LIBDIR)/libnfcom.a ! 188: -chown $(NOTES) $(LIBDIR)/libnfcom.a ! 189: -chgrp $(NOTESGRP) $(LIBDIR)/libnfcom.a ! 190: touch base ! 191: @echo base generation done ! 192: ! 193: boot: spool install ! 194: # make the nfgripes file and open it ! 195: -mknf -o nfgripes ! 196: -mknf -on nfmaint ! 197: @echo notesfile system booted ! 198: ! 199: spool: ! 200: mkdir $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES) ! 201: -chown $(NOTES) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES) ! 202: -chgrp $(NOTESGRP) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES) ! 203: chmod 775 $(MSTDIR) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES) ! 204: mkdir $(UTILITY)/coredump ! 205: chmod 777 $(UTILITY)/coredump ! 206: echo 1 > $(UNIQID) ! 207: chmod 660 $(UNIQID) ! 208: -chown $(NOTES) $(UTILITY)/coredump $(UNIQID) ! 209: -chgrp $(NOTESGRP) $(UTILITY)/coredump $(UNIQID) ! 210: # generate the available notesfile file here - only once! ! 211: echo "available notesfiles" > $(UTILITY)/avail.notes ! 212: touch $(UTILITY)/Dflt-Seq ! 213: -chown $(NOTES) $(UTILITY)/avail.notes $(UTILITY)/Dflt-Seq ! 214: -chgrp $(NOTESGRP) $(UTILITY)/avail.notes $(UTILITY)/Dflt-Seq ! 215: chmod 664 $(UTILITY)/avail.notes $(UTILITY)/Dflt-Seq ! 216: touch spool ! 217: @echo Notesfile Spool directories ready ! 218: ! 219: # make sure that all the appropriate directories exist ! 220: dirs: $(MSTDIR) $(ARCHDIR) $(UTILITY) $(SEQUENCER) $(LOCKS) \ ! 221: $(ALIASES) $(UTILITY)/coredump ! 222: touch dirs ! 223: ! 224: $(MSTDIR) $(ARCHDIR) $(UTILITY) $(SEQUENCER) $(LOCKS) $(ALIASES): ! 225: mkdir $@ ! 226: -chown $(NOTES) $@ ! 227: -chgrp $(NOTESGRP) $@ ! 228: chmod 775 $@ ! 229: ! 230: $(UTILITY)/coredump: ! 231: mkdir $@ ! 232: -chown $(NOTES) $@ ! 233: -chgrp $(NOTESGRP) $@ ! 234: chmod 777 $@ ! 235: ! 236: install: dirs placedoc placelib placebin ! 237: touch install ! 238: @echo notesfiles installed ! 239: ! 240: placedoc: access.help dir.help index.help lim.help read.help ! 241: cp $? $(UTILITY) ! 242: -(cd $(UTILITY); chmod 644 $?) ! 243: -(cd $(UTILITY); chown $(NOTES) $?; chgrp $(NOTESGRP) $?) ! 244: @echo notesfile help files installed ! 245: touch placedoc ! 246: ! 247: placelib: libnfcom.a ! 248: cp libnfcom.a $(LIBDIR)/libnfcom.a ! 249: -ranlib $(LIBDIR)/libnfcom.a ! 250: touch placelib ! 251: ! 252: cp: placebin ! 253: ! 254: placebin: $(BIN)/notes $(BIN)/nfpipe $(BIN)/nfprint \ ! 255: $(BIN)/nfstats $(BIN)/checknotes $(UTILITY)/mknf \ ! 256: $(UTILITY)/rmnf $(UTILITY)/nfarchive $(UTILITY)/nfaccess \ ! 257: $(UTILITY)/nfmail $(NET)/nfxmit $(NET)/nfrcv \ ! 258: $(UTILITY)/newsinput $(UTILITY)/newsoutput ! 259: @echo notesfile binaries installed ! 260: touch placebin ! 261: ! 262: $(BIN)/notes: main ! 263: cp main $(BIN)/notes ! 264: strip $(BIN)/notes ! 265: -chown $(NOTES) $(BIN)/notes ! 266: -chgrp $(NOTESGRP) $(BIN)/notes ! 267: chmod 2755 $(BIN)/notes ! 268: ! 269: $(BIN)/nfpipe: nfpipe ! 270: cp nfpipe $(BIN)/nfpipe ! 271: strip $(BIN)/nfpipe ! 272: -chown $(NOTES) $(BIN)/nfpipe ! 273: -chgrp $(NOTESGRP) $(BIN)/nfpipe ! 274: chmod 2755 $(BIN)/nfpipe ! 275: ! 276: $(BIN)/nfstats: nfstats ! 277: cp nfstats $(BIN)/nfstats ! 278: strip $(BIN)/nfstats ! 279: -chown $(NOTES) $(BIN)/nfstats ! 280: -chgrp $(NOTESGRP) $(BIN)/nfstats ! 281: chmod 2755 $(BIN)/nfstats ! 282: ! 283: $(BIN)/nfprint: nfprint ! 284: cp nfprint $(BIN)/nfprint ! 285: strip $(BIN)/nfprint ! 286: -chown $(NOTES) $(BIN)/nfprint ! 287: -chgrp $(NOTESGRP) $(BIN)/nfprint ! 288: chmod 2755 $(BIN)/nfprint ! 289: ! 290: $(BIN)/checknotes: checknotes ! 291: cp checknotes $(BIN)/checknotes ! 292: strip $(BIN)/checknotes ! 293: -chown $(NOTES) $(BIN)/checknotes ! 294: -chgrp $(NOTESGRP) $(BIN)/checknotes ! 295: chmod 2755 $(BIN)/checknotes ! 296: ! 297: $(NET)/nfxmit: nfxmit ! 298: cp nfxmit $(NET)/nfxmit ! 299: strip $(NET)/nfxmit ! 300: -chown $(NOTES) $(NET)/nfxmit ! 301: -chgrp $(NOTESGRP) $(NET)/nfxmit ! 302: chmod 6750 $(NET)/nfxmit ! 303: ! 304: $(NET)/nfrcv: nfrcv ! 305: cp nfrcv $(NET)/nfrcv ! 306: strip $(NET)/nfrcv ! 307: -chown $(NOTES) $(NET)/nfrcv ! 308: -chgrp $(NOTESGRP) $(NET)/nfrcv ! 309: chmod 6755 $(NET)/nfrcv ! 310: ! 311: $(UTILITY)/newsinput: newsinput ! 312: cp newsinput $(UTILITY)/newsinput ! 313: strip $(UTILITY)/newsinput ! 314: -chown $(NOTES) $(UTILITY)/newsinput ! 315: -chgrp $(NOTESGRP) $(UTILITY)/newsinput ! 316: chmod 6755 $(UTILITY)/newsinput ! 317: ! 318: $(UTILITY)/newsoutput: newsoutput ! 319: cp newsoutput $(UTILITY)/newsoutput ! 320: strip $(UTILITY)/newsoutput ! 321: -chown $(NOTES) $(UTILITY)/newsoutput ! 322: -chgrp $(NOTESGRP) $(UTILITY)/newsoutput ! 323: chmod 6755 $(UTILITY)/newsoutput ! 324: ! 325: $(UTILITY)/mknf: mknf ! 326: cp mknf $(UTILITY)/mknf ! 327: strip $(UTILITY)/mknf ! 328: -chown $(NOTES) $(UTILITY)/mknf ! 329: -chgrp $(NOTESGRP) $(UTILITY)/mknf ! 330: chmod 4710 $(UTILITY)/mknf ! 331: ! 332: $(UTILITY)/rmnf: rmnf ! 333: cp rmnf $(UTILITY)/rmnf ! 334: strip $(UTILITY)/rmnf ! 335: -chown $(NOTES) $(UTILITY)/rmnf ! 336: -chgrp $(NOTESGRP) $(UTILITY)/rmnf ! 337: chmod 4710 $(UTILITY)/rmnf ! 338: ! 339: $(UTILITY)/nfarchive: nfarchive ! 340: cp nfarchive $(UTILITY)/nfarchive ! 341: strip $(UTILITY)/nfarchive ! 342: -chown $(NOTES) $(UTILITY)/nfarchive ! 343: -chgrp $(NOTESGRP) $(UTILITY)/nfarchive ! 344: chmod 6755 $(UTILITY)/nfarchive ! 345: ! 346: $(UTILITY)/nfaccess: nfaccess ! 347: cp nfaccess $(UTILITY)/nfaccess ! 348: strip $(UTILITY)/nfaccess ! 349: -chown $(NOTES) $(UTILITY)/nfaccess ! 350: -chgrp $(NOTESGRP) $(UTILITY)/nfaccess ! 351: chmod 6755 $(UTILITY)/nfaccess ! 352: ! 353: $(UTILITY)/nfmail: nfmail ! 354: cp nfmail $(UTILITY)/nfmail ! 355: strip $(UTILITY)/nfmail ! 356: -chown $(NOTES) $(UTILITY)/nfmail ! 357: -chgrp $(NOTESGRP) $(UTILITY)/nfmail ! 358: chmod 2755 $(UTILITY)/nfmail ! 359: ! 360: # ! 361: # Save old binaries. Put them all in the utility directory ! 362: # so we don't clutter the bin directories ! 363: # ! 364: ! 365: save: saveuser savenet saveutil ! 366: ! 367: saveuser: ! 368: cp $(BIN)/notes $(UTILITY)/notes.old ! 369: cp $(BIN)/nfpipe $(UTILITY)/nfpipe.old ! 370: cp $(BIN)/nfprint $(UTILITY)/nfprint.old ! 371: cp $(BIN)/nfstats $(UTILITY)/nfstats.old ! 372: cp $(BIN)/checknotes $(UTILITY)/checknotes.old ! 373: ! 374: savenet: ! 375: cp $(NET)/nfxmit $(UTILITY)/nfxmit.old ! 376: cp $(NET)/nfrcv $(UTILITY)/nfrcv.old ! 377: cp $(UTILITY)/newsinput $(UTILITY)/newsinput.old ! 378: cp $(UTILITY)/newsoutput $(UTILITY)/newsoutput.old ! 379: ! 380: saveutil: ! 381: cp $(UTILITY)/mknf $(UTILITY)/mknf.old ! 382: cp $(UTILITY)/rmnf $(UTILITY)/rmnf.old ! 383: cp $(UTILITY)/nfarchive $(UTILITY)/nfarchive.old ! 384: cp $(UTILITY)/nfmail $(UTILITY)/nfmail.old ! 385: ! 386: # ! 387: # User programs ! 388: # ! 389: ! 390: main: main.o $(MAIN) libnfcom.a ! 391: @echo loading main ! 392: @${CC} $(CFLAGS) $(LFLAGS) -o main main.o $(MAIN) \ ! 393: libnfcom.a $(TERMCAP) ! 394: ! 395: nfpipe: nfpipe.o $(NFPIPE) libnfcom.a ! 396: @echo loading nfpipe ! 397: @${CC} $(CFLAGS) $(LFLAGS) -o nfpipe nfpipe.o $(NFPIPE) \ ! 398: libnfcom.a $(TERMCAP) ! 399: ! 400: nfstats: nfstats.o $(NFSTATS) libnfcom.a ! 401: @echo loading nfstats ! 402: @${CC} $(CFLAGS) $(LFLAGS) -o nfstats nfstats.o $(NFSTATS) \ ! 403: libnfcom.a $(TERMCAP) ! 404: ! 405: nfprint: nfprint.o $(NFPRINT) libnfcom.a ! 406: @echo loading nfprint ! 407: @${CC} $(CFLAGS) $(LFLAGS) -o nfprint nfprint.o $(NFPRINT) \ ! 408: libnfcom.a $(TERMCAP) ! 409: ! 410: checknotes: checknotes.o $(CHECKNOTES) libnfcom.a ! 411: @echo loading checknotes ! 412: @${CC} $(CFLAGS) $(LFLAGS) -o checknotes checknotes.o $(CHECKNOTES) \ ! 413: libnfcom.a $(TERMCAP) ! 414: ! 415: # ! 416: # Network Transmission and reception ! 417: # ! 418: ! 419: nfxmit: nfxmit.o $(NFXMIT) libnfcom.a ! 420: @echo loading nfxmit ! 421: @${CC} $(CFLAGS) $(LFLAGS) -o nfxmit nfxmit.o $(NFXMIT) \ ! 422: libnfcom.a $(TERMCAP) ! 423: ! 424: nfrcv: nfrcv.o $(NFRCV) libnfcom.a ! 425: @echo loading nfrcv ! 426: @${CC} $(CFLAGS) $(LFLAGS) -o nfrcv nfrcv.o $(NFRCV) \ ! 427: libnfcom.a $(TERMCAP) ! 428: ! 429: # ! 430: # Utility programs - create/delete notesfiles, news gateways, ! 431: # and archiving ! 432: # ! 433: ! 434: mknf: mknf.o $(MKNF) libnfcom.a ! 435: @echo loading mknf ! 436: @${CC} $(CFLAGS) $(LFLAGS) -o mknf mknf.o $(MKNF) \ ! 437: libnfcom.a $(TERMCAP) ! 438: ! 439: rmnf: rmnf.o $(RMNF) libnfcom.a ! 440: @echo loading rmnf ! 441: @${CC} $(CFLAGS) $(LFLAGS) -o rmnf rmnf.o $(RMNF) \ ! 442: libnfcom.a $(TERMCAP) ! 443: ! 444: newsinput: newsinput.o $(NEWSINPUT) libnfcom.a ! 445: @echo loading newsinput ! 446: @${CC} $(CFLAGS) $(LFLAGS) -o newsinput newsinput.o $(NEWSINPUT) \ ! 447: libnfcom.a $(TERMCAP) ! 448: ! 449: newsoutput: newsoutput.o $(NEWSOUTPUT) libnfcom.a ! 450: @echo loading newsoutput ! 451: @${CC} $(CFLAGS) $(LFLAGS) -o newsoutput newsoutput.o $(NEWSOUTPUT) \ ! 452: libnfcom.a $(TERMCAP) ! 453: ! 454: nfarchive: nfarchive.o $(NFARCHIVE) libnfcom.a ! 455: @echo loading nfarchive ! 456: @${CC} $(CFLAGS) $(LFLAGS) -o nfarchive nfarchive.o $(NFARCHIVE) \ ! 457: libnfcom.a $(TERMCAP) ! 458: ! 459: nfaccess: nfaccess.o $(NFACCESS) libnfcom.a ! 460: @echo loading nfaccess ! 461: @${CC} $(CFLAGS) $(LFLAGS) -o nfaccess nfaccess.o $(NFACCESS) \ ! 462: libnfcom.a $(TERMCAP) ! 463: ! 464: nfmail: nfmail.o $(NFMAIL) libnfcom.a ! 465: @echo loading nfmail ! 466: @${CC} ${CFLAGS} ${LFLAGS} -o nfmail nfmail.o ${NFMAIL} \ ! 467: libnfcom.a ${TERMCAP} ! 468: ! 469: # ! 470: # User subroutines ! 471: # ! 472: ! 473: libnfcom.a: $(LIBOBJS) ! 474: ar r libnfcom.a $(LIBOBJS) ! 475: -ranlib libnfcom.a ! 476: ! 477: # ! 478: # Load/Dump tools ! 479: # ! 480: ! 481: nfdump: nfdump.o $(NFDUMP) libnfcom.a ! 482: @echo loading nfdump ! 483: @$(CC) -o nfdump nfdump.o $(NFDUMP) libnfcom.a $(TERMCAP) ! 484: ! 485: nfload: nfload.o $(NFLOAD) libnfcom.a ! 486: @echo loading nfload ! 487: @$(CC) -o nfload nfload.o $(NFLOAD) libnfcom.a $(TERMCAP) ! 488: ! 489: # ! 490: # This should set up some rules for dependencies on ! 491: # the include files. ! 492: # ! 493: ! 494: access.o : parms.h structs.h ! 495: adnote.o : parms.h structs.h ! 496: adresp.o : parms.h structs.h ! 497: archiver.o : parms.h structs.h ! 498: asearch.o : parms.h structs.h ! 499: bnewshead.o : parms.h structs.h newsgate.h ! 500: buildnf.o : parms.h structs.h ! 501: check.o : parms.h structs.h ! 502: checknotes.o : parms.h structs.h ! 503: compress.o : parms.h structs.h ! 504: control.o : parms.h structs.h ! 505: cursor.o : parms.h structs.h ! 506: datein.o : parms.h structs.h ! 507: delete.o : parms.h structs.h ! 508: dmpnote.o : parms.h structs.h ! 509: dmpresp.o : parms.h structs.h ! 510: dropt.o : parms.h structs.h ! 511: dsply.o : parms.h structs.h ! 512: expand.o : parms.h structs.h ! 513: find.o : parms.h structs.h ! 514: gdate.o : parms.h structs.h ! 515: getnet.o : parms.h structs.h net.h ! 516: gname.o : parms.h structs.h ! 517: gtext.o : parms.h structs.h ! 518: gtime.o : parms.h structs.h ! 519: help.o : parms.h structs.h ! 520: index.o : parms.h structs.h ! 521: ldmisc.o : parms.h structs.h ! 522: limindx.o : parms.h structs.h ! 523: loadem.o : parms.h structs.h ! 524: lprnote.o : parms.h structs.h ! 525: lrsp.o : parms.h structs.h ! 526: mailit.o : parms.h structs.h ! 527: main.o : parms.h structs.h ! 528: misc.o : parms.h structs.h ! 529: miscio.o : parms.h structs.h ! 530: mknf.o : parms.h structs.h ! 531: newsdump.o : parms.h structs.h newsgate.h ! 532: newsgroup.o : parms.h structs.h newsgate.h ! 533: newsinput.o : parms.h structs.h newsgate.h ! 534: newsout.o : parms.h structs.h newsgate.h ! 535: newsoutput.o : parms.h structs.h newsgate.h ! 536: newspath.o : newsgate.h ! 537: next.o : parms.h structs.h ! 538: nfabort.o : parms.h structs.h ! 539: nfaccess.o : parms.h structs.h ! 540: nfalias.o : parms.h structs.h net.h ! 541: nfarchive.o : parms.h structs.h ! 542: nfcomment.o : ! 543: nfmail.o : parms.h structs.h ! 544: nfpipe.o : parms.h structs.h ! 545: nfprint.o : parms.h structs.h ! 546: nfrcv.o : parms.h structs.h net.h ! 547: nfsend.o : parms.h structs.h net.h ! 548: nfstats.o : parms.h structs.h ! 549: nfxmit.o : parms.h structs.h net.h ! 550: note.o : parms.h structs.h ! 551: pagein.o : parms.h structs.h ! 552: pagemove.o : parms.h structs.h ! 553: pageout.o : parms.h structs.h ! 554: parsepath.o : parms.h structs.h newsgate.h ! 555: pattern.o : parms.h structs.h ! 556: permit.o : parms.h structs.h ! 557: perms.o : parms.h structs.h ! 558: preptxt.o : parms.h structs.h ! 559: prtind.o : parms.h structs.h ! 560: readem.o : parms.h structs.h ! 561: recsio.o : parms.h structs.h ! 562: resp.o : parms.h structs.h ! 563: rmnf.o : parms.h structs.h ! 564: savtxt.o : parms.h structs.h ! 565: startup.o : parms.h structs.h ! 566: talkto.o : parms.h structs.h ! 567: times.o : parms.h structs.h ! 568: tsearch.o : parms.h structs.h ! 569: # ! 570: nfdump.o : parms.h structs.h ! 571: dump.o : parms.h structs.h dump.h ! 572: nfload.o : parms.h structs.h ! 573: loadnf.o : parms.h structs.h dump.h ! 574: parse.o : dump.h ! 575: loadvars.o : dump.h ! 576: loadproto1.o : parms.h structs.h dump.h ! 577: ! 578: # ! 579: # this is to make updating the "release" copy easy. ! 580: # ! 581: ! 582: dist: $(CFILES) $(HFILES) $(HLPFILES) $(MISCFILES) Revisions ! 583: ${DCP} $? $(DISTDIR)/src/. ! 584: touch dist ! 585: ! 586: Revisions: $(CFILES) $(HFILES) $(MISCFILES) ! 587: grep "Header:" $(CFILES) $(HFILES) $(MISCFILES) > Revisions ! 588: ! 589: # ! 590: # Update the RCS library with this command. ! 591: # Puts modified files into the RCS libraries with ! 592: # the version number specified by "RCSID". ! 593: # Also uses the RCS[IO]FLAGS variables. ! 594: # ! 595: # since RCS has a bug in that the -l flag does no update the ! 596: # version number in the copy left available, we check in ! 597: # the files and then check them out again. ! 598: # ! 599: ! 600: freeze: $(CFILES) $(HFILES) $(MISCFILES) $(HLPFILES) ! 601: ci $(RCSIFLAGS) $? ! 602: co $(RCSOFLAGS) $? ! 603: touch freeze ! 604: ! 605: # Make printouts of the modified routines ! 606: # ! 607: ! 608: print: $(MISCFILES) $(HFILES) $(CFILES) $(HLPFILES) ! 609: # pr -f $? | lpr -b "Notesfile Code" ! 610: imprint -2 -I -P2 $? ! 611: touch print ! 612: ! 613: # For those using vi, produce a ctags file of the source code. ! 614: # ! 615: ! 616: tags: $(CFILES) ! 617: ctags $(CFILES) ! 618: ! 619: # ! 620: # Lint the mess to catch inconsistencies. ! 621: # ! 622: ! 623: lint: ! 624: lint -haxc $(CFLAGS) *.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.