MLTON   = mlton -verbose 0
PREFIX  = ..
CP	= cp
RM	= rm
SHELL = /bin/bash

EXAMPLESDIR = $(realpath $(dir $(lastword $(MAKEFILE_LIST)))../examples)
TESTSDIR = $(realpath $(dir $(lastword $(MAKEFILE_LIST)))../tests)
GREEN = \033[0;32m
RED = \033[0;31m
NC= \033[0m

mpass: *.mlb *.sml
	$(MLTON) -output mpass mpass.mlb

mptest: *.mlb *.sml
	$(MLTON) -output mptest mptest.mlb

all: mpass mptest

.PHONY: install
install:
	$(CP) -p mpass $(PREFIX)/bin/

.PHONY: clean
clean:
	$(RM) -rf .cm/
	$(RM) -f mpass
	$(RM) -f mptest

.PHONY: test
test: all
	@./mptest --subtyping *.mps ../solution/*.mps; \
	if [ $$? -eq 1 ]; then \
		echo -e "${RED}FAIL${NC}"; \
		exit 1; \
	fi
	@echo -e "${GREEN}PASS${NC}"
