blob: a567df6909d035a3d239a05bd0aea49598d57811 [file] [log] [blame]
# Example for use of GNU gettext.
# This file is in the public domain.
#
# Makefile configuration - processed by automake.
# General automake options.
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
# The list of subdirectories containing Makefiles.
SUBDIRS = m4 po
# The list of programs that are built.
bin_JAVAPROGRAMS = hello
# The source files of the 'hello' program.
hello_SOURCES = Hello.java
hello_CLASSES = Hello.class
# The entry point of the 'hello' program.
hello_MAINCLASS = Hello
# The link dependencies of the 'hello' program.
hello_JAVALIBS = @LIBINTL_JAR@
# Additional files to be distributed.
EXTRA_DIST = autogen.sh autoclean.sh
# ----------------- General rules for compiling Java programs -----------------
jardir = $(datadir)/$(PACKAGE)
pkgdatadir = $(datadir)/$(PACKAGE)
pkglibdir = $(libdir)/$(PACKAGE)
JAR = @JAR@
JAVACOMP = $(SHELL) javacomp.sh
EXTRA_DIST += $(hello_SOURCES)
CLEANFILES =
DISTCLEANFILES = javacomp.sh javaexec.sh
# Rules for compiling Java programs as jar libraries.
# This is the preferred mode during development, because you can easily test
# the program without installing it, simply by doing "java -jar hello.jar".
all-local: hello.jar hello.sh
hello.jar: $(hello_CLASSES)
{ echo "Manifest-Version: 1.0"; echo "Main-Class: $(hello_MAINCLASS)"; echo 'Class-Path: @LIBINTL_JAR@'; } > Manifest.mf
$(JAR) cfm $@ Manifest.mf Hello*.class
rm -f Manifest.mf
abs_jar=`pwd`/$@; (cd po && $(MAKE)) && catalogs=`GNUMAKEFLAGS=--no-print-directory $(MAKE) -s -C po echo-catalogs`; test -n "$$catalogs" && (cd $(srcdir)/po && $(JAR) uf "$$abs_jar" $$catalogs) || { rm -f $@ jartmp*; exit 1; }
Hello.class: $(srcdir)/Hello.java
CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(JAVACOMP) -d . $(srcdir)/Hello.java
hello.sh:
{ echo '#!/bin/sh'; \
echo "CLASSPATH='$(jardir)/hello.jar@CLASSPATH_SEPARATOR@$(hello_JAVALIBS)'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \
echo "export CLASSPATH"; \
echo "exec /bin/sh '$(pkgdatadir)/javaexec.sh' $(hello_MAINCLASS) \"\$$@\""; \
} > $@
install-exec-local: all-local
$(MKDIR_P) $(DESTDIR)$(bindir)
$(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello
install-data-local: all-local
$(MKDIR_P) $(DESTDIR)$(jardir)
$(INSTALL_DATA) hello.jar $(DESTDIR)$(jardir)/hello.jar
$(MKDIR_P) $(DESTDIR)$(pkgdatadir)
$(INSTALL_DATA) javaexec.sh $(DESTDIR)$(pkgdatadir)/javaexec.sh
installdirs-local:
$(MKDIR_P) $(DESTDIR)$(jardir)
$(MKDIR_P) $(DESTDIR)$(pkgdatadir)
uninstall-local:
rm -f $(DESTDIR)$(bindir)/hello
rm -f $(DESTDIR)$(jardir)/hello.jar
rm -f $(DESTDIR)$(pkgdatadir)/javaexec.sh
CLEANFILES += hello.jar Hello*.class Manifest.mf hello.sh