# Makefile for RCS
#
# Copyright (C) 1982 by Walter F. Tichy
#                       Purdue University
#                       Computer Science Department
#                       West Lafayette, IN 47907
#
# All rights reserved. No part of this software may be sold or distributed
# in any form or by any means without the prior written permission of the
# author.
# Report problems and direct all inquiries to
# tichy@purdue, decvax!purdue!tichy
#
# Modified for the Archimedes by Paul Moore, pmoore@cix.compulink.co.uk

COMMANDS = ci co ident rcs rcsclean rcsdiff rcsmerge rlog merge
LIBSRC   = C.curdir C.maketime C.partime C.rcsedit C.rcsfcmp C.rcsfnms \
           C.rcsgen C.rcskeep C.rcskeys C.rcslex C.rcsrev C.rcssyn C.rcsutil
LIBOBJ   = O.curdir O.maketime O.partime O.rcsedit O.rcsfcmp O.rcsfnms \
           O.rcsgen O.rcskeep O.rcskeys O.rcslex O.rcsrev O.rcssyn O.rcsutil

BIN = adfs::HardDisc4.$$.Library.RCS

CFLAGS = -DDIFF="\"Diff\"" -DMERGE="\"Merge\""

# Library routines
LIBS = Lib:Stubs Lib:Utils

# Utility targets
.PHONY: all install clean clobber tidy

# ----------------------------------------------------------------------

all: $(COMMANDS)

install: $(COMMANDS)
	$(dolines i,$^,Copy $i $(BIN).$i SFQ~C~V)
	$(dolines i,$^,Access $(BIN).$i R)

clean:
	$(dolines i,$(addprefix O.,$(COMMANDS)) $(LIBOBJ) RCSLib,Remove $i)

tidy:
	$(dolines i,$(COMMANDS),Remove $i)

clobber: clean tidy

# ----------------------------------------------------------------------

RCSLib: $(LIBOBJ)
	Libfile RCSLib -c -f $(LIBOBJ)
#	Libfile RCSLib -i -f $?  [could be used if RCSLib already exists]
	Objlib RCSLib -c

# ----------------------------------------------------------------------

ci: O.ci RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

co: O.co RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

rcs: O.rcs RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

rcsclean: O.rcsclean RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

rcsdiff: O.rcsdiff RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

rcsmerge: O.rcsmerge RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

ident: O.ident RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

rlog: O.rlog RCSLib
	$(LINK) -o $@ $^ $(LIBS)
	Squeeze $@

merge: C.merge
	$(CC) -o $@ $^ $(addprefix -L,$(LIBS))
	Squeeze $@

# ----------------------------------------------------------------------

DEPSRC = O.ci O.co O.curdir O.ident O.maketime O.rcs O.rcsclean O.rcsdiff \
         O.rcsedit O.rcsfcmp O.rcsfnms O.rcsgen O.rcskeep O.rcskeys O.rcslex \
         O.rcsmerge O.rcsrev O.rcssyn O.rcsutil O.rlog

$(DEPSRC): H.extern H.rcsbase
O.ci O.co O.maketime O.partime O.rlog:	h.time
