# default is /usr/share/java/package ? jardir = $(datadir)/java/@PACKAGE@ srcdir=. all: foo.jar jar_JARS=foo.jar foo_jar_SOURCES = src # multiple resources dirs foo_jar_RESOURCES = src res # same as in the way one would add a in-package libtool lib, but this is in the build jar path foo_jar_LIBADD = lib/jjmpeg.jar lib/test.jar ## foo.jar # jar.am template, could handle multi-valued foo_jar_SOURCES foo_jar_SOURCES_list=$(shell cd $(srcdir) ; find $(foo_jar_SOURCES) -name '*.java') # automake.in generated, the find exclusions are not nearly enough to handle version control foo_jar_RESOURCES_list0=$(shell cd $(srcdir)/src; find . -type f -a \! -name '*.java' \! -name '*~') foo_jar_RESOURCES_list1=$(shell cd $(srcdir)/res; find . -type f -a \! -name '*.java' \! -name '*~') # windows needs ;, of course ... # automake.in generates this from LIBADD? foo_jar_CLASSPATH=lib/jjmpeg.jar:lib/test.jar foo_jar.stamp: $(foo_jar_SOURCES_list) $(foo_jar_LIBADD) @-rm -rf build/classes/foo_jar @-mkdir -p build/classes/foo_jar javac -cp $(foo_jar_CLASSPATH) -sourcepath src -d build/classes/foo_jar $(filter %.java,$^) touch $@ foo.jar: foo_jar.stamp $(patsubst %,src/%,$(foo_jar_RESOURCES_list0)) $(patsubst %,res/%,$(foo_jar_RESOURCES_list1)) jar cf $@ -C build/classes/foo_jar . \ $(patsubst %,-C $(srcdir)/src %,$(foo_jar_RESOURCES_list0)) \ $(patsubst %,-C $(srcdir)/res %,$(foo_jar_RESOURCES_list1)) .PHONY javadoc: javadoc-foo_jar javadoc-foo_jar: exit 1 build javadoc stuff, not done yet