# -*- makefile -*- mode for emacs
# @(#) $Id: Makefile.dist,v 1.2 1997/07/31 17:44:36 leavens Exp $
#
# Makefile for checking Larch/C++ samples
#

#########################################################################
# Macro Definitions
#########################################################################

LCPPFLAGS = -ansi
# LCPPFLAGS = -ansi --no-LSL
LSLFLAGS =
# LSLFLAGS = -llp

RM = rm -f
# RM = delete # DOS

# samples included in the released version of Larch/C++ (see also README)
SAMPLE_DIRS	= bank-accounts counter cpp_types graph \
		intlist stack manual shapes

#########################################################################
# Target Definitions
#########################################################################

all: checkallspecs

test: checkallspecs

check: checkallspecs checkalltraits

checkallspecs :
	for d in $(SAMPLE_DIRS) ; \
	do \
		cd $$d; \
		make MAKEFLAGS='$(MAKEFLAGS)' LCPPFLAGS='$(LCPPFLAGS)' \
			checkallspecs; \
		cd .. ; \
	done

checkalltraits:
	for d in $(SAMPLE_DIRS) ; \
	do \
		cd $$d; \
		make MAKEFLAGS='$(MAKEFLAGS)' LSLFLAGS='$(LSLFLAGS)' \
			checkalltraits; \
		cd .. ; \
	done

clean	:
	for d in $(SAMPLE_DIRS); \
	do \
		cd $$d; \
		make MAKEFLAGS='$(MAKEFLAGS)' RM='$(RM)' clean; \
		cd ..; \
	done

cleanall:
	for d in $(SAMPLE_DIRS); \
	do \
		cd $$d; \
		make MAKEFLAGS='$(MAKEFLAGS)' RM='$(RM)' cleanall; \
		cd ..; \
	done

dist-subdirs:
	@echo $(SAMPLE_DIRS)
