]> Dogcows Code - chaz/vimcoder/blob - Makefile
add support for contest name directory structure
[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.4
7
8 sources = $(wildcard src/com/dogcows/*.java)
9 classes = $(sources:src/%.java=%.class)
10 library = lib/ContestApplet.jar
11 jarfile = $(project)-$(version).jar
12 resource_path = com/dogcows/resources
13 resources = $(wildcard src/$(resource_path)/*)
14
15 JAVAC = javac
16 JAVACFLAGS = -d . -sourcepath src -classpath $(library)
17
18
19 all: $(classes) $(resources:src/%=%)
20
21 clean:
22 rm -rf com
23
24 distclean: clean
25 rm -rf lib
26
27 dist:
28 git archive HEAD --prefix=vimcoder-$(version)/ | bzip2 >vimcoder-$(version).tar.bz2
29
30 fetch: $(library)
31
32 jar: $(jarfile)
33
34
35 $(classes): $(sources) | $(library)
36 $(JAVAC) $(JAVACFLAGS) $^
37
38 $(resource_path):
39 mkdir -p "$@"
40
41 $(resource_path)/%: src/$(resource_path)/% | $(resource_path)
42 cp "$<" "$@"
43
44
45 $(library):
46 mkdir -p lib
47 curl -o $@ http://www.topcoder.com/contest/classes/ContestApplet.jar
48
49 $(jarfile): all
50 rm -f $@
51 jar cvf $@ COPYING README.md com
52
53
54 .PHONY: all clean distclean dist fetch jar
55
56 # vim:noet:ts=8
This page took 0.034117 seconds and 4 git commands to generate.