]> Dogcows Code - chaz/vimcoder/blob - Makefile
make the jar file also depend on the resources
[chaz/vimcoder] / Makefile
1
2 # Use this file with GNU make to compile and package VimCoder.
3 # Supported targets: all clean distclean dist fetch jar
4
5 project = VimCoder
6 version = 0.3.2
7
8 sources = $(wildcard src/com/dogcows/*.java)
9 library = lib/ContestApplet.jar
10 jarfile = $(project)-$(version).jar
11 resources = $(wildcard src/com/dogcows/resources/*)
12
13 JAVAC = javac
14 JAVACFLAGS = -d . -sourcepath src -classpath $(library)
15
16
17 classes = $(sources:src/%.java=%.class)
18 all: $(firstword $(classes))
19
20 clean:
21 rm -rf META-INF com
22
23 distclean: clean
24 rm -rf lib
25
26 dist:
27 git archive HEAD --prefix=vimcoder-$(version)/ | bzip2 >vimcoder-$(version).tar.bz2
28
29 fetch: $(library)
30
31 jar: $(jarfile)
32
33
34 $(classes): $(sources) $(library)
35 $(JAVAC) $(JAVACFLAGS) $<
36
37 $(library):
38 @echo "Fetching dependencies..."
39 mkdir -p lib
40 curl -o $@ http://www.topcoder.com/contest/classes/ContestApplet.jar
41
42 $(jarfile): $(classes) $(resources) META-INF/MANIFEST.MF
43 @echo "Packaging jar file..."
44 mkdir -p com/dogcows/resources
45 cp src/com/dogcows/resources/* com/dogcows/resources
46 rm -f $@
47 zip $@ META-INF/MANIFEST.MF COPYING README $$(find com -type f | sort)
48 @echo "Done."
49
50 META-INF/MANIFEST.MF:
51 @echo "Generating MANIFEST.MF..."
52 mkdir -p META-INF
53 printf "Manifest-Version: 1.0\n\n" >$@
54
55
56 .PHONY: all clean distclean dist fetch jar
57
This page took 0.02887 seconds and 4 git commands to generate.