srcdir = .
SHELL = /bin/sh
MASK = *.pas
PC = gpc
PFLAGS = $(EXTRA_PFLAGS) -g -O3 -Wall -Werror

all: pascal.check

.PHONY: all pascal.check-long pascal.check msg pascal.check-nomsg \
        mostlyclean clean distclean extraclean maintainer-clean

# to be removed when using GP
PFLAGS1 = --autobuild

pascal.check-long: clean
	PC="$(PC)" PFLAGS="$(PFLAGS1) $(PFLAGS)" SRCDIR="$(srcdir)" "$(srcdir)/test_run" "$(MASK)"

pascal.check: msg pascal.check-nomsg

msg:
	@echo
	@echo "Running the GPC Test Suite. This may take a while..."
	@echo
	@echo "NOTE, if you used the Test Suite before:"
	@echo "To get the long output format, run \`make pascal.check-long' now."
	@echo

pascal.check-nomsg: clean
	PC="$(PC)" PFLAGS="$(PFLAGS1) $(PFLAGS)" SRCDIR="$(srcdir)" "$(srcdir)/test_run" "$(MASK)" | "$(srcdir)/test_sum"

mostlyclean:
	-rm -f *.dat *.o *.s *.gpm *.gpi *.gpd *.gpc core a.out stderr.out *.exe tmptest.* testmake.tmp \
		knownbugs/a.out knownbugs/*.o knownbugs/*.s knownbugs/*.gpm knownbugs/*.gpi knownbugs/*.gpd \
		internal/a.out internal/*.o internal/*.s internal/*.gpm internal/*.gpi internal/*.gpd

clean: mostlyclean

distclean: clean

extraclean: distclean
	-rm -f *.BAK *.bak *.orig *.s gpc.out make.out b.out dtlist.*

maintainer-clean: extraclean
