Dear list readers,
I have recently been working on an improved way of handling our Java
projects using autoconf and automake. I have two main features in mind:
1. In configure.in define java modules simply by the root of their
directory tree. Eg. `JAVA_DEFINE_MODULE(module_foo, foo)'
`JAVA_DEFINE_MODULE(module_bar, foo.bar)'. These should give the
user the possibility of enabling or disabling them when configuring
(ie. don't even compile).
2. Have dependency tracking and make targets that recompile all
dependent files in the active modules when one source file has
changed. Eg. typing `make' in a subdirectory compiles all dependent
files everywhere in the project.
My naive solution has surprisingly fallen on my inability to have
automake work my way:
1. I can't get automake to read a dynamically created AC_OUTPUT
parameter list. This is correct behavior but how do I specify
which files it should create?
Eg. `AC_OUTPUT(doc/Makefile, java_makefile_variable)' where the
variable expands to a list of Makefiles.
2. The extension semantics does not enable me to use features of GNU
Make like conditional statements, useful when not all compilers
support dependency output. Automake chokes on shell errors when
having "ifeq" statements in Makefile.am files.
My option at the moment is creating an own tool that generates the
required Makefile.in files but this somehow like duplicating work. I
am using automake 1.4 and autoconf 2.13.
Yours,
Kai-Peter Baeckman