1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
# 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@
# The resources of the 'hello' program, excluding message catalogs, but
# including the fallback message catalog.
hello_RESOURCES = hello-java-swing.properties
# Resources that are generated from PO files.
MAINTAINERCLEANFILES = hello-java-swing*.properties
# 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)
GCJ = @GCJ@
GCJFLAGS = @GCJFLAGS@
JAR = @JAR@
JAVACOMP = $(SHELL) javacomp.sh
AR = ar
RANLIB = @RANLIB@
EXTRA_DIST += $(hello_SOURCES)
CLEANFILES =
DISTCLEANFILES = javacomp.sh javaexec.sh
if USEJEXE
# Rules for compiling Java programs as native code.
all-local: $(hello_MAINCLASS)$(EXEEXT) hello-resources.jar hello.sh
# Does not work yet with GCC 3.3.
#$(hello_MAINCLASS)$(EXEEXT): $(srcdir)/Hello.java
# CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) $(srcdir)/Hello.java $(hello_JAVALIBS) --main=$(hello_MAINCLASS) -o $@
$(hello_MAINCLASS)$(EXEEXT): Hello.$(OBJEXT) libintl.a
$(GCJ) $(GCJFLAGS) Hello.$(OBJEXT) libintl.a --main=$(hello_MAINCLASS) -o $@
Hello.$(OBJEXT): $(srcdir)/Hello.java
CLASSPATH=.@CLASSPATH_SEPARATOR@$(hello_JAVALIBS) $(GCJ) $(GCJFLAGS) -c $(srcdir)/Hello.java -o $@
libintl.a:
rm -rf tmpdir
mkdir tmpdir
cd tmpdir && $(JAR) xf @LIBINTL_JAR@ && \
for f in `find . -name '*.class' -print`; do \
$(GCJ) $(GCJFLAGS) -c $$f -o `echo $$f | sed -e 's,^\./,,' -e 's,\.class$$,,' -e 's,/,.,g'`.$(OBJEXT) || exit 1; \
done && \
rm -f ../libintl.a && \
ar cru ../libintl.a `find . -name '*.$(OBJEXT)' -print`
rm -rf tmpdir
$(RANLIB) $@
hello-resources.jar:
catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \
$(JAR) cf $@ $(hello_RESOURCES) $$catalogs
hello.sh:
{ echo '#!/bin/sh'; \
echo "CLASSPATH='$(jardir)/hello-resources.jar'\$${CLASSPATH+\"@CLASSPATH_SEPARATOR@\$$CLASSPATH\"}"; \
echo "export CLASSPATH"; \
echo "exec '$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)' \"\$$@\""; \
} > $@
install-exec-local: all-local
$(mkdir_p) $(DESTDIR)$(bindir)
$(INSTALL_SCRIPT) hello.sh $(DESTDIR)$(bindir)/hello
$(mkdir_p) $(DESTDIR)$(pkglibdir)
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(hello_MAINCLASS)$(EXEEXT) $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)
install-data-local: all-local
$(mkdir_p) $(DESTDIR)$(jardir)
$(INSTALL_DATA) hello-resources.jar $(DESTDIR)$(jardir)/hello-resources.jar
installdirs-local:
$(mkdir_p) $(DESTDIR)$(bindir)
$(mkdir_p) $(DESTDIR)$(pkglibdir)
$(mkdir_p) $(DESTDIR)$(jardir)
uninstall-local:
rm -f $(DESTDIR)$(bindir)/hello
rm -f $(DESTDIR)$(pkglibdir)/$(hello_MAINCLASS)$(EXEEXT)
rm -f $(DESTDIR)$(jardir)/hello-resources.jar
CLEANFILES += $(hello_MAINCLASS)$(EXEEXT) *.$(OBJEXT) *.a tmpdir hello-resources.jar hello.sh
else
# 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
catalogs=`MAKEFLAGS= $(MAKE) -s -C po echo-catalogs`; \
$(JAR) cfm $@ Manifest.mf Hello*.class $(hello_RESOURCES) $$catalogs
rm -f Manifest.mf
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
endif
|