| ############################################################################### |
| # libbrlapi - A library providing access to braille terminals for applications. |
| # |
| # Copyright (C) 2006-2023 by |
| # Samuel Thibault <Samuel.Thibault@ens-lyon.org> |
| # Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org> |
| # |
| # libbrlapi comes with ABSOLUTELY NO WARRANTY. |
| # |
| # This is free software, placed under the terms of the |
| # GNU Lesser General Public License, as published by the Free Software |
| # Foundation; either version 2.1 of the License, or (at your option) any |
| # later version. Please see the file LICENSE-LGPL for details. |
| # |
| # Web Page: http://brltty.app/ |
| # |
| # This software is maintained by Dave Mielke <dave@mielke.cc>. |
| ############################################################################### |
| |
| include $(SRC_TOP)bindings.mk |
| |
| JAVA_OK = @JAVA_OK@ |
| JAVAC = @JAVAC@ |
| JAVADOC = @JAVADOC@ |
| JAR = @JAR@ |
| |
| JAVA_JAR = @JAVA_JAR@ |
| JAVA_JAR_DIR = @JAVA_JAR_DIR@ |
| JAVA_JAR_DESTDIR = $(INSTALL_ROOT) |
| |
| JAVA_JNI = @JAVA_JNI@ |
| JAVA_JNI_DIR = @JAVA_JNI_DIR@ |
| JAVA_JNI_HDR = @JAVA_JNI_HDR@ |
| JAVA_JNI_INC = @JAVA_JNI_INC@ |
| JAVA_JNI_FLAGS = @JAVA_JNI_FLAGS@ |
| JAVA_JNI_DESTDIR = $(INSTALL_ROOT) |
| |
| all: jar jni doc |
| |
| JAVA_SOURCES = Constants.java $(SRC_DIR)/*.java $(SRC_DIR)/*/*.java |
| |
| JAVA_JNI_FILE = $(LIB_PFX)$(API_NAME)_java.$(LIB_EXT) |
| jni: $(JAVA_JNI_FILE) |
| |
| $(JAVA_JNI_FILE): bindings.$O | $(API_NAME) |
| $(MKLIB:<name>=$(JAVA_JNI_FILE).$(API_VERSION)) $@ bindings.$O $(API_LDFLAGS) |
| |
| bindings.$O: |
| $(CC) $(LIBCFLAGS) $(JAVA_JNI_FLAGS) -o $@ -c $(SRC_DIR)/bindings.c |
| |
| JAVA_JAR_FILE = $(API_NAME).jar |
| jar: $(JAVA_JAR_FILE) |
| |
| $(JAVA_JAR_FILE): classes.made |
| $(JAR) cfm $@ $(SRC_DIR)/manifest -C classes . |
| |
| JAVAC_LINT_OPTIONS = cast,deprecation,fallthrough,finally,overrides,rawtypes,unchecked |
| |
| classes.made: $(JAVA_SOURCES) |
| $(INSTALL_DIRECTORY) classes |
| $(JAVAC) -Xlint:$(JAVAC_LINT_OPTIONS) -d classes -classpath . $^ |
| touch $@ |
| |
| Constants.java: $(CONSTANTS_DEPENDENCIES) |
| $(AWK) $(CONSTANTS_ARGUMENTS) >$@ |
| |
| doc: doc.made |
| |
| doc.made: $(JAVA_SOURCES) |
| $(INSTALL_DIRECTORY) doc |
| $(JAVADOC) -quiet -d doc -author -notimestamp -version -use $^ |
| touch $@ |
| |
| clean:: |
| -rm -f Constants.java classes.made $(JAVA_JAR_FILE) $(JAVA_JNI_FILE) |
| -rm -f -r classes |
| -rm -f doc.made |
| -rm -f -r doc |
| |
| install: install-jar install-jni |
| |
| install-jar: install-jar-$(JAVA_JAR) |
| |
| install-jar-yes: jar |
| $(INSTALL_DIRECTORY) $(JAVA_JAR_DESTDIR)$(JAVA_JAR_DIR) |
| $(INSTALL) $(JAVA_JAR_FILE) $(JAVA_JAR_DESTDIR)$(JAVA_JAR_DIR) |
| |
| install-jar-no: |
| @echo jar not installed |
| |
| install-jni: install-jni-$(JAVA_JNI) |
| |
| install-jni-yes: jni |
| $(INSTALL_DIRECTORY) $(JAVA_JNI_DESTDIR)$(JAVA_JNI_DIR) |
| $(INSTALL) $(JAVA_JNI_FILE) $(JAVA_JNI_DESTDIR)$(JAVA_JNI_DIR) |
| |
| install-jni-no: |
| @echo jni not installed |
| |
| uninstall: uninstall-jar uninstall-jni |
| |
| uninstall-jar: uninstall-jar-$(JAVA_JAR) |
| |
| uninstall-jar-yes: |
| -rm -f -- $(JAVA_JAR_DESTDIR)$(JAVA_JAR_DIR)/$(JAVA_JAR_FILE) |
| |
| uninstall-jar-no: |
| |
| uninstall-jni: uninstall-jni-$(JAVA_JNI) |
| |
| uninstall-jni-yes: |
| -rm -f -- $(JAVA_JNI_DESTDIR)$(JAVA_JNI_DIR)/$(JAVA_JNI_FILE) |
| |
| uninstall-jni-no: |
| |