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