>>>>> On Thu, 17 May 2001 18:03:33 -0600, Tom Tromey <[EMAIL PROTECTED]> said:
>>>>> "Paul" == Paul F Kunz <[EMAIL PROTECTED]> writes:
Paul> bundle: rm -rf */*.o c++ -bundle
Paul> -I/System/Library/Frameworks/JavaVM.framework/Headers \ -I. -o
Paul> libhippoplot.jnilib -framework JavaVM \ jni/*.cxx pattern/*.cxx
Paul> reps/*.cxx src/*.cxx transforms/*.cxx \ functions/*.cxx
Paul> Yeh, remove all compiled coce that the all: target built, than
Paul> compile again. Seems strange, but I'm told Apple recommends the
Paul> above c++ command. The -I argument is to find the Java JNI
Paul> headers.
> Surely configure could discover this, and then `make all' would do
> the right thing.
Yes, I'm sure I could do better, if I had access to a Mac OS X
system to do the testing. I guess I need to learn how to add things
to the `all' target.
Another complication for this application, is that I need to
compile the Java code first, then generate the JNI header files before
compiling C++ source in the `jni' directory. On standard UNIX
platforms, I do this by the ordering of directories in the top level
Makefile.am's SUBDIR macro and adding the rules in jni/Makefile.am
that are needed.
So on a Mac OS X platform, I would want effiectively the
following...
> cd hippo; make # compiles the Java
> cd jni; make # creates JNI headers and compiles the C++ in jni/
> make bundle
If my configure could create a Makefile that did that, I would be in.
But this is a bit beyond my expertise with autoconf/automake. And I
never expected that there were Mac OS X users who wanted to build my
project. But I have customers, and I've been able to accomodate them,
thanks to autoconf/autmake, without breakig things for standard
UNIX/Linux.
P.S.
For Windows users, I use my am2msdev tool to read Makefile.am
files and generate MS Visual Studio project files. I also manually
create a MSconfig.h file corresponding to what configure would
generate for the defficiencies in the VC++ compiler. I'm assuming
that if someone has choosen MS Visual Studio as their development
enviroment, they don't have the smarts to have installed cygwin with
automake/automake.