SUFFIXES = .java .class .scm .el .lisp

javadir=$(datadir)/java/$(subdir)
CLASSPATH_ENV = CLASSPATH=$(JAVAROOT)@pathsep@$(srcdir)@filesep@$(JAVAROOT)@pathsep@@conf_classpath@$$CLASSPATH
JAVAROOT = $(top_builddir)
GCJ = gcj
JAR = fastjar
#GCJFLAGS = -gdwarf-2 -O
if WITH_GCJ_DBTOOL
EXTRA_DBTOOL_GCJFLAGS = -findirect-dispatch
endif
GCJFLAGS = -g -O $(EXTRA_DBTOOL_GCJFLAGS)
OFILES_DIR = $(TO_TOPDIR)/bin
TO_TOPDIR = $(top_builddir)
if WITH_LIBTOOL
LIBTOOL = libtool
PACKAGE_OFILE = $(OFILES_DIR)/$(PACKAGE_FNAME).lo
else
PACKAGE_OFILE = $(OFILES_DIR)/$(PACKAGE_FNAME).o
endif
ENABLE_GCJ_COMPILED = $(EXTRA_GCJ_COMPILED) $(PACKAGE_OFILE)
java_Java= $(java_BUILT) $(java_sources)
GCJ_DEPS = $(java_Java) $(EXTRA_GCJ_DEPS)
DISTFILES = $(DIST_COMMON)  $(java_sources) $(java_SCM) $(TEXINFOS) $(EXTRA_DIST)
CLEANFILES = $(java_BUILT) *.class *.stamp *.jar $(PACKAGE_OFILE) $(EXTRA_CLEAN)

$(PACKAGE_OFILE):  $(GCJ_DEPS)
if WITH_LIBTOOL
	$(CLASSPATH_ENV) $(LIBTOOL) --mode=compile $(GCJ) $(GCJFLAGS) -c \
	  *.class -o $(PACKAGE_OFILE)
else
	$(CLASSPATH_ENV) $(GCJ) $(GCJFLAGS) -c -fPIC *.class -o $(PACKAGE_OFILE)
endif

java-classes.stamp: $(java_Java)
	$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(JAVACFLAGS) $?
	echo timestamp > java-classes.stamp
	echo timestamp > $(TO_TOPDIR)/kawa-jar.stamp

KAWA_COMPILER = $(CLASSPATH_ENV) $(JAVA) kawa.repl -d $(top_builddir) \
  -P `echo $(PACKAGE_FNAME)|sed -e s/-/./g`.

scm-classes.stamp: $(java_SCM)
	$(KAWA_COMPILER) --module-static-run $(SCM_COMPILE_FLAGS) -C $?
	echo timestamp > scm-classes.stamp
	echo timestamp > $(TO_TOPDIR)/kawa-jar.stamp

clisp-classes.stamp: $(java_CLISP)
	$(KAWA_COMPILER) --clisp -C $?
	echo timestamp > clisp-classes.stamp
	echo timestamp > $(TO_TOPDIR)/kawa-jar.stamp

elisp-classes.stamp: $(java_ELISP)
	$(KAWA_COMPILER) --elisp -C $?
	echo timestamp > elisp-classes.stamp
	echo timestamp > $(TO_TOPDIR)/kawa-jar.stamp
