blob: 7e68cf2bd2f0306e5f9269027a72698bf06d0665 [file] [edit]
# Configuration
NAME = spectec
EXE = $(PWD)/../$(NAME)
EXT = $(NAME)
LOG = _log
OWNDIR = $(PWD)
SPECDIR = ../../specification
SPECCLONE = ../_specification
SPECFILES = $(shell cd $(SPECDIR) && ls -d wasm-*)
TESTFILES = $(shell ls *.$(EXT))
SPECS = $(SPECFILES:%=test-%)
TESTS = $(TESTFILES:%.$(EXT)=test-%)
SPECDEPFILES = $(shell ls $(SPECFILES:%=$(SPECDIR)/%/*.$(EXT)))
# Main targets
.PHONY: all
all: test
# Test
.PHONY: test $(SPECS) $(TESTS)
test: $(SPECS) $(TESTS)
$(SPECS): test-%: $(SPECCLONE) $(EXE)
(cd $(SPECCLONE)/$* && $(EXE) -l *.$(EXT))
$(TESTS): test-%: %.$(EXT) $(EXE)
($(EXE) -l $<)
# Executable
$(EXE): exe
exe:
@(cd ..; make exe)
# Specification
$(SPECCLONE): $(SPECDEPFILES)
@(cd ..; make _specification)
# Cleanup
.PHONY: clean distclean
clean:
rm -f $(LOG)
distclean: clean