################################################################
#	Makefile
################################################################
PLCAFE       = plcafe
PLCAFEOPTS   = -J '-Xmx100m'
PLJAR        = pljar
PLJAROPTS    = -v -J '-Xmx100m' -C '-J-Xmx300m'

SICSTUS      = /usr/local/bin/sicstus
SICSTUSOPTS  = 

SWI          = /opt/local/bin/swipl
SWIOPTS      = -L100m
################################################################
plcafe:
	(cd brahme; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)'   PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)'     PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd dobry; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd ecrc; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd holmer; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd minerva; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd pereira; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd portland; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd quintus; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd xprolog; $(MAKE) plcafe \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

all:
	(cd brahme; $(MAKE) all \
	PLCAFE='$(PLCAFE)'   PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)'     PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd dobry; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd ecrc; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd holmer; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd minerva; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd pereira; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd portland; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd quintus; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

	(cd xprolog; $(MAKE) all \
	PLCAFE='$(PLCAFE)' PLCAFEOPTS='$(PLCAFEOPTS)' \
	PLJAR='$(PLJAR)' PLJAROPTS='$(PLJAROPTS)' \
	SICSTUS='$(SICSTUS)' SICSTUSOPTS='$(SICSTUSOPTS)' \
	SWI='$(SWI)' SWIOPTS='$(SWIOPTS)')

clean:
	-rm -f core *~
	(cd brahme; $(MAKE) clean)
	(cd dobry;  $(MAKE) clean)
	(cd ecrc;   $(MAKE) clean)
	(cd holmer; $(MAKE) clean)
	(cd minerva; $(MAKE) clean)
	(cd pereira; $(MAKE) clean)
	(cd portland; $(MAKE) clean)
	(cd quintus; $(MAKE) clean)
	(cd xprolog; $(MAKE) clean)

realclean:clean
	(cd brahme; $(MAKE) realclean)
	(cd dobry;  $(MAKE) realclean)
	(cd ecrc;   $(MAKE) realclean)
	(cd holmer; $(MAKE) realclean)
	(cd minerva; $(MAKE) realclean)
	(cd pereira; $(MAKE) realclean)
	(cd portland; $(MAKE) realclean)
	(cd quintus; $(MAKE) realclean)
	(cd xprolog; $(MAKE) realclean)





