On Wednesday 23 November 2011, Peter Fodrek wrote: > Dear autotools experts, > > I am stranger in builtools like autotols. My practice in Unix based C and > Java > programming using manually created Makefiles lasts 15 years. > > I am able to produce both ELF binaries (from C source code and java source > using gcj) and class files form java source codes, but I am not able to > produce > jar archive form class or java source files. > > Would anybody describe me where are my mistakes,please? > Would anybody describe me possible solutions, please? > > I was unable to find out soultion except > one at URL http://lists.gnu.org/archive/html/automake/2011-07/msg00015.html > that does not work for me. > Note that the thread you are referring to is just a proposal to a new feature that will probably be implemented in a *future* version of automake. The autotools have currently no built-in support for building and installing jar files, unfortunately.
Still, this message: <http://lists.gnu.org/archive/html/automake/2011-07/msg00016.html> refers to some code that an automake user was successfully employing to build jar files. You might want to take a look at that. > Thank you for any answer > > I look forward hearing form you > > Yours faithfully > > Peter Fodrek > Now, I have some remarks about your code snippets ... > > P.S. > My top level > configure.in > file contanis > > AC_INIT(hello.c) > > PACKAGE=helloworld > VERSION=0.1.0 > AM_INIT_AUTOMAKE($PACKAGE, $VERSION) > This is obsolete usage of AC_INIT and AM_INIT_AUTOMAKE. You should be doing something like this instead: AC_INIT([helloworld], [0.1.0]) AM_INIT_AUTOMAKE([automake-options-here-if-needed]) > AC_PROG_CC = gcc > This makes no sense. I suggest you to read an introduction to the autotools before trying to use them, since proceeding by copy & paste will only bring you errors and pain. I had found this one very clear and helpful when I was still new to the autotools: <http://www.lrde.epita.fr/~adl/autotools.html> > #INTI_REQUIRED_VERSION=1.0.7 > #PKG_CHECK_MODULES(INTI, inti-1.0 >= $INTI_REQUIRED_VERSION) > #AC_SUBST(INTI_CFLAGS) > #AC_SUBST(INTI_LIBS) > > AM_PROG_GCJ = gcj > AC_PROG_CC = gcj > Again, this makes no sense. > AC_OUTPUT(Makefile java/Makefile) > Old-style usage. You should prefer this today: AC_CONFIG_FILES([Makefile java/Makefile]) AC_OUTPUT > my top level > Makefile.am > file con contains > > bin_PROGRAMS = helloworld > SUBDIRS = . java > > #AM_CFLAGS = $(INTI_CFLAGS) > > AM_JAVAC = javac -d . > AM_JAVAC is not a variable used by automake. > helloworld_SOURCES= hello.c > > > and Makaefile.am > in the java directory contains > > > #bin_PROGRAMS = helloJ.jar > java_PROGRAMS = helloJAVA > #jar_ARCHIVES = helloJ > > JARTARGET= jar > #JARS = jar > > javadir = ./java > jardir = ./java > #_JAVA = jar > AM_JAVAC = javac > AM_JAR = jar > Again, AM_JAVAC and AM_JAR are not variables used by automake. > > JAVACFLAGS = -d . > > dist_java_JAVA = ./helloJ.java ./hello.java > > dist_java_JAR = ./helloJ.java ./hello.java > > jar_JARS = helloJ.jar > Unfortunately, JARS is not a primary known to automake (yet). > #helloJ_jar_SOURCES = ./helloJ.java ./hello.java > > > > dir = java > AC_OUTPUT= java > It makes no sense to use AC_OUTPUT in a Makefile.am. > helloJAVA_SOURCES= hello.java > helloJAVA_LDFLAGS=--main=hello > HTH, Stefano _______________________________________________ Autoconf mailing list Autoconf@gnu.org https://lists.gnu.org/mailman/listinfo/autoconf