## Copyright (C) 1993,1994 by the author(s).
# 
# This software is published in the hope that it will be useful, but
# WITHOUT ANY WARRANTY for any part of this software to work correctly
# or as described in the manuals. See the ShapeTools Public License
# for details.
#
# Permission is granted to use, copy, modify, or distribute any part of
# this software but only under the conditions described in the ShapeTools 
# Public License. A copy of this license is supposed to have been given
# to you along with ShapeTools in a file named LICENSE. Among other
# things, this copyright notice and the Public License must be
# preserved on all copies.

#
# shape_CM environment -- stdrules
#
# Authors: Andreas Lampen (Andreas.Lampen@cs.tu-berlin.de)
#          Axel Mahler (Axel.Mahler@cs.tu-berlin.de)
#
# $Header: stdrules[6.0] Fri Jun 25 17:01:30 1993 andy@cs.tu-berlin.de frozen $
#
# Standard version selection rules to be activated by setting the
# "VERSIONS" macro in the Shapefile.
#

most_recent:-
	*.c, attr(state,busy),
	   msg(Using busy version of $_af_unixname$.);
	*.c, attrmax(version),
	   msg(Using $_af_bound$.);
	*, attr(state,busy);
	*, attrmax(version).


last_proposed:-
	*.c, attr(state,proposed), attrmax(version),
	   msg(Using last proposed version of $_af_unixname$.);
	*, attr(state,proposed), attrmax(version);
	$(LOCALINCLUDEPATH)/*.h, attr(state, busy);
	$(LOCALLIBPATH)/*.a, attr(state, busy).

last_released:-
	*, attr(__SymbolicName__, $(LASTNODERELEASE)),
	   msg(Using $_af_unixname$ from release $(LASTNODERELEASE));
	$(LOCALINCLUDEPATH)/*.h, attr(state, busy),
	   msg(Using Unix include file $_af_unixname$);
	$(LOCALLIBPATH)/*.a, attr(state, busy),
	   msg(Using Unix archive file $_af_unixname$).

last_prereleased:-
	*, attr(__SymbolicName__, $(LASTNODEPRERELEASE)),
	   msg(Using $_af_unixname$ from release $(LASTNODEPRERELEASE));
	$(LOCALINCLUDEPATH)/*.h, attr(state, busy),
	   msg(Using Unix include file $_af_unixname$);
	$(LOCALLIBPATH)/*.a, attr(state, busy),
	   msg(Using Unix archive file $_af_unixname$).

recent_release:-
	*.c, attr(__SymbolicName__, $(LASTRELEASE)),
	   msg(Using $_af_unixname$ from release $(LASTRELEASE));
	*, attr(__SymbolicName__, $(LASTRELEASE));
	$(LOCALINCLUDEPATH)/*.h, attr(state, busy);
	$(LOCALLIBPATH)/*.a, attr(state, busy).

from_release:-
	*.c, attr(__SymbolicName__, $(RELEASENAME)),
	   msg(Using $_af_unixname$ from release $(RELEASENAME));
	*, attr(__SymbolicName__, $(RELEASENAME));
	$(LOCALINCLUDEPATH)/*.h, attr(state, busy);
	$(LOCALLIBPATH)/*.a*, attr(state, busy);
	/home/stone/shape/lib/*.a*, attr(state, busy).

extern:-
	*, attr(state, busy),
	   msg(Using regular file for $_af_unixname$).

unit_test:-
	*, attr (state, busy),
	  msg(Using busy version for $_af_unixname$);
	*, attrge (state, published), attrmax (version),
	  msg(Using published version of $_af_unixname$);
	*, attrmax (version),
	  msg(Using most recently saved version of $_af_unixname$).

integration_test:-
	*, attrgt (state, saved), attrmax (version), 
	    attr (state, published),
	    msg(Using approved version of $_af_unixname$);
	*, attr (state, proposed), attr (test_switch, on),
	    msg(Using test candidate version of $_af_unixname$);
	*, attrge (state, published), attrmax (version),
	    msg(Using baseline version of $_af_unixname$);
	*, msg (Cannot bind $_af_unixname$ -- something's wrong here!), -.

