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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
|
AUTOMAKE_OPTIONS = subdir-objects
CLEANFILES =
BUILT_SOURCES =
CLASSPATH = $(JGJAR)
# Force all the .class files to be built very early in the process --
# in particular before any attempt to generate .h files from those
# classes
BUILT_SOURCES += cairo$(apiversion).jar
if BUILD_GCJ
lib_LTLIBRARIES = libcairojava.la libcairojni.la
else
lib_LTLIBRARIES = libcairojni.la
endif
java_cairo_source_files = \
src/java/org/freedesktop/cairo/Antialias.java \
src/java/org/freedesktop/cairo/CairoException.java \
src/java/org/freedesktop/cairo/CairoObject.java \
src/java/org/freedesktop/cairo/Content.java \
src/java/org/freedesktop/cairo/Context.java \
src/java/org/freedesktop/cairo/Config.java \
src/java/org/freedesktop/cairo/Extend.java \
src/java/org/freedesktop/cairo/FillRule.java \
src/java/org/freedesktop/cairo/Filter.java \
src/java/org/freedesktop/cairo/FontExtents.java \
src/java/org/freedesktop/cairo/FontFace.java \
src/java/org/freedesktop/cairo/FontOptions.java \
src/java/org/freedesktop/cairo/FontSlant.java \
src/java/org/freedesktop/cairo/FontWeight.java \
src/java/org/freedesktop/cairo/Format.java \
src/java/org/freedesktop/cairo/Glyph.java \
src/java/org/freedesktop/cairo/Gradient.java \
src/java/org/freedesktop/cairo/HintMetrics.java \
src/java/org/freedesktop/cairo/HintStyle.java \
src/java/org/freedesktop/cairo/ImageSurface.java \
src/java/org/freedesktop/cairo/LinearGradient.java \
src/java/org/freedesktop/cairo/LineCap.java \
src/java/org/freedesktop/cairo/LineJoin.java \
src/java/org/freedesktop/cairo/Matrix.java \
src/java/org/freedesktop/cairo/Operator.java \
src/java/org/freedesktop/cairo/Pattern.java \
src/java/org/freedesktop/cairo/Point.java \
src/java/org/freedesktop/cairo/RadialGradient.java \
src/java/org/freedesktop/cairo/Rectangle.java \
src/java/org/freedesktop/cairo/ScaledFont.java \
src/java/org/freedesktop/cairo/Status.java \
src/java/org/freedesktop/cairo/SubpixelOrder.java \
src/java/org/freedesktop/cairo/Surface.java \
src/java/org/freedesktop/cairo/SurfacePattern.java \
src/java/org/freedesktop/cairo/TextExtents.java
jni_cairo_source_files =
include Makefile.jni
if CAIRO_HAS_PDF_SURFACE
java_cairo_source_files += \
src/java/org/freedesktop/cairo/PDFSurface.java
jni_cairo_source_files += src/jni/org_freedesktop_cairo_PDFSurface.c
src/jni/org_freedesktop_cairo_PDFSurface.h: src/java/org/freedesktop/cairo/PDFSurface.class
$(JAVAH) -o $@ -classpath $(CLASSPATH):$(srcdir)/src/java org.freedesktop.cairo.PDFSurface
src/jni/org_freedesktop_cairo_PDFSurface.lo: src/jni/org_freedesktop_cairo_PDFSurface.h
CLEANFILES += src/jni/org_freedesktop_cairo_PDFSurface.h
endif
examples =
example_files =
if BUILD_GCJ
libcairojava_la_SOURCES = $(java_cairo_source_files)
libcairojava_la_GCJFLAGS = -fjni -I$(srcdir)/src/java -Isrc/java --classpath=$(JGJAR):$(srcdir)/src/java
libcairojava_la_LDFLAGS = $(JGJAVA_LIBS) -release $(apiversion)
endif
libcairojni_la_SOURCES = $(jni_cairo_source_files)
AM_CFLAGS = $(CAIRO_CFLAGS) $(FONTCONFIG_CFLAGS) $(GLIB_CFLAGS) $(JGJAVA_CFLAGS) -I$(includedir) $(JNI_INCLUDES) -Isrc/jni
libcairojni_la_LDFLAGS = $(CAIRO_LIBS) $(FONTCONFIG_LIBS) $(JGJNI_LIBS) -release $(apiversion)
# automake should support generating versioned jars
cairo_jardir = $(jardir)
cairo_jar_DATA = cairo$(apiversion).jar
cairo_jar_class_files = $(java_cairo_source_files:.java=.class)
$(cairo_jar_class_files): %.class: %.java
$(JAVAC) -classpath $(JGJAR):$(srcdir)/src/java:src/java -d src/java $<
# all_cairo_jar_class_files includes inner-class generated .class files
# the sed command protects dollar signs in file names from shell expansion
all_cairo_jar_class_files = $(shell find src/java -name '*.class' | sed 's%\$$%\\$$%g')
cairo$(apiversion).jar: $(cairo_jar_class_files)
$(JAR) cf $@ $(patsubst src/java/%.class,-C src/java %.class,$(all_cairo_jar_class_files))
# install pkg-config file
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = cairo-java.pc
# install examples script
exampledir = $(datadir)/doc/cairo-java-$(VERSION)/examples
# build api docs
apidir = $(datadir)/doc/cairo-java-$(VERSION)/api
if BUILD_JAVADOC
all-local: $(top_builddir)/doc-stamp
else
all-local:
endif
if BUILD_JAVADOC
doc-stamp: $(java_cairo_source_files)
$(JAVADOC) \
-d doc/api \
$(JAVADOC_OPTIONS) \
-sourcepath $(srcdir)/src/java \
-windowtitle "Cairo-Java $(VERSION) API Reference" \
-doctitle "Cairo-Java $(VERSION) API Reference" \
-footer "$(JAVADOC_FOOTER)" \
-public \
-classpath $(JGJAR):$(srcdir)/src/java:src/java \
org.freedesktop.cairo
touch doc-stamp
endif
# install other docs
docdir = $(datadir)/doc/cairo-java-$(VERSION)
doc_DATA = $(srcdir)/AUTHORS $(srcdir)/COPYING \
$(srcdir)/NEWS $(srcdir)/README $(srcdir)/INSTALL
all_dest_cairo_javadoc_html_files = $(patsubst doc/api/%,%,$(shell find doc/api -type f))
dest_cairo_javadoc_dirs = $(patsubst doc/api/%,%,$(shell find doc/api -mindepth 1 -type d))
install-data-hook:
cd $(DESTDIR)$(jardir) && \
mv -f cairo$(apiversion).jar cairo$(apiversion)-$(VERSION).jar && \
$(LN_S) cairo$(apiversion)-$(VERSION).jar cairo$(apiversion).jar
# install api documentation
if BUILD_JAVADOC
$(mkinstalldirs) $(DESTDIR)$(apidir)
@for dir in $(dest_cairo_javadoc_dirs); \
do \
$(mkinstalldirs) $(DESTDIR)$(apidir)/$${dir}; \
done
@for file in $(all_dest_cairo_javadoc_html_files); \
do \
$(INSTALL_DATA) doc/api/$${file} $(DESTDIR)$(apidir)/$${file}; \
done
endif
# install examples
@for dir in $(examples); \
do \
$(mkinstalldirs) $(DESTDIR)$(exampledir)/$${dir}; \
done
@for file in $(example_files); \
do \
$(INSTALL_DATA) $(srcdir)/$${file} $(DESTDIR)$(exampledir)/`echo $${file} | \
sed 's%^doc/examples/%%'`; \
done
uninstall-local:
-rm -rf $(DESTDIR)$(datadir)/doc/cairo-java-$(VERSION)
-rm -f $(DESTDIR)$(cairo_jardir)/cairo$(apiversion)-$(VERSION).jar
BUILT_SOURCES += \
cairo-java.pc \
src/java/org/freedesktop/cairo/Config.java
EXTRA_DIST = \
src/java/org/freedesktop/cairo/Config.java.in \
$(example_files)
clean-local:
-rm -rf doc/api
distclean-local:
-rm -rf $(srcdir)/autom4te.cache
DISTCLEANFILES = \
cairo-java.pc \
src/java/org/freedesktop/cairo/Config.java \
$(srcdir)/Makefile.in \
$(srcdir)/aclocal.m4 \
$(srcdir)/compile \
$(srcdir)/config.guess \
$(srcdir)/config.sub \
$(srcdir)/configure \
$(srcdir)/depcomp \
$(srcdir)/install-sh \
$(srcdir)/ltmain.sh \
$(srcdir)/missing
CLEANFILES += \
doc-stamp \
src/java/org/freedesktop/cairo/Config.class \
$(all_cairo_jar_class_files) \
$(cairo_javadoc_html_files) \
$(shell find doc -name '*.html') \
doc/api/package-list \
doc/api/stylesheet.css \
doc/api/resources/inherit.gif \
cairo$(apiversion).jar
|