[10737] | 1 | # Makefile for Java part of JavaGDBM
|
---|
| 2 | # Katherine Don, 2005
|
---|
| 3 |
|
---|
[33929] | 4 | #JAVAC = $(JAVA_HOME)/bin/javac
|
---|
| 5 | #JAVAH = $(JAVA_HOME)/bin/javah
|
---|
| 6 | #JAR = $(JAVA_HOME)/bin/jar
|
---|
| 7 | JAVAC = @JAVAC@
|
---|
[35313] | 8 | # 'javah' existed until JDK 1.7, transitional in JDK 1.8, then removed by JDK 1.9 (use 'javac -h' instead)
|
---|
| 9 | # Makefile rules below test for 'javah' and use it if it found, otherwise runs with 'javac -h' version
|
---|
[36531] | 10 | #
|
---|
| 11 | # Since we're committed to JAVA_HOME being set, so jni.h header files can be found,
|
---|
| 12 | # then we can lean on JAVA_HOME here to more precisely check for the existence of javah
|
---|
| 13 | # within JAVA_HOME, and not accidentally pick up on another (older) JDK that is also
|
---|
| 14 | # installed on the system, and does come with a 'javah' but is unlikely to be able
|
---|
| 15 | # to cope with newer (e.g. JDK 11) version class files
|
---|
| 16 | JAVAH = $(JAVA_HOME)/javah
|
---|
[33929] | 17 | JAR = jar
|
---|
[10737] | 18 |
|
---|
[35316] | 19 | JAVACFLAGS = @JAVACFLAGS@
|
---|
| 20 |
|
---|
[10737] | 21 | JAVAGDBMHOME=../
|
---|
| 22 | JAVACLASSDIR=./classes
|
---|
| 23 | JAVASRCDIR=.
|
---|
| 24 | JAVACOPTIONS= -deprecation -g -O
|
---|
| 25 | JAVACLASSPATH=$(JAVACLASSDIR):
|
---|
| 26 |
|
---|
| 27 | all: setup compile
|
---|
| 28 |
|
---|
| 29 | setup:
|
---|
| 30 | mkdir -p $(JAVACLASSDIR)
|
---|
| 31 |
|
---|
| 32 | compile: setup
|
---|
[35313] | 33 | $(JAVAC) $(JAVACFLAGS) -d $(JAVACLASSDIR) -sourcepath $(JAVASRCDIR) $(JAVACOPTIONS) au/com/pharos/*/*.java
|
---|
| 34 | # $(JAVAC) -h $(JAVAGDBMHOME)/jni -classpath $(JAVACLASSPATH) -d java au/com/pharos/gdbm/GdbmFile.java
|
---|
| 35 | @echo Checking for javah ...
|
---|
[35310] | 36 | # $(eval found = $(shell which javah 2>/dev/null | wc -l))
|
---|
[36531] | 37 | $(eval found = $(shell command -v $(JAVAH) | wc -l))
|
---|
[35313] | 38 | @if test "$(found)" = "1" ; then \
|
---|
[35640] | 39 | echo "... found" ; \
|
---|
[35313] | 40 | echo $(JAVAH) -o $(JAVAGDBMHOME)/jni/GdbmFile.h -classpath $(JAVACLASSPATH) au.com.pharos.gdbm.GdbmFile ; \
|
---|
| 41 | $(JAVAH) -o $(JAVAGDBMHOME)/jni/GdbmFile.h -classpath $(JAVACLASSPATH) au.com.pharos.gdbm.GdbmFile ; \
|
---|
| 42 | else \
|
---|
[35640] | 43 | echo "... not found => using 'javac -h'" ; \
|
---|
[35313] | 44 | echo $(JAVAC) -h $(JAVAGDBMHOME)/jni -classpath $(JAVACLASSPATH) -d java au/com/pharos/gdbm/GdbmFile.java ; \
|
---|
| 45 | $(JAVAC) -h $(JAVAGDBMHOME)/jni -classpath $(JAVACLASSPATH) -d java au/com/pharos/gdbm/GdbmFile.java ; \
|
---|
| 46 | fi
|
---|
[33929] | 47 | jar cf $(JAVAGDBMHOME)/javagdbm.jar -C $(JAVACLASSDIR) au
|
---|
[10737] | 48 |
|
---|
| 49 | clean:
|
---|
| 50 | rm -rf $(JAVACLASSDIR) $(JAVAGDBMHOME)/javagdbm.jar $(JAVAGDBMHOME)/jni/GdbmFile.h
|
---|
| 51 |
|
---|
| 52 | install:
|
---|
| 53 |
|
---|
| 54 | distclean: clean
|
---|
| 55 | rm -f Makefile
|
---|
| 56 |
|
---|