jay = upstream/bin/jay jay_java_skeleton = upstream/jay/java/skeleton.java jay_url = http://www.cs.rit.edu/~ats/projects/lp/doc/jay/doc-files/src.zip jlex_jar = upstream/jlex.jar jlex_url = http://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java website = $(shell find doc -type f -a ! -path doc/website.jar -a ! -name '*~') doc/website.jar: $(website) jar cfv $@ $^ all: build/%.java: src/%.l $(jlex) false build/%.java: src/%.y $(jay) @mkdir -p `dirname $@` $(jay) $< < $(jay_java_skeleton) > $@ $(jlex_jar): @cd upstream && \ mkdir -p jlex && \ cd jlex && \ test -e Main.java || curl -O $(jlex_url) javac -d upstream/jlex upstream/jlex/Main.java echo -e "Manifest-Version: 1.0\nMain-Class: JLex.Main\n" > upstream/jlex/.manifest cd upstream/jlex && jar cfm ../../$@ .manifest JLex $(jay): @cd upstream && \ test -e jay.zip || curl -o jay.zip $(jay_url) && \ test -d jay || unzip jay.zip $(MAKE) -C upstream/jay/src -f makefile @rm -f $@ @mkdir -p `dirname $@` ln -s "`pwd`/upstream/jay/src/jay" $@