]> Dogcows Code - chaz/vimcoder/blob - Makefile
do not screw up line endings when reading files
[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.6
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 PROVE = prove
19
20
21 all: $(classes) $(resources:src/%=%)
22
23 clean:
24 rm -rf com
25
26 distclean: clean
27 rm -rf lib
28
29 dist:
30 git archive HEAD --prefix=vimcoder-$(version)/ | bzip2 >vimcoder-$(version).tar.bz2
31
32 fetch: $(library)
33
34 jar: $(jarfile)
35
36 test: all
37 $(PROVE)
38
39
40 $(classes): $(sources) | $(library)
41 $(JAVAC) $(JAVACFLAGS) $^
42
43 $(resource_path):
44 mkdir -p "$@"
45
46 $(resource_path)/%: src/$(resource_path)/% | $(resource_path)
47 cp "$<" "$@"
48
49
50 $(library):
51 mkdir -p lib
52 curl -o $@ http://www.topcoder.com/contest/classes/ContestApplet.jar
53
54 $(jarfile): all
55 rm -f $@
56 jar cvf $@ COPYING README.md com
57
58
59 .PHONY: all clean distclean dist fetch jar test
60
61 # vim:noet:ts=8
This page took 0.032201 seconds and 4 git commands to generate.