]> Dogcows Code - chaz/vimcoder/blobdiff - Makefile
add support for contest name directory structure
[chaz/vimcoder] / Makefile
index d2e8823fc4c571268dc944bdd50b183211489dd4..18f8c17a5f5ad32db56b49ba4f813a0e29eaf36b 100644 (file)
--- 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: $(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): $(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
This page took 0.01973 seconds and 4 git commands to generate.