SRCS=$(wildcard *.xcplaygroundpage/Contents.swift)
EXES=$(SRCS:%.xcplaygroundpage/Contents.swift=%)

SWIFTCFLAGS=-O

all: $(EXES) $(EXES:%=outs/%.out)

%: %.xcplaygroundpage/Contents.swift
	swiftc $(SWIFTCFLAGS) -o $@ $^

outs/%.out: %
	[ -d outs ] || mkdir outs
	[ $(FORCE) -f $@.bak ] || ./$* | dd of=$@.bak 2> /dev/null
	./$* | dd of=$@ 2> /dev/null
	diff -u $@.bak $@

clean:
	rm -f $(EXES)

fullclean: clean
	rm -f $(EXES:%=outs/%.out) $(EXES:%=outs/%.out.bak)
