aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPENDENCIES1
-rw-r--r--Makefile12
2 files changed, 12 insertions, 1 deletions
diff --git a/DEPENDENCIES b/DEPENDENCIES
index dfa69c9..656829f 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -13,6 +13,7 @@ BUILD DEPENDENCIES:
c99
make
coreutils
+ sed
INSTALL DEPENDENCIES:
diff --git a/Makefile b/Makefile
index a6e8417..bc5c690 100644
--- a/Makefile
+++ b/Makefile
@@ -97,13 +97,16 @@ JAVA_OBJ = AdjustmentMethod CRTC CRTCInformation GammaRamps Libgamma Partition S
AdjustmentMethodCapabilities ConnectorType LibgammaException Ramp SubpixelOrder \
Ramp16 Ramp32 Ramp64 Ramp8 Rampd Rampf
+# Java classes with native functions
+JAVA_H = AdjustmentMethod CRTC GammaRamps LibgammaException Partition Ramp Site
+
.PHONY: all
all: lib
.PHONY: lib
-lib: jar
+lib: jar headers
.PHONY: jar
jar: bin/jlibgamma.jar
@@ -111,6 +114,9 @@ jar: bin/jlibgamma.jar
.PHONY: class
class: $(foreach O,$(JAVA_OBJ),obj/libgamma/$(O).class)
+.PHONY: headers
+headers: $(foreach H,$(JAVA_H),obj/libgamma_$(H).h)
+
bin/jlibgamma.jar: class
@mkdir -p bin
@@ -121,6 +127,10 @@ obj/libgamma/%.class: src/libgamma/%.java
@mkdir -p obj/libgamma
$(JAVAC) $(JAVAC_FLAGS) -cp src -s src -d obj $<
+obj/libgamma_%.h: obj/libgamma/%.class
+ $(JAVAH) -classpath obj -jni -d obj \
+ $$(echo "$<" | sed -e 's:^obj/::' -e 's:.class$$::' | sed -e 's:/:.:g')
+
.PHONY: clean
clean: