-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
40 lines (30 loc) · 940 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#--------------------------------------------------
# Path to programs
#--------------------------------------------------
JC = /usr/bin/javac
JAR = /usr/bin/jar
PERL = /usr/bin/perl
CTAGS = /usr/bin/ctags
CLASSPATH = $(shell ls -1Ud src lib/*.jar 2>/dev/null | paste -s -d':')
SRC = $(shell find src -name '*.java')
JFLAGS = -Xlint:unchecked -cp $(CLASSPATH)
BUILD = build
BUNDLE = pattree-java-0.1.jar
#--------------------------------------------------
# Rules
#--------------------------------------------------
.SUFFIXES: .java .class
.java.class:
$(JC) $(JFLAGS) $*.java
.PHONY: classes jar clean all
all: jar
jar: $(BUNDLE)
$(BUNDLE): $(SRC:.java=.class)
(cd src; find -name '*.class' -print0 | xargs -0 $(JAR) cvM) > $@
#--------------------------------------------------
# Tags support are optional
#--------------------------------------------------
tags:
$(CTAGS) -R src
clean:
find src -name '*.class' -delete