MAIN=Explain NAME=explain SEP=: # ----------------------------------------------------------------------------- # Don't change anything below this line # ----------------------------------------------------------------------------- MANIFEST=manifest.mf VERSION=0.1 .classpath: lib Makefile rm -f $@ touch $@ echo .$(SEP)`ls lib/*.jar | xargs | sed -e "s/ /$(SEP)/g"` > $@ %.class:%.java .classpath javac -g -classpath `cat .classpath` $< %.run:%.class all .classpath java -classpath `cat .classpath` $* %.app: %.jar rm -rf $@ ant -Dname=$* -Dmainclass=$* -Djar=$< build.app %.app.zip:%.app zip -r $@ $< %.exe: %.jar ant -Dname=$* -Dmainclass=$* -Djar=$< build.exe %.tar.gz:%.tar gzip -9 -f $< all: Version.java .classpath javac -g -classpath `cat .classpath` *.java dist: $(name).tar.gz Version.java: Makefile rm -f $@ touch $@ echo "final class Version {" >> $@ echo " public final static double VERSION = $(VERSION);" >> $@ echo "}" >> $@ test: Test.run help: $(MAIN).run run: $(MAIN).run jar: $(NAME).jar app: $(NAME).app zip: $(NAME).app.zip exe: $(NAME).exe release: $(NAME).exe $(NAME).app.zip $(NAME).tar.gz upload: release index.php ant upload $(NAME).tar: Makefile *.java lib testfiles tar cfv $@ $^ $(NAME).jar: $(MAIN).class $(MANIFEST) jar cfm $@ $(MANIFEST) *.class mkdir -p t cp lib/*.jar t cd t && \ for f in `ls *.jar`; do \ echo === $$f ===; \ jar xf $$f entagged; \ done && \ rm *.jar && \ jar ufm ../$(NAME).jar ../$(MANIFEST) entagged && \ cd .. rm -rf t $(MANIFEST): Makefile echo "Main-class: $(MAIN)" > $@ distclean: rm -rf $(NAME).tar $(NAME).tar.gz $(NAME).app $(NAME).app.zip \ $(NAME).exe $(MANIFEST) $(NAME).jar clean: rm -f *~ *.class \#* *\# allclean: clean distclean