X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=Makefile;h=18f8c17a5f5ad32db56b49ba4f813a0e29eaf36b;hb=c207038cc35932ef12270d1d44f6d3385b998cf4;hp=a9f4d648b2958daf5ede3a0321836df86f6db47b;hpb=8d643f4df4d573474c3b2f837052fc0c5d7cff6d;p=chaz%2Fvimcoder diff --git a/Makefile b/Makefile index a9f4d64..18f8c17 100644 --- a/Makefile +++ b/Makefile @@ -1,23 +1,25 @@ -# Use this file with ``make'' to compile and package VimCoder. +# Use this file with GNU make to compile and package VimCoder. # Supported targets: all clean distclean dist fetch jar project = VimCoder -version = 0.3.1 +version = 0.3.4 -sources = src/com/dogcows/VimCoder.java src/com/dogcows/Util.java src/com/dogcows/Editor.java +sources = $(wildcard src/com/dogcows/*.java) +classes = $(sources:src/%.java=%.class) library = lib/ContestApplet.jar jarfile = $(project)-$(version).jar +resource_path = com/dogcows/resources +resources = $(wildcard src/$(resource_path)/*) JAVAC = javac JAVACFLAGS = -d . -sourcepath src -classpath $(library) -classes = $(sources:src/%.java=%.class) -all: $(firstword $(classes)) +all: $(classes) $(resources:src/%=%) clean: - rm -rf META-INF com + rm -rf com distclean: clean rm -rf lib @@ -30,26 +32,25 @@ fetch: $(library) jar: $(jarfile) +$(classes): $(sources) | $(library) + $(JAVAC) $(JAVACFLAGS) $^ + +$(resource_path): + mkdir -p "$@" + +$(resource_path)/%: src/$(resource_path)/% | $(resource_path) + cp "$<" "$@" + + $(library): - @echo "Fetching dependencies..." mkdir -p lib curl -o $@ http://www.topcoder.com/contest/classes/ContestApplet.jar -$(jarfile): $(firstword $(classes)) META-INF/MANIFEST.MF - @echo "Packaging jar file..." - mkdir -p com/dogcows/resources - cp src/com/dogcows/resources/* com/dogcows/resources +$(jarfile): all rm -f $@ - zip $@ META-INF/MANIFEST.MF COPYING README $$(find com -type f | sort) - @echo "Done." - -$(classes): $(sources) $(library) - $(JAVAC) $(JAVACFLAGS) $< - -META-INF/MANIFEST.MF: - mkdir -p META-INF - printf "Manifest-Version: 1.0\n\n" >$@ + jar cvf $@ COPYING README.md com .PHONY: all clean distclean dist fetch jar +# vim:noet:ts=8