/
Makefile
56 lines (35 loc) · 1.39 KB
/
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# A simple Makefile for the Java Common KFS BSD library.
# Global Settings
.PHONY: default check clean
JUNIT_VERSION=4.8.2
JUNIT_CLASSPATH=lib/junit.jar
#### Class List ####
MAIN_SRC=\
src/com/kfs/bsd/common/util/LinearArgDesequencer.java\
#### Class List ####
TEST_SRC=\
src/com/kfs/bsd/common/util/junit/TestLinearArgDesequencer.java\
#### Class List ####
# Computed Global Settings
MAIN_CLASSES=$(subst src/,bin/,$(subst .java,.class,$(MAIN_SRC)))
TEST_CLASSES=$(subst src/,bin/,$(subst .java,.class,$(TEST_SRC)))
_MAIN_CLASSES=$(subst /,.,$(subst .java,,$(subst src/,,$(MAIN_SRC))))
_TEST_CLASSES=$(subst /,.,$(subst .java,,$(subst src/,,$(TEST_SRC))))
# Default Target
default:
@echo "'make build' does not currently make sense in this library. Try 'make check'."
# JUnit Testing
check: lib/junit.jar $(TEST_CLASSES) $(MAIN_CLASSES)
java -classpath bin:$(JUNIT_CLASSPATH) org.junit.runner.JUnitCore $(_TEST_CLASSES)
lib/junit.jar:
@if [ ! -e lib/junit/build.xml ]; then echo "Fatal: lib/junit/build.xml not found. Did you checkout the JUnit submodule?"; exit 1; fi
cd lib/junit && ant
cp lib/junit/junit$(JUNIT_VERSION)/junit-$(JUNIT_VERSION).jar lib/junit.jar
cd lib/junit && ant clean && git clean -fd
# Generic Compilation
bin/%.class: src/%.java
@mkdir -p bin
javac -sourcepath src -classpath $(JUNIT_CLASSPATH) -d bin src/$*.java
# Housekeeping
clean:
rm -rf bin