Annotation of 43BSDReno/contrib/rcs/src/Makefile, revision 1.1.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.