Annotation of 43BSDReno/contrib/rcs/src/Makefile, revision 1.1

1.1     ! root        1: #$Header: /usr/src/local/bin/rcs/src/RCS/Makefile,v 1.13 89/05/02 14:53:40 narten Exp $
        !             2: # Copyright (C) 1982, 1988, 1989 Walter Tichy
        !             3: # All rights reserved.
        !             4: #
        !             5: # Redistribution and use in source and binary forms are permitted
        !             6: # provided that the above copyright notice and this paragraph are
        !             7: # duplicated in all such forms and that any documentation,
        !             8: # advertising materials, and other materials related to such
        !             9: # distribution and use acknowledge that the software was developed
        !            10: # by Walter Tichy.
        !            11: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            12: # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            13: # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            14: #
        !            15: # Report all problems and direct all questions to:
        !            16: #   [email protected]
        !            17: # 
        !            18: #
        !            19: #
        !            20: #
        !            21: #
        !            22: #
        !            23: #
        !            24: #
        !            25: #               INSTRUCTIONS
        !            26: #               ============
        !            27: # 0.  If you are porting to different hardware,
        !            28: #     check the instructions in rcsbase.h
        !            29: #
        !            30: # Note: instructions 1-5 are normally taken care of by the calling make,
        !            31: # which passes in DIFF, DIFF3, RCSDIR, OLDDIR, OS, and LOCKING.
        !            32: #
        !            33: # 1. Early version of diff did not support options needed by RCS.
        !            34: #    Newer versions of diff, support them and diff is no longer distributed with
        !            35: #    RCS. The following definitions apply only if you have both old versions
        !            36: #    and new versions of diff, and you want RCS to use the new versions.
        !            37: #    The default should be :
        !            38: #
        !            39: 
        !            40: DIFF      = /usr/bin/diff
        !            41: DIFF3     = /usr/bin/diff3
        !            42: 
        !            43: # 2.  Figure out where to put the RCS commands; define RCSDIR accordingly.
        !            44: 
        !            45: RCSDIR  = /usr/contrib
        !            46: 
        !            47: 
        !            48: # 3.  Figure out where to put your old RCS commands; define OLDDIR
        !            49: #     accordingly. This is not needed if you don't have an old release of RCS.
        !            50: OLDDIR    = /usr/old/bin
        !            51: 
        !            52: # 4.  Set the operating system variable OS. If you run on 4.1 BSD, do not
        !            53: #     define OS:
        !            54: #     OS  =
        !            55: #     If you run on USG Unix or UN*X, use:
        !            56: #     OS  = -DUSG
        !            57: #     If you run on Version 6 Unix, use:
        !            58: #     OS  = -DV6
        !            59: #     If you run on 4.2 or 4.3 BSD, use:
        !            60: #     OS = -DV4_2BSD
        !            61: OS        = -DV4_2BSD
        !            62: 
        !            63: #     Also, set SIGNAL_TYPE to be what your signal() handlers yield.
        !            64: #     Old-fashioned signal handlers yield 'int'; the newer ones 'void'.
        !            65: 
        !            66: SIGNAL_TYPE = void
        !            67: 
        !            68: # 5.  Decide whether you want strict locking as the default or not.
        !            69: #     If you want strict locking, use:
        !            70: #     LOCKING = 1
        !            71: #     otherwise:
        !            72: #     LOCKING = 0
        !            73: LOCKING   = 1
        !            74: 
        !            75: # 6.  Decide what loader flags you need, and define LDFLAGS accordingly.
        !            76: #     On the Vax you need none, on PDP-11s with split i/d you need -i.
        !            77: #LDFLAGS  = -i
        !            78: LDFLAGS   =
        !            79: 
        !            80: # 7.  RCS can maintain a log of the use of the co and ci commands. If you
        !            81: #     want the logging, you must
        !            82: #     a) define SNOOP (that's where the process that writes the log goes),
        !            83: #     b) define SNOOPFILE (that's the file where SNOOP writes the log;
        !            84: #        it must be owned by the same user that owns SNOOP),
        !            85: #     c) include SNOOP and SNOOPFILE in the CFLAGS macro.
        !            86: #     If you don't want the logging of command usage, omit the SNOOP and
        !            87: #     SNOOPFILE definitions from CFLAGS.
        !            88: #     The two variants of the CFLAG macros are given below.
        !            89: SNOOPFILE = /var/log/rcslog
        !            90: SNOOP  = /usr/contrib/snoop
        !            91: 
        !            92: DEFINES= -DCOMPAT2 $(OS) -DSIGNAL_TYPE=$(SIGNAL_TYPE) -DSTRICT_LOCKING=$(LOCKING) -DDIFF='"$(DIFF)"' -DCO='"${RCSDIR}/co"' -DMERGE='"${RCSDIR}/merge"' 
        !            93: CFLAGS = -O $(DEFINES)
        !            94: LINTFLAGS = -c -u
        !            95: LINT = lint $(LINTFLAGS) -Dlint $(DEFINES)
        !            96: 
        !            97: # 8.  If you don't have release 2 RCS files around (e.g., if you don't
        !            98: #     have release 2 of RCS), remove the word -DCOMPAT2 from whatever
        !            99: #     variant of CFLAGS you selected. -DCOMPAT2 assures that release 2
        !           100: #     RCS files can still be read. (After all release 2 RCS files have
        !           101: #     been updated with release 3 or 4 ci or rcs, you can remake RCS without
        !           102: #     -DCOMPAT2.) Also, make sure that the co commands at the end of this
        !           103: #     file are commented out; otherwise, Make will complain.
        !           104: #
        !           105: # 9.  Now you are ready. Try to make 'depend' and 'all'. If all went well, make
        !           106: #     'install' if you want no logging of command usage, 'installog' otherwise.
        !           107: #
        !           108: # 10. IMPORTANT! When you have RCS installed, rename old
        !           109: #     release 2 RCS files as follows (if you have any):
        !           110: #     If the working file was "f.c" and the RCS file "f.c.v", rename the
        !           111: #     RCS file to "f.c,v". If the working file was "f.c" and the RCS file
        !           112: #     "f.v", rename the RCS file "f.c,v". Thus, suffixes are no longer
        !           113: #     dropped and RCS files end in ",v" rather than ".v".
        !           114: #
        !           115: # 11. If you want to maintain RCS with itself, be sure you preserve the
        !           116: #     original revision numbers, dates, etc. This is done by checking the
        !           117: #     files in with the -k option. When done, remove the comments from the
        !           118: #     co-rules at the end of this file.
        !           119: #
        !           120: BCOMMANDS   =   ci ident rcs rcsdiff rcsmerge rlog co
        !           121: # binary comands
        !           122: 
        !           123: RCSCOMMANDS = merge $(BCOMMANDS)
        !           124: # all commands
        !           125: 
        !           126: BOBJECTS = ci.o co.o ident.o rcs.o rcsdiff.o rcsedit.o\
        !           127:        rcsfcmp.o rcsfnms.o rcsgen.o rcskeep.o rcskeys.o rcslex.o rcsmerge.o\
        !           128:        rcsrev.o rcssyn.o rcsutil.o rlog.o snoop.o\
        !           129:        rcssynTST.o rcsrevTST.o rcsfnmsTST.o rcsfcmpTST.o rcskeepTST.o
        !           130: 
        !           131: all:   $(RCSCOMMANDS)
        !           132: 
        !           133: INSTALL = install
        !           134: 
        !           135: $(BOBJECTS):   rcsbase.h
        !           136: 
        !           137: partime.o maketime.o co.o ci.o rcs.o rlog.o rcsutil.o: time.h
        !           138: 
        !           139: install:       all 
        !           140: #      Save the old commands if you have any.
        !           141: #      -cd ${RCSDIR}; mv $(RCSCOMMANDS) ${RCSDIR}$(OLDDIR)
        !           142:        ${INSTALL} -m 775 -o bin -g bin -s ci ${RCSDIR}
        !           143:        ${INSTALL} -m 775 -o bin -g bin -s ident ${RCSDIR}
        !           144:        ${INSTALL} -m 775 -o bin -g bin -s rcs ${RCSDIR}
        !           145:        ${INSTALL} -m 775 -o bin -g bin -s rcsdiff ${RCSDIR}
        !           146:        ${INSTALL} -m 775 -o bin -g bin -s rcsmerge ${RCSDIR}
        !           147:        ${INSTALL} -m 775 -o bin -g bin -s rlog ${RCSDIR}
        !           148:        ${INSTALL} -m 775 -o bin -g bin -s co ${RCSDIR}
        !           149:        ${INSTALL} -m 775 -o bin -g bin -c merge ${RCSDIR}
        !           150: #      ${INSTALL} -m 775 -o bin -g bin -c rcsclean ${RCSDIR}
        !           151: #      ${INSTALL} -m 775 -o bin -g bin -c rcsfreeze.sh ${RCSDIR}/rcsfreeze
        !           152: 
        !           153: installog:     installsnoop install
        !           154: 
        !           155: installsnoop:  snoop
        !           156:        install -m 4775 -o bin -g bin -s snoop ${RCSDIR}$(SNOOP)
        !           157:        chmod u+s ${RCSDIR}$(SNOOP)
        !           158:        touch ${RCSDIR}$(SNOOPFILE)
        !           159:        chown bin.bin ${RCSDIR}$(SNOOPFILE)
        !           160:        chmod 644 ${RCSDIR}$(SNOOPFILE)
        !           161: # CAUTION: You may have to do a chown of SNOOP and SNOOPFILE (if not owned by root).
        !           162: lint: ci.lint co.lint ident.lint rlog.lint rcs.lint rcsdiff.lint rcsmerge.lint snoop.lint
        !           163: 
        !           164: clean:
        !           165:        rm -f *.o; rm -f $(RCSCOMMANDS) snoop
        !           166: 
        !           167: cleandir: clean
        !           168:        rm -f tags .depend
        !           169: 
        !           170: CIFILES = ci.o rcslex.o rcssyn.o rcsgen.o rcsedit.o rcskeys.o rcsrev.o rcsutil.o rcsfnms.o partime.o maketime.o localzone.o rcskeep.o rcsfcmp.o
        !           171: 
        !           172: CISRC = ci.c rcslex.c rcssyn.c rcsgen.c rcsedit.c rcskeys.c rcsrev.c rcsutil.c rcsfnms.c partime.c maketime.c localzone.c rcskeep.c rcsfcmp.c
        !           173: 
        !           174: ci.lint:
        !           175:        $(LINT) $(CISRC)
        !           176:        
        !           177: ci:    $(CIFILES)
        !           178:        ${CC} $(LDFLAGS) -o ci $(CIFILES)
        !           179: 
        !           180: COFILES = co.o rcslex.o rcssyn.o rcsgen.o rcsedit.o rcskeys.o rcsrev.o rcsutil.o rcsfnms.o partime.o maketime.o localzone.o
        !           181: 
        !           182: COSRC = co.c rcslex.c rcssyn.c rcsgen.c rcsedit.c rcskeys.c rcsrev.c rcsutil.c rcsfnms.c partime.c maketime.c localzone.c
        !           183: co.lint:
        !           184:        $(LINT) $(COSRC)
        !           185: co:    $(COFILES)
        !           186:        ${CC} $(LDFLAGS) -o co $(COFILES)
        !           187: 
        !           188: ident: ident.o rcskeys.o
        !           189:        ${CC} $(LDFLAGS) -o ident ident.o rcskeys.o
        !           190: 
        !           191: ident.lint:
        !           192:        $(LINT) ident.c rcskeys.c
        !           193: 
        !           194: merge: merge.sh
        !           195:        sed -e '/^#/d' \
        !           196:                -e 's:DIFF=.*$$:DIFF=$(DIFF):' \
        !           197:                -e 's:DIFF3=.*$$:DIFF3=$(DIFF3):' \
        !           198:                merge.sh > merge
        !           199: #      This takes out the comment lines and substitutes in DIFF and DIFF3.
        !           200: #      (Comments are not permitted in some older shells.)
        !           201:        chmod 755 merge
        !           202: 
        !           203: RLOG = rlog.o rcslex.o rcssyn.o rcsrev.o rcsutil.o partime.o maketime.o localzone.o rcsfnms.o
        !           204: RLOGSRC = rlog.c rcslex.c rcssyn.c rcsrev.c rcsutil.c partime.c maketime.c localzone.c rcsfnms.c
        !           205: rlog:  $(RLOG)
        !           206:        ${CC} $(LDFLAGS) -o rlog $(RLOG)
        !           207: 
        !           208: rlog.lint:
        !           209:        $(LINT) $(RLOGSRC)
        !           210: 
        !           211: RCS = rcs.o rcslex.o rcssyn.o rcsrev.o rcsutil.o rcsgen.o rcsedit.o rcskeys.o rcsfnms.o
        !           212: 
        !           213: RCSSRC = rcs.c rcslex.c rcssyn.c rcsrev.c rcsutil.c rcsgen.c rcsedit.c rcskeys.c rcsfnms.c
        !           214: rcs:   $(RCS)
        !           215:        ${CC} $(LDFLAGS) -o rcs $(RCS)
        !           216: 
        !           217: rcs.lint:
        !           218:        $(LINT) $(RCSSRC)
        !           219: 
        !           220: rcsclean:      rcsclean.sh
        !           221:        sed -e '/^#/d' rcsclean.sh > rcsclean
        !           222: #      This takes out the comments (not permitted in older shells).
        !           223:        chmod 755 rcsclean
        !           224: 
        !           225: RCSDIFF = rcsdiff.o rcsutil.o rcsfnms.o rcsrev.o rcssyn.o rcslex.o
        !           226: RCSDIFFSRC = rcsdiff.c rcsutil.c rcsfnms.c rcsrev.c rcssyn.c rcslex.c
        !           227: 
        !           228: rcsdiff:       $(RCSDIFF)
        !           229:        ${CC} ${LDFLAGS} -o rcsdiff $(RCSDIFF)
        !           230: 
        !           231: rcsdiff.lint:
        !           232:        $(LINT) $(RCSDIFFSRC)
        !           233: RCSMERGE = rcsmerge.o rcsutil.o rcsfnms.o rcsrev.o rcssyn.o rcslex.o
        !           234: RCSMERGESRC = rcsmerge.c rcsutil.c rcsfnms.c rcsrev.c rcssyn.c rcslex.c
        !           235: rcsmerge:      $(RCSMERGE)
        !           236:        ${CC} ${LDFLAGS} -o rcsmerge $(RCSMERGE)
        !           237: rcsmerge.lint:
        !           238:        $(LINT) $(RCSMERGESRC)
        !           239:        
        !           240: snoop: snoop.o
        !           241:        ${CC} ${LDFLAGS} -o snoop snoop.o
        !           242: snoop.lint:
        !           243:        $(LINT) snoop.c
        !           244: 
        !           245: SOURCE=        ci.c co.c curdir.c ident.c maketime.c localzone.c partime.c rcs.c \
        !           246:        rcsclean.c rcsdiff.c rcsedit.c rcsfcmp.c rcsfnms.c rcsgen.c \
        !           247:        rcskeep.c rcskeys.c rcslex.c rcsmerge.c rcsrev.c rcssyn.c rcsutil.c \
        !           248:        rlog.c snoop.c
        !           249: 
        !           250: HFILES=        rcsbase.h time.h
        !           251: 
        !           252: depend:        ${SOURCE} ${HFILES}
        !           253:        mkdep ${CFLAGS} ${SOURCE}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.