Apologies in advance for the long post. I'm currently using a Makefile to build my shared library. Pursuant to the R-exts manual, I'd like to switch to a Makevars file or a configure file if necessary.
Having never used these types of make utilities before, I'm a bit lost. My package is quite simple. It only has one source file and one header: excelpoi.cpp excelpoi.h The reason I need help with Makevars is because it needs jni.h from the user's JAVA_HOME/include and jni_md.h from the user's JAVA_HOME/include/OS_TYPE directory. In addition, it needs libjvm.so from the user's JAVA_HOME/jre/lib/ARCH/client directory. I've looked at the SJava package with the idea of using a similar configure script, but I was hoping I could just get by with a Makevars file rather than a configure script. I would appreciate any pointers, as I'm not really sure exactly where to begin. I suppose if I can find the values of JAVA_HOME, ARCH, and OS_TYPE, then I can fill in the values I need using PKG_LIBS and PKG_INCLUDE in the Makevars file. below is the makefile I'm currently using for your reference. Thanks in advance, Whit <Makefile> archExpr = case "`uname -m`" in \ i[3-6]86 | ia32) \ echo i386 \ ;; \ sparc*) \ echo sparc \ ;; \ *) \ uname -m \ ;; \ esac ARCH = $(shell $(archExpr) ) JAVA_HOME=/opt/blackdown-jdk-1.4.1/ INCLUDES=-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/local/lib/R/include LIBS=-L$(JAVA_HOME)/jre/lib/$(ARCH)/client -ljvm # The recommended c compiler flags CFLAGS=-D_REENTRANT -D_GNU_SOURCE all: excelpoi.so excelpoi.so: excelpoi.cpp excelpoi.h $(CXX) -O2 $(CFLAGS) $(INCLUDES) $(LIBS) -shared -fPIC -o $@ $< </Makefile> [[alternative HTML version deleted]] ______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel