-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
59 lines (46 loc) · 1.62 KB
/
makefile
File metadata and controls
59 lines (46 loc) · 1.62 KB
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
57
#author Courtney Dixon
JUNIT5_JAR = junit-platform-console-standalone-1.2.0.jar
JUNIT5_RUNNER = org.junit.platform.console.ConsoleLauncher
CKSTYLE_XML = style.xml
CKSTYLE_COMMAND = -jar checkstyle-5.5-all.jar
FIB_RUNNER = @java FibonacciHeapDriver
HOLLOW_RUNNER = @java HollowHeapDriver
PROG_RUNNER = @java HeapDriver
default:
@echo "7 available targets:"
@echo "____________________ check - runs checkstyle"
@echo "____________________ compile - compiles all .java files"
@echo "____________________ test - builds JUnit5 tests"
@echo "____________________ fib - runs the Fibonacci Heap driver program"
@echo "____________________ hollow - runs the Hollow Heap driver program"
@echo "____________________ run - executes the combined driver program"
@echo "____________________ clean - removes editor tmpfiles and .class files"
fib:
$(FIB_RUNNER)
hollow:
$(HOLLOW_RUNNER)
run:
$(PROG_RUNNER)
compile: HeapDriver.java HeapDriverTest.java $(JUNIT5_JAR)
javac Node.java
javac FibonacciNode.java
javac HollowNode.java
javac FibonacciHeap.java
javac HollowHeap.java
javac FibonacciHeapDriver.java
javac HollowHeapDriver.java
javac HeapDriver.java
@javac -cp .:$(JUNIT5_JAR) HeapDriverTest.java
test: $(JUNIT5_JAR)
@java -cp .:$(JUNIT5_JAR) $(JUNIT5_RUNNER) --scan-class-path
check:
@java $(CKSTYLE_COMMAND) -c $(CKSTYLE_XML) *.java
clean:
@rm -f *.class
# MAKEFILE SYNTAX:
# #target-name: files dependent on (can use multiple lines by ending
# # lines with \
# #<TAB char>Unix command-line command
# #<TAB char>Unix command-line command
# #etc.
# #Essential that command lines start with single TAB character