hackthelobby/libcaca/java/Makefile.am

120 lines
3.2 KiB
Makefile

include $(top_srcdir)/build/autotools/common.am
jnidir = $(libdir)/jni
libcaca_javadir = $(datadir)/java
java_jar = libjava.jar
if USE_JAVA
jni_LTLIBRARIES = libcaca-java.la
libcaca_java_DATA = $(java_jar)
noinst_DATA = examples/Driver.class examples/TrueColor.class
endif
java_src = $(wildcard $(srcdir)/org/zoy/caca/*.java)
java_jni_headers = \
org_zoy_caca_Attribute.h \
org_zoy_caca_Caca.h \
org_zoy_caca_Canvas.h \
org_zoy_caca_Display.h \
org_zoy_caca_Dither.h \
org_zoy_caca_Event.h \
org_zoy_caca_Font.h
java_jni_src = \
org_zoy_caca_Attribute.c \
org_zoy_caca_Caca.c \
org_zoy_caca_Canvas.c \
org_zoy_caca_Display.c \
org_zoy_caca_Dither.c \
org_zoy_caca_Event.c \
org_zoy_caca_Font.c
java_jni_classes = \
org/zoy/caca/Attribute.class \
org/zoy/caca/Caca.class \
org/zoy/caca/Canvas.class \
org/zoy/caca/Display.class \
org/zoy/caca/Dither.class \
org/zoy/caca/Event.class \
org/zoy/caca/Font.class
java_jni_java = \
org/zoy/caca/CacaException.java \
org/zoy/caca/Caca.java \
org/zoy/caca/NativeObject.java \
org/zoy/caca/Dither.java \
org/zoy/caca/Canvas.java \
org/zoy/caca/CacaObject.java \
org/zoy/caca/Font.java \
org/zoy/caca/Attribute.java \
org/zoy/caca/Color.java \
org/zoy/caca/Event.java \
org/zoy/caca/TimeoutException.java \
org/zoy/caca/Display.java
JAVAH_FLAGS = -d . -classpath .
$(java_jni_classes): $(java_src)
$(JAVAC) -d . $(java_src)
$(JAR) -cf $(java_jar) org
# Javah does not update the file if it detects that there is nothing to do,
# hence the `touch` so that javah is not run at every `make`.
org_zoy_caca_Attribute.h: org/zoy/caca/Attribute.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Attribute
@touch org_zoy_caca_Attribute.h
org_zoy_caca_Caca.h: org/zoy/caca/Caca.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Caca
@touch org_zoy_caca_Caca.h
org_zoy_caca_Canvas.h: org/zoy/caca/Canvas.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Canvas
@touch org_zoy_caca_Canvas.h
org_zoy_caca_Display.h: org/zoy/caca/Display.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Display
@touch org_zoy_caca_Display.h
org_zoy_caca_Dither.h: org/zoy/caca/Dither.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Dither
@touch org_zoy_caca_Dither.h
org_zoy_caca_Event.h: org/zoy/caca/Event.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Event
@touch org_zoy_caca_Event.h
org_zoy_caca_Font.h: org/zoy/caca/Font.class
$(JAVAH) $(JAVAH_FLAGS) org.zoy.caca.Font
@touch org_zoy_caca_Font.h
CLEANFILES = $(noinst_DATA) $(java_jar) \
org/zoy/caca/*.class org_zoy_caca_[A-Z]*.h
EXTRA_DIST = README $(java_jni_java) \
examples/Driver.java examples/TrueColor.java
if USE_JAVA
BUILT_SOURCES = $(java_jni_headers) $(java_jni_classes)
endif
libcaca_java_la_CPPFLAGS = $(AM_CPPFLAGS) $(JAVA_CFLAGS)
libcaca_java_la_SOURCES = \
caca_java_common.h \
caca_java_common.c \
$(java_jni_src)
#nodist_libcaca_java_la_SOURCES = \
# $(java_jni_headers)
libcaca_java_la_LDFLAGS = -shared $(JAVA_LIBS)
libcaca_java_la_LIBADD = ../caca/libcaca.la
examples/Driver.class: examples/Driver.java
$(JAVAC) $^
examples/TrueColor.class: examples/TrueColor.java
$(JAVAC) $^