##############################################################################
# W3C Test Suite Generator                                                   #
##############################################################################

## Variables

DESTINATION_TYPES=$(shell perl generate.pl -v DESTINATION_TYPES)
SHELL_TYPES=$(shell perl generate.pl -v SHELL_TYPES)
TEST_TYPES=$(shell perl generate.pl -v TEST_TYPES)
SOURCE=$(shell ls *.xml)
STYLESHEETS=$(shell perl -e 'foreach $$a (qw($(DESTINATION_TYPES))) { print "dist/style/$$a-full.css\ndist/style/$$a-shell.css\n"; }')


## Main Targets

all: directories cache dist/README $(STYLESHEETS)

directories: Makefile generate.pl utils/*
	-rm -rf dist/
	-rm cache
	mkdir -p `perl -e 'foreach $$a (qw($(DESTINATION_TYPES))) { print "dist/$$a/tests\n"; foreach $$b (qw($(TEST_TYPES))) { print "dist/$$a/$$b/flat\n"; foreach $$c (qw($(SHELL_TYPES))) { print "dist/$$a/$$b/$$c\n"; } } }'`
	mkdir -p dist/style
	touch directories

cache: $(SOURCE)
	perl generate.pl $?


## Support Files

dist/README: README
	cp README dist/README

dist/style/%.css: %.css
	cp $< $@


## Phony Targets

.PHONY: all clean
clean:
	-rm -rf dist/
	-rm directories
	-rm cache

##############################################################################