| 1 |
753 |
jeremybenn |
## Process this file with automake to produce Makefile.in.
|
| 2 |
|
|
|
| 3 |
|
|
AUTOMAKE_OPTIONS = foreign subdir-objects
|
| 4 |
|
|
|
| 5 |
|
|
ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl
|
| 6 |
|
|
|
| 7 |
|
|
# May be used by various substitution variables.
|
| 8 |
|
|
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
| 9 |
|
|
|
| 10 |
|
|
SUBDIRS = $(DIRLTDL) gcj include classpath
|
| 11 |
|
|
if TESTSUBDIR
|
| 12 |
|
|
SUBDIRS += testsuite
|
| 13 |
|
|
endif
|
| 14 |
|
|
|
| 15 |
|
|
# write_entries_to_file - writes each entry in a list
|
| 16 |
|
|
# to the specified file. Entries are written in chunks of
|
| 17 |
|
|
# $(write_entries_to_file_split) to accomodate systems with
|
| 18 |
|
|
# severe command-line-length limitations.
|
| 19 |
|
|
# Parameters:
|
| 20 |
|
|
# $(1): variable containing entries to iterate over
|
| 21 |
|
|
# $(2): output file
|
| 22 |
|
|
write_entries_to_file_split = 50
|
| 23 |
|
|
write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) \
|
| 24 |
|
|
$(foreach range, \
|
| 25 |
|
|
$(shell i=1; while test $$i -le $(words $(1)); do \
|
| 26 |
|
|
echo $$i; i=`expr $$i + $(write_entries_to_file_split)`; done), \
|
| 27 |
|
|
$(shell echo $(wordlist $(range), \
|
| 28 |
|
|
$(shell expr $(range) + $(write_entries_to_file_split) - 1), $(1)) \
|
| 29 |
|
|
| tr ' ' '\012' >> $(2)))
|
| 30 |
|
|
|
| 31 |
|
|
## ################################################################
|
| 32 |
|
|
|
| 33 |
|
|
# autoconf2.13's target_alias
|
| 34 |
|
|
target_noncanonical = @target_noncanonical@
|
| 35 |
|
|
|
| 36 |
|
|
# This is required by TL_AC_GXX_INCLUDE_DIR.
|
| 37 |
|
|
libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
|
| 38 |
|
|
|
| 39 |
|
|
libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
|
| 40 |
|
|
|
| 41 |
|
|
##
|
| 42 |
|
|
## What gets installed, and where.
|
| 43 |
|
|
##
|
| 44 |
|
|
|
| 45 |
|
|
toolexeclib_LTLIBRARIES = libgcj.la libgij.la libgcj-tools.la
|
| 46 |
|
|
toolexecmainlib_DATA = libgcj.spec
|
| 47 |
|
|
|
| 48 |
|
|
##
|
| 49 |
|
|
## These files form a closed dependency group at the lower
|
| 50 |
|
|
## edge of libjava's dependency graph, so can be separated out.
|
| 51 |
|
|
## For details of how the list was generated, see the GCC wiki:
|
| 52 |
|
|
##
|
| 53 |
|
|
## http://gcc.gnu.org/wiki/Internal_dependencies_of_libgcj
|
| 54 |
|
|
##
|
| 55 |
|
|
LOWER_PACKAGE_FILES_LO = \
|
| 56 |
|
|
$(propertyo_files) \
|
| 57 |
|
|
gnu-CORBA.lo \
|
| 58 |
|
|
gnu-java-awt-dnd-peer-gtk.lo \
|
| 59 |
|
|
gnu-java-awt-peer-gtk.lo \
|
| 60 |
|
|
gnu-java-awt-peer-swing.lo \
|
| 61 |
|
|
gnu-java-lang-management.lo \
|
| 62 |
|
|
gnu-javax-management.lo \
|
| 63 |
|
|
gnu-javax-rmi.lo \
|
| 64 |
|
|
gnu-javax-sound-midi.lo \
|
| 65 |
|
|
gnu-xml-aelfred2.lo \
|
| 66 |
|
|
gnu-xml-dom.lo \
|
| 67 |
|
|
gnu-xml-libxmlj.lo \
|
| 68 |
|
|
gnu-xml-pipeline.lo \
|
| 69 |
|
|
gnu-xml-stream.lo \
|
| 70 |
|
|
gnu-xml-transform.lo \
|
| 71 |
|
|
gnu-xml-util.lo \
|
| 72 |
|
|
gnu-xml-validation.lo \
|
| 73 |
|
|
gnu-xml-xpath.lo \
|
| 74 |
|
|
java-lang-management.lo \
|
| 75 |
|
|
javax-imageio.lo \
|
| 76 |
|
|
javax-rmi.lo \
|
| 77 |
|
|
jni-libjvm.lo \
|
| 78 |
|
|
org-omg-CORBA.lo \
|
| 79 |
|
|
org-omg-CORBA_2_3.lo \
|
| 80 |
|
|
org-omg-CosNaming.lo \
|
| 81 |
|
|
org-omg-Dynamic.lo \
|
| 82 |
|
|
org-omg-DynamicAny.lo \
|
| 83 |
|
|
org-omg-IOP.lo \
|
| 84 |
|
|
org-omg-Messaging.lo \
|
| 85 |
|
|
org-omg-PortableInterceptor.lo \
|
| 86 |
|
|
org-omg-PortableServer.lo \
|
| 87 |
|
|
org-omg-SendingContext.lo \
|
| 88 |
|
|
org-omg-stub.lo \
|
| 89 |
|
|
org-relaxng.lo \
|
| 90 |
|
|
org-xml.lo \
|
| 91 |
|
|
META-INF/services/java.util.prefs.PreferencesFactory.in.lo \
|
| 92 |
|
|
META-INF/services/java.util.prefs.PreferencesFactory.lo \
|
| 93 |
|
|
META-INF/services/javax.sound.midi.spi.MidiDeviceProvider.lo \
|
| 94 |
|
|
META-INF/services/javax.sound.midi.spi.MidiFileReader.lo \
|
| 95 |
|
|
META-INF/services/javax.sound.midi.spi.MidiFileWriter.lo \
|
| 96 |
|
|
META-INF/services/javax.sound.sampled.spi.AudioFileReader.lo \
|
| 97 |
|
|
classpath/native/jni/classpath/jcl.lo \
|
| 98 |
|
|
classpath/native/jni/classpath/jnilink.lo \
|
| 99 |
|
|
classpath/native/jni/java-math/gnu_java_math_GMP.lo \
|
| 100 |
|
|
classpath/tools/libgcj_tools_la-tools.lo \
|
| 101 |
|
|
gnu/awt.lo \
|
| 102 |
|
|
gnu/awt/j2d.lo \
|
| 103 |
|
|
gnu/gcj/io.lo \
|
| 104 |
|
|
gnu/gcj/io/natSimpleSHSStream.lo \
|
| 105 |
|
|
gnu/gcj/io/shs.lo \
|
| 106 |
|
|
gnu/gcj/tools/gcj_dbtool.lo \
|
| 107 |
|
|
gnu/gcj/util/natDebug.lo \
|
| 108 |
|
|
gnu/gcj/util/natGCInfo.lo \
|
| 109 |
|
|
gnu/java/awt/dnd.lo \
|
| 110 |
|
|
gnu/java/awt/font.lo \
|
| 111 |
|
|
gnu/java/awt/image.lo \
|
| 112 |
|
|
gnu/java/awt/print.lo \
|
| 113 |
|
|
gnu/java/awt/font/autofit.lo \
|
| 114 |
|
|
gnu/java/awt/font/opentype.lo \
|
| 115 |
|
|
gnu/java/awt/font/opentype/truetype.lo \
|
| 116 |
|
|
gnu/java/lang/management/natVMClassLoadingMXBeanImpl.lo \
|
| 117 |
|
|
gnu/java/lang/management/natVMCompilationMXBeanImpl.lo \
|
| 118 |
|
|
gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.lo \
|
| 119 |
|
|
gnu/java/lang/management/natVMMemoryMXBeanImpl.lo \
|
| 120 |
|
|
gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo \
|
| 121 |
|
|
gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo \
|
| 122 |
|
|
gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo \
|
| 123 |
|
|
gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo \
|
| 124 |
|
|
gnu/java/lang/management/natVMThreadMXBeanImpl.lo \
|
| 125 |
|
|
gnu/java/net/local.lo \
|
| 126 |
|
|
gnu/java/net/protocol/ftp.lo \
|
| 127 |
|
|
gnu/java/net/protocol/gcjlib.lo \
|
| 128 |
|
|
gnu/java/net/protocol/https.lo \
|
| 129 |
|
|
gnu/javax/imageio.lo \
|
| 130 |
|
|
gnu/javax/print.lo \
|
| 131 |
|
|
gnu/javax/sound.lo \
|
| 132 |
|
|
gnu/javax/activation/viewers.lo \
|
| 133 |
|
|
gnu/javax/imageio/bmp.lo \
|
| 134 |
|
|
gnu/javax/imageio/gif.lo \
|
| 135 |
|
|
gnu/javax/imageio/jpeg.lo \
|
| 136 |
|
|
gnu/javax/imageio/png.lo \
|
| 137 |
|
|
gnu/javax/naming/giop.lo \
|
| 138 |
|
|
gnu/javax/naming/ictxImpl/trans.lo \
|
| 139 |
|
|
gnu/javax/naming/jndi/url/corbaname.lo \
|
| 140 |
|
|
gnu/javax/naming/jndi/url/rmi.lo \
|
| 141 |
|
|
gnu/javax/print/ipp.lo \
|
| 142 |
|
|
gnu/javax/print/ipp/attribute.lo \
|
| 143 |
|
|
gnu/javax/print/ipp/attribute/defaults.lo \
|
| 144 |
|
|
gnu/javax/print/ipp/attribute/job.lo \
|
| 145 |
|
|
gnu/javax/print/ipp/attribute/printer.lo \
|
| 146 |
|
|
gnu/javax/print/ipp/attribute/supported.lo \
|
| 147 |
|
|
gnu/javax/security/auth/login.lo \
|
| 148 |
|
|
gnu/javax/sound/sampled/AU.lo \
|
| 149 |
|
|
gnu/javax/sound/sampled/WAV.lo \
|
| 150 |
|
|
gnu/javax/swing/plaf/gnu.lo \
|
| 151 |
|
|
gnu/javax/swing/plaf/metal.lo \
|
| 152 |
|
|
java/sql.lo \
|
| 153 |
|
|
java/awt/im.lo \
|
| 154 |
|
|
java/awt/print.lo \
|
| 155 |
|
|
java/awt/im/spi.lo \
|
| 156 |
|
|
java/security/acl.lo \
|
| 157 |
|
|
javax/activation.lo \
|
| 158 |
|
|
javax/activity.lo \
|
| 159 |
|
|
javax/management.lo \
|
| 160 |
|
|
javax/naming.lo \
|
| 161 |
|
|
javax/print.lo \
|
| 162 |
|
|
javax/sql.lo \
|
| 163 |
|
|
javax/tools.lo \
|
| 164 |
|
|
javax/transaction.lo \
|
| 165 |
|
|
javax/management/loading.lo \
|
| 166 |
|
|
javax/management/openmbean.lo \
|
| 167 |
|
|
javax/management/remote.lo \
|
| 168 |
|
|
javax/management/remote/rmi.lo \
|
| 169 |
|
|
javax/naming/directory.lo \
|
| 170 |
|
|
javax/naming/event.lo \
|
| 171 |
|
|
javax/naming/ldap.lo \
|
| 172 |
|
|
javax/naming/spi.lo \
|
| 173 |
|
|
javax/print/attribute.lo \
|
| 174 |
|
|
javax/print/event.lo \
|
| 175 |
|
|
javax/print/attribute/standard.lo \
|
| 176 |
|
|
javax/security/cert.lo \
|
| 177 |
|
|
javax/security/auth/kerberos.lo \
|
| 178 |
|
|
javax/security/auth/login.lo \
|
| 179 |
|
|
javax/security/auth/spi.lo \
|
| 180 |
|
|
javax/sound/midi.lo \
|
| 181 |
|
|
javax/sound/midi/spi.lo \
|
| 182 |
|
|
javax/swing/plaf/multi.lo \
|
| 183 |
|
|
javax/swing/plaf/synth.lo \
|
| 184 |
|
|
javax/swing/text/rtf.lo \
|
| 185 |
|
|
javax/swing/text/html/default.css.lo \
|
| 186 |
|
|
javax/transaction/xa.lo \
|
| 187 |
|
|
org/ietf/jgss.lo \
|
| 188 |
|
|
sun/awt.lo
|
| 189 |
|
|
|
| 190 |
|
|
##
|
| 191 |
|
|
## Lists of all .lo files, and filtered core and non-core lists.
|
| 192 |
|
|
##
|
| 193 |
|
|
ALL_PACKAGE_SOURCE_FILES_LO = $(all_packages_source_files:.list=.lo) $(propertyo_files) $(bc_objects)
|
| 194 |
|
|
NONCORE_PACKAGE_SOURCE_FILES_LO = $(filter $(LOWER_PACKAGE_FILES_LO),$(ALL_PACKAGE_SOURCE_FILES_LO))
|
| 195 |
|
|
CORE_PACKAGE_SOURCE_FILES_LO = $(filter-out $(LOWER_PACKAGE_FILES_LO),$(ALL_PACKAGE_SOURCE_FILES_LO))
|
| 196 |
|
|
|
| 197 |
|
|
##
|
| 198 |
|
|
## Assign objects to output libraries.
|
| 199 |
|
|
##
|
| 200 |
|
|
if BUILD_SUBLIBS
|
| 201 |
|
|
toolexeclib_LTLIBRARIES += libgcj-noncore.la
|
| 202 |
|
|
libgcj_noncore_la_LIBADD_SUBOBJECTS = $(NONCORE_PACKAGE_SOURCE_FILES_LO)
|
| 203 |
|
|
libgcj_la_LIBADD_SUBOBJECTS = $(CORE_PACKAGE_SOURCE_FILES_LO)
|
| 204 |
|
|
LIBJAVA_LDFLAGS_NOUNDEF = $(LIBGCJ_SUBLIB_LTFLAGS)
|
| 205 |
|
|
LIBJAVA_CORE_EXTRA = @LIBGCJ_SUBLIB_CORE_EXTRA_DEPS@
|
| 206 |
|
|
else
|
| 207 |
|
|
# If not building sublibraries, everything goes in libgcj,
|
| 208 |
|
|
# and it cannot be usefully built shared on PE platforms.
|
| 209 |
|
|
libgcj_la_LIBADD_SUBOBJECTS = $(ALL_PACKAGE_SOURCE_FILES_LO)
|
| 210 |
|
|
LIBJAVA_LDFLAGS_NOUNDEF =
|
| 211 |
|
|
LIBJAVA_CORE_EXTRA =
|
| 212 |
|
|
endif
|
| 213 |
|
|
|
| 214 |
|
|
if USE_LIBGCJ_BC
|
| 215 |
|
|
toolexeclib_LTLIBRARIES += libgcj_bc.la
|
| 216 |
|
|
endif
|
| 217 |
|
|
|
| 218 |
|
|
if XLIB_AWT
|
| 219 |
|
|
toolexeclib_LTLIBRARIES += lib-gnu-awt-xlib.la
|
| 220 |
|
|
endif
|
| 221 |
|
|
|
| 222 |
|
|
dbexec_LTLIBRARIES = libjvm.la
|
| 223 |
|
|
|
| 224 |
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
| 225 |
|
|
|
| 226 |
|
|
jardir = $(datadir)/java
|
| 227 |
|
|
jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar
|
| 228 |
|
|
if INSTALL_ECJ_JAR
|
| 229 |
|
|
jar_DATA += $(ECJ_BUILD_JAR)
|
| 230 |
|
|
endif
|
| 231 |
|
|
|
| 232 |
|
|
if JAVA_HOME_SET
|
| 233 |
|
|
JAVA_HOME_DIR = $(JAVA_HOME)
|
| 234 |
|
|
BOOT_CLASS_PATH_DIR = $(JAVA_HOME)/lib/rt.jar
|
| 235 |
|
|
else
|
| 236 |
|
|
JAVA_HOME_DIR = $(prefix)
|
| 237 |
|
|
BOOT_CLASS_PATH_DIR = $(jardir)/libgcj-$(gcc_version).jar
|
| 238 |
|
|
endif
|
| 239 |
|
|
|
| 240 |
|
|
## Name of the default .db.
|
| 241 |
|
|
db_name = classmap.db
|
| 242 |
|
|
## Compiler specific component of the .db file
|
| 243 |
|
|
gcjsubdir = @gcjsubdir@
|
| 244 |
|
|
db_pathtail = $(gcjsubdir)/$(db_name)
|
| 245 |
|
|
|
| 246 |
|
|
## For now, only on native systems. FIXME.
|
| 247 |
|
|
if NATIVE
|
| 248 |
|
|
bin_programs = jv-convert gij grmic grmiregistry gcj-dbtool \
|
| 249 |
|
|
gappletviewer gjarsigner gkeytool gjar gcjh gjavah gnative2ascii \
|
| 250 |
|
|
gorbd grmid gserialver gtnameserv gc-analyze
|
| 251 |
|
|
if CREATE_GJDOC
|
| 252 |
|
|
bin_programs += gjdoc
|
| 253 |
|
|
endif
|
| 254 |
|
|
|
| 255 |
|
|
noinst_PROGRAMS =
|
| 256 |
|
|
if INSTALL_BINARIES
|
| 257 |
|
|
bin_PROGRAMS = $(bin_programs)
|
| 258 |
|
|
else
|
| 259 |
|
|
noinst_PROGRAMS += $(bin_programs)
|
| 260 |
|
|
endif
|
| 261 |
|
|
|
| 262 |
|
|
## It is convenient to actually build and install the default database
|
| 263 |
|
|
## when gcj-dbtool is available.
|
| 264 |
|
|
dbexec_DATA = $(db_name)
|
| 265 |
|
|
endif
|
| 266 |
|
|
|
| 267 |
|
|
bin_SCRIPTS = contrib/rebuild-gcj-db contrib/aot-compile
|
| 268 |
|
|
|
| 269 |
|
|
if INSTALL_AOT_RPM
|
| 270 |
|
|
bin_SCRIPTS += contrib/aot-compile-rpm
|
| 271 |
|
|
endif
|
| 272 |
|
|
|
| 273 |
|
|
if BUILD_ECJ1
|
| 274 |
|
|
## We build ecjx and not ecj1 because in one mode, ecjx will not work
|
| 275 |
|
|
## until after 'make install', and we don't want it to be picked up in
|
| 276 |
|
|
## the build tree by gcj via a -B option.
|
| 277 |
|
|
libexecsub_PROGRAMS = ecjx
|
| 278 |
|
|
endif
|
| 279 |
|
|
|
| 280 |
|
|
## ################################################################
|
| 281 |
|
|
|
| 282 |
|
|
##
|
| 283 |
|
|
## Compilers and compilation flags.
|
| 284 |
|
|
##
|
| 285 |
|
|
|
| 286 |
|
|
## The compiler with whatever flags we want for both -c and -C
|
| 287 |
|
|
## compiles.
|
| 288 |
|
|
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated
|
| 289 |
|
|
|
| 290 |
|
|
extra_ldflags_libjava = @extra_ldflags_libjava@
|
| 291 |
|
|
extra_ldflags = @extra_ldflags@
|
| 292 |
|
|
|
| 293 |
|
|
if ANONVERSCRIPT
|
| 294 |
|
|
if ANONVERSCRIPT_GNU
|
| 295 |
|
|
version_arg = -Wl,--version-script=$(srcdir)/libgcj.ver
|
| 296 |
|
|
libgcj_la_version_arg = $(version_arg)
|
| 297 |
|
|
libgcj_tools_la_version_arg = $(version_arg)
|
| 298 |
|
|
lib_gnu_awt_xlib_la_version_arg = $(version_arg)
|
| 299 |
|
|
libgcj_bc_la_version_arg = $(version_arg)
|
| 300 |
|
|
|
| 301 |
|
|
version_dep = $(srcdir)/libgcj.ver
|
| 302 |
|
|
libgcj_la_version_dep = $(version_dep)
|
| 303 |
|
|
libgcj_tools_la_version_dep = $(version_dep)
|
| 304 |
|
|
lib_gnu_awt_xlib_la_version_dep = $(version_dep)
|
| 305 |
|
|
libgcj_bc_la_version_dep = $(version_dep)
|
| 306 |
|
|
endif
|
| 307 |
|
|
if ANONVERSCRIPT_SUN
|
| 308 |
|
|
libgcj_la_version_arg = -Wl,-M,libgcj.ver-sun
|
| 309 |
|
|
libgcj_tools_la_version_arg = -Wl,-M,libgcj_tools.ver-sun
|
| 310 |
|
|
lib_gnu_awt_xlib_la_version_arg = -Wl,-M,lib_gnu_awt_xlib.ver-sun
|
| 311 |
|
|
libgcj_bc_la_version_arg = -Wl,-M,libgcj_bc.ver-sun
|
| 312 |
|
|
|
| 313 |
|
|
libgcj_la_version_dep = libgcj.ver-sun
|
| 314 |
|
|
libgcj_tools_la_version_dep = libgcj_tools.ver-sun
|
| 315 |
|
|
lib_gnu_awt_xlib_la_version_dep = lib_gnu_awt_xlib.ver-sun
|
| 316 |
|
|
libgcj_bc_la_version_dep = libgcj_bc.ver-sun
|
| 317 |
|
|
|
| 318 |
|
|
# The pattern rule necessary to build the *.ver-sun mapfiles is at the end
|
| 319 |
|
|
# of the file, see below.
|
| 320 |
|
|
endif
|
| 321 |
|
|
else
|
| 322 |
|
|
version_arg =
|
| 323 |
|
|
libgcj_la_version_arg = $(version_arg)
|
| 324 |
|
|
libgcj_tools_la_version_arg = $(version_arg)
|
| 325 |
|
|
lib_gnu_awt_xlib_la_version_arg = $(version_arg)
|
| 326 |
|
|
libgcj_bc_la_version_arg = $(version_arg)
|
| 327 |
|
|
|
| 328 |
|
|
version_dep =
|
| 329 |
|
|
libgcj_la_version_dep = $(version_dep)
|
| 330 |
|
|
libgcj_tools_la_version_dep = $(version_dep)
|
| 331 |
|
|
lib_gnu_awt_xlib_la_version_dep = $(version_dep)
|
| 332 |
|
|
libgcj_bc_la_version_dep = $(version_dep)
|
| 333 |
|
|
endif
|
| 334 |
|
|
|
| 335 |
|
|
LTLDFLAGS = $(shell $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
|
| 336 |
|
|
GCJLINK = $(LIBTOOL) --tag=GCJ $(LIBTOOLFLAGS) --mode=link $(GCJ) -L$(here) \
|
| 337 |
|
|
$(JC1FLAGS) $(LTLDFLAGS) -o $@
|
| 338 |
|
|
GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
|
| 339 |
|
|
GCJ_FOR_ECJX_LINK = $(GCJ_FOR_ECJX) -o $@
|
| 340 |
|
|
LIBLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXX) -L$(here) \
|
| 341 |
|
|
$(JC1FLAGS) $(LTLDFLAGS) $(extra_ldflags_libjava) $(extra_ldflags) -o $@
|
| 342 |
|
|
CXXLINK = $(LIBTOOL) --tag=CXX $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
|
| 343 |
|
|
$(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LTLDFLAGS) -o $@
|
| 344 |
|
|
|
| 345 |
|
|
LIBGCC_UNWIND_INCLUDE = @LIBGCC_UNWIND_INCLUDE@
|
| 346 |
|
|
|
| 347 |
|
|
WARNINGS = -Wextra -Wall
|
| 348 |
|
|
## Some systems don't allow `$' in identifiers by default, so we force
|
| 349 |
|
|
## it with -fdollars-in-identifiers. -Wswitch-enum detects bugs in
|
| 350 |
|
|
## the verifier implementation, and maybe other places. We need
|
| 351 |
|
|
## _GNU_SOURCE defined for some Linux builds. It doesn't hurt to
|
| 352 |
|
|
## always define it. Some systems, including Linux, need
|
| 353 |
|
|
## -D_FILE_OFFSET_BITS=64 to enable > 2GB file support.
|
| 354 |
|
|
AM_CXXFLAGS = \
|
| 355 |
|
|
-fno-rtti \
|
| 356 |
|
|
-fnon-call-exceptions \
|
| 357 |
|
|
$(THREADCXXFLAGS) \
|
| 358 |
|
|
-fdollars-in-identifiers \
|
| 359 |
|
|
-Wswitch-enum \
|
| 360 |
|
|
-D_FILE_OFFSET_BITS=64 \
|
| 361 |
|
|
@LIBGCJ_CXXFLAGS@ \
|
| 362 |
|
|
$(WARNINGS) \
|
| 363 |
|
|
-D_GNU_SOURCE \
|
| 364 |
|
|
-DPREFIX="\"$(prefix)\"" \
|
| 365 |
|
|
-DTOOLEXECLIBDIR="\"$(toolexeclibdir)\"" \
|
| 366 |
|
|
-DJAVA_HOME="\"$(JAVA_HOME_DIR)\"" \
|
| 367 |
|
|
-DBOOT_CLASS_PATH="\"$(BOOT_CLASS_PATH_DIR)\"" \
|
| 368 |
|
|
-DJAVA_EXT_DIRS="\"$(jardir)/ext\"" \
|
| 369 |
|
|
-DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj-endorsed\"" \
|
| 370 |
|
|
-DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
|
| 371 |
|
|
-DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
|
| 372 |
|
|
-DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
|
| 373 |
|
|
-DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
|
| 374 |
|
|
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
|
| 375 |
|
|
|
| 376 |
|
|
AM_GCJFLAGS = \
|
| 377 |
|
|
@LIBGCJ_JAVAFLAGS@ \
|
| 378 |
|
|
-fclasspath= -fbootclasspath=$(BOOTCLASSPATH) \
|
| 379 |
|
|
--encoding=UTF-8 \
|
| 380 |
|
|
-Wno-deprecated -fbootstrap-classes
|
| 381 |
|
|
|
| 382 |
|
|
AM_CFLAGS = @LIBGCJ_CFLAGS@
|
| 383 |
|
|
if USING_GCC
|
| 384 |
|
|
AM_CFLAGS += $(WARNINGS)
|
| 385 |
|
|
endif
|
| 386 |
|
|
|
| 387 |
|
|
if SUPPRESS_LIBGCJ_BC
|
| 388 |
|
|
LIBGCJ_BC_FLAGS =
|
| 389 |
|
|
else
|
| 390 |
|
|
LIBGCJ_BC_FLAGS = -findirect-dispatch -fno-indirect-classes
|
| 391 |
|
|
endif
|
| 392 |
|
|
|
| 393 |
|
|
if BUILD_LIBGCJ_REDUCED_REFLECTION
|
| 394 |
|
|
LIBGCJ_REDUCED_REFLECTION_FLAGS = -freduced-reflection
|
| 395 |
|
|
else
|
| 396 |
|
|
LIBGCJ_REDUCED_REFLECTION_FLAGS =
|
| 397 |
|
|
endif
|
| 398 |
|
|
|
| 399 |
|
|
## Extra CFLAGS used for JNI C sources shared with GNU Classpath.
|
| 400 |
|
|
PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
|
| 401 |
|
|
|
| 402 |
|
|
JCFLAGS = -g
|
| 403 |
|
|
JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
|
| 404 |
|
|
|
| 405 |
|
|
LIBFFIINCS = @LIBFFIINCS@
|
| 406 |
|
|
|
| 407 |
|
|
AM_CPPFLAGS = -I$(top_srcdir) \
|
| 408 |
|
|
-Iinclude -I$(top_srcdir)/include \
|
| 409 |
|
|
-I$(top_srcdir)/classpath/include \
|
| 410 |
|
|
-Iclasspath/include \
|
| 411 |
|
|
-I$(top_srcdir)/classpath/native/fdlibm \
|
| 412 |
|
|
$(GCINCS) $(THREADINCS) $(INCLTDL) \
|
| 413 |
|
|
$(LIBGCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
|
| 414 |
|
|
|
| 415 |
|
|
BOOTCLASSPATH = $(srcdir)/classpath/lib
|
| 416 |
|
|
|
| 417 |
|
|
## ################################################################
|
| 418 |
|
|
|
| 419 |
|
|
##
|
| 420 |
|
|
## How to build libgcj.a and libgcj.jar
|
| 421 |
|
|
##
|
| 422 |
|
|
|
| 423 |
|
|
libgij_la_SOURCES = gij.cc
|
| 424 |
|
|
libgij_la_DEPENDENCIES = libgcj.la libgcj.spec
|
| 425 |
|
|
if BUILD_SUBLIBS
|
| 426 |
|
|
libgij_la_DEPENDENCIES += libgcj-noncore.la
|
| 427 |
|
|
endif
|
| 428 |
|
|
## See jv_convert_LDADD.
|
| 429 |
|
|
libgij_la_LIBADD = -L$(here)/.libs libgcj.la
|
| 430 |
|
|
## The mysterious backslash in the grep pattern is consumed by make.
|
| 431 |
|
|
libgij_la_LDFLAGS = -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \
|
| 432 |
|
|
-version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC)
|
| 433 |
|
|
libgij_la_LINK = $(CXXLINK) $(libgij_la_LDFLAGS)
|
| 434 |
|
|
|
| 435 |
|
|
if INTERPRETER
|
| 436 |
|
|
libgcj_interpret_source_files = jvmti.cc interpret.cc
|
| 437 |
|
|
else
|
| 438 |
|
|
libgcj_interpret_source_files =
|
| 439 |
|
|
endif
|
| 440 |
|
|
|
| 441 |
|
|
libgcj_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc \
|
| 442 |
|
|
link.cc defineclass.cc verify.cc $(libgcj_interpret_source_files) \
|
| 443 |
|
|
$(nat_source_files)
|
| 444 |
|
|
|
| 445 |
|
|
## We need to compile at least the interpreter this way.
|
| 446 |
|
|
interpret.lo: AM_CXXFLAGS += -fwrapv
|
| 447 |
|
|
## Necessary so EH works on 64-bit Solaris 2.
|
| 448 |
|
|
prims.lo: AM_CXXFLAGS += -fno-omit-frame-pointer
|
| 449 |
|
|
|
| 450 |
|
|
if USING_BOEHMGC
|
| 451 |
|
|
libgcj_la_SOURCES += boehm.cc
|
| 452 |
|
|
endif
|
| 453 |
|
|
|
| 454 |
|
|
if USING_NOGC
|
| 455 |
|
|
libgcj_la_SOURCES += nogc.cc
|
| 456 |
|
|
endif
|
| 457 |
|
|
|
| 458 |
|
|
if USING_POSIX_PLATFORM
|
| 459 |
|
|
libgcj_la_SOURCES += posix.cc
|
| 460 |
|
|
endif
|
| 461 |
|
|
|
| 462 |
|
|
if USING_WIN32_PLATFORM
|
| 463 |
|
|
libgcj_la_SOURCES += win32.cc
|
| 464 |
|
|
endif
|
| 465 |
|
|
|
| 466 |
|
|
if USING_DARWIN_CRT
|
| 467 |
|
|
libgcj_la_SOURCES += darwin.cc
|
| 468 |
|
|
LIBJAVA_LDFLAGS_LIBMATH =
|
| 469 |
|
|
else
|
| 470 |
|
|
LIBJAVA_LDFLAGS_LIBMATH = -lm
|
| 471 |
|
|
endif
|
| 472 |
|
|
|
| 473 |
|
|
if USING_POSIX_THREADS
|
| 474 |
|
|
libgcj_la_SOURCES += posix-threads.cc
|
| 475 |
|
|
endif
|
| 476 |
|
|
|
| 477 |
|
|
if USING_WIN32_THREADS
|
| 478 |
|
|
libgcj_la_SOURCES += win32-threads.cc
|
| 479 |
|
|
endif
|
| 480 |
|
|
|
| 481 |
|
|
if USING_NO_THREADS
|
| 482 |
|
|
libgcj_la_SOURCES += no-threads.cc
|
| 483 |
|
|
endif
|
| 484 |
|
|
|
| 485 |
|
|
## Objects from C++ sources in subdirs.
|
| 486 |
|
|
nat_files = $(nat_source_files:.cc=.lo)
|
| 487 |
|
|
xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
|
| 488 |
|
|
|
| 489 |
|
|
# Include THREADLIBS here to ensure that the correct version of
|
| 490 |
|
|
# certain linuxthread functions get linked:
|
| 491 |
|
|
## The mysterious backslash in the grep pattern is consumed by make.
|
| 492 |
|
|
libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
|
| 493 |
|
|
$(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
|
| 494 |
|
|
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
| 495 |
|
|
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL)
|
| 496 |
|
|
libgcj_la_LIBADD = \
|
| 497 |
|
|
classpath/native/fdlibm/libfdlibm.la \
|
| 498 |
|
|
java/lang/Object.lo \
|
| 499 |
|
|
java/lang/Class.lo \
|
| 500 |
|
|
java/process-$(PLATFORM).lo \
|
| 501 |
|
|
$(libgcj_la_LIBADD_SUBOBJECTS) \
|
| 502 |
|
|
$(LIBFFI) $(ZLIBS) $(GCLIBS)
|
| 503 |
|
|
libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \
|
| 504 |
|
|
java/lang/Object.lo \
|
| 505 |
|
|
java/lang/Class.lo \
|
| 506 |
|
|
java/process-$(PLATFORM).lo \
|
| 507 |
|
|
$(ALL_PACKAGE_SOURCE_FILES_LO) \
|
| 508 |
|
|
$(LIBLTDL) $(libgcj_la_LIBADD) \
|
| 509 |
|
|
$(LIBJAVA_CORE_EXTRA) \
|
| 510 |
|
|
$(libgcj_la_version_dep)
|
| 511 |
|
|
libgcj_la_LINK = $(LIBLINK) $(libgcj_la_LDFLAGS) $(libgcj_la_version_arg)
|
| 512 |
|
|
|
| 513 |
|
|
## A hack to make sure the various gcj-related macros, like
|
| 514 |
|
|
## LTGCJCOMPILE, are defined by automake. This is never actually
|
| 515 |
|
|
## compiled.
|
| 516 |
|
|
EXTRA_libgcj_la_SOURCES = java/lang/Object.java
|
| 517 |
|
|
|
| 518 |
|
|
if BUILD_SUBLIBS
|
| 519 |
|
|
## This extra target is invoked on windows hosts only by adding it
|
| 520 |
|
|
## to LIBGCJ_SUBLIB_CORE_EXTRA_SRCS in configure.host, which causes
|
| 521 |
|
|
## it to be linked in to the core DLL and generate a circular import
|
| 522 |
|
|
## dependency loop between the two DLLs. This is required to fix
|
| 523 |
|
|
## PR42811 by ensuring that any application that links against
|
| 524 |
|
|
## either always loads both at runtime.
|
| 525 |
|
|
DLL_VERSION=`expr \`grep -v '^\#' $(srcdir)/libtool-version | sed -e 's/\(.*\):\(.*\):.*/\1 + \2/'\``
|
| 526 |
|
|
libgcj-noncore-dummy.dll.a : $(srcdir)/libgcj-noncore-dummy.def
|
| 527 |
|
|
$(DLLTOOL) -d $^ -l $@ --dllname cyggcj-noncore-$(DLL_VERSION).dll
|
| 528 |
|
|
|
| 529 |
|
|
## These are the libtool definitions for the noncore library.
|
| 530 |
|
|
libgcj_noncore_la_SOURCES =
|
| 531 |
|
|
libgcj_noncore_la_LDFLAGS = $(libgcj_la_LDFLAGS)
|
| 532 |
|
|
libgcj_noncore_la_LIBADD = $(libgcj_noncore_la_LIBADD_SUBOBJECTS) libgcj.la
|
| 533 |
|
|
libgcj_noncore_la_DEPENDENCIES = libgcj-$(gcc_version).jar $(LIBLTDL) \
|
| 534 |
|
|
$(libgcj_noncore_la_LIBADD) libgcj.la $(libgcj_la_version_dep)
|
| 535 |
|
|
libgcj_noncore_la_LINK = $(libgcj_la_LINK)
|
| 536 |
|
|
|
| 537 |
|
|
endif # BUILD_SUBLIBS
|
| 538 |
|
|
|
| 539 |
|
|
# We compile libgcj_tools with -findirect-dispatch so that they can
|
| 540 |
|
|
# depend on external classes: in particular, gjdoc uses antlr. In
|
| 541 |
|
|
# addition, -fno-bootstrap-classes ensures that the tools are loaded
|
| 542 |
|
|
# by the system class loader rather than the bootstrap class loader:
|
| 543 |
|
|
# only core library classes should be loaded by the bootstrap loader.
|
| 544 |
|
|
libgcj_tools_la_SOURCES = classpath/tools/tools.zip
|
| 545 |
|
|
libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
|
| 546 |
|
|
-fno-bootstrap-classes -fno-indirect-classes \
|
| 547 |
|
|
-fsource-filename=$(here)/classpath/tools/all-classes.lst
|
| 548 |
|
|
libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
|
| 549 |
|
|
-version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
| 550 |
|
|
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
|
| 551 |
|
|
$(LIBJAVA_LDFLAGS_LIBMATH)
|
| 552 |
|
|
|
| 553 |
|
|
libgcj_tools_la_LIBADD = libgcj.la
|
| 554 |
|
|
libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \
|
| 555 |
|
|
$(libgcj_tools_la_version_dep)
|
| 556 |
|
|
if BUILD_SUBLIBS
|
| 557 |
|
|
libgcj_tools_la_DEPENDENCIES += libgcj-noncore.la
|
| 558 |
|
|
endif
|
| 559 |
|
|
libgcj_tools_la_LINK = $(LIBLINK) $(libgcj_tools_la_LDFLAGS) \
|
| 560 |
|
|
$(libgcj_tools_la_version_arg)
|
| 561 |
|
|
|
| 562 |
|
|
## libjvm.so
|
| 563 |
|
|
libjvm_la_SOURCES = jni-libjvm.cc
|
| 564 |
|
|
libjvm_la_DEPENDENCIES = libgcj.la libgcj.spec
|
| 565 |
|
|
if BUILD_SUBLIBS
|
| 566 |
|
|
libjvm_la_DEPENDENCIES += libgcj-noncore.la
|
| 567 |
|
|
endif
|
| 568 |
|
|
## See jv_convert_LDADD.
|
| 569 |
|
|
libjvm_la_LIBADD = -L$(here)/.libs libgcj.la
|
| 570 |
|
|
libjvm_la_LDFLAGS = -avoid-version $(LIBGCJ_LD_SYMBOLIC) \
|
| 571 |
|
|
$(LIBJAVA_LDFLAGS_NOUNDEF)
|
| 572 |
|
|
libjvm_la_LINK = $(CXXLINK) $(libjvm_la_LDFLAGS)
|
| 573 |
|
|
|
| 574 |
|
|
## The .db file. This rule is only used for native builds, so it is
|
| 575 |
|
|
## safe to invoke gcj-dbtool.
|
| 576 |
|
|
$(db_name): gcj-dbtool$(EXEEXT)
|
| 577 |
|
|
## In case it exists already.
|
| 578 |
|
|
@rm -f $(db_name)
|
| 579 |
|
|
## We don't actually care if it fails -- if it does, just make an
|
| 580 |
|
|
## empty file. This is simpler than trying to discover when mmap is
|
| 581 |
|
|
## not available.
|
| 582 |
|
|
./gcj-dbtool -n $(db_name) || touch $(db_name)
|
| 583 |
|
|
|
| 584 |
|
|
lib_gnu_awt_xlib_la_SOURCES = $(xlib_nat_source_files)
|
| 585 |
|
|
lib_gnu_awt_xlib_la_LIBADD = gnu/awt/xlib.lo gnu/gcj/xlib.lo
|
| 586 |
|
|
lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-$(gcc_version).jar \
|
| 587 |
|
|
libgcj.la libgcj.spec \
|
| 588 |
|
|
$(lib_gnu_awt_xlib_la_version_dep) \
|
| 589 |
|
|
$(lib_gnu_awt_xlib_la_LIBADD)
|
| 590 |
|
|
if BUILD_SUBLIBS
|
| 591 |
|
|
lib_gnu_awt_xlib_la_DEPENDENCIES += libgcj-noncore.la
|
| 592 |
|
|
endif
|
| 593 |
|
|
## We require libstdc++-v3 to be in the same build tree.
|
| 594 |
|
|
lib_gnu_awt_xlib_la_CPPFLAGS = \
|
| 595 |
|
|
$(AM_CPPFLAGS) \
|
| 596 |
|
|
-I../libstdc++-v3/include \
|
| 597 |
|
|
-I../libstdc++-v3/include/$(target_noncanonical) \
|
| 598 |
|
|
-I$(srcdir)/../libstdc++-v3/libsupc++
|
| 599 |
|
|
## The mysterious backslash in the grep pattern is consumed by make.
|
| 600 |
|
|
lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \
|
| 601 |
|
|
@X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
|
| 602 |
|
|
-rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \
|
| 603 |
|
|
-version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC)
|
| 604 |
|
|
lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) \
|
| 605 |
|
|
$(lib_gnu_awt_xlib_la_version_arg)
|
| 606 |
|
|
|
| 607 |
|
|
## Support for libgcj_bc: dummy shared library.
|
| 608 |
|
|
##
|
| 609 |
|
|
## This lets us have one soname in BC objects and another in C++ ABI objects.
|
| 610 |
|
|
## This library is not linked against libgcj.
|
| 611 |
|
|
libgcj_bc_la_SOURCES = libgcj_bc.c
|
| 612 |
|
|
libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \
|
| 613 |
|
|
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
|
| 614 |
|
|
libgcj_bc_la_DEPENDENCIES = libgcj.la $(libgcj_bc_la_version_dep)
|
| 615 |
|
|
libgcj_bc_la_LINK = $(LIBLINK) $(libgcj_bc_la_LDFLAGS) \
|
| 616 |
|
|
$(libgcj_bc_la_version_arg)
|
| 617 |
|
|
## This is specific to Linux/{Free,Net,Open}BSD/Hurd and perhaps few others.
|
| 618 |
|
|
## USE_LIBGCJ_BC shouldn't be set on other targets.
|
| 619 |
|
|
libgcj_bc_dummy_LINK = $(CC) -L$(here)/.libs $(CFLAGS) $(LDFLAGS) -shared \
|
| 620 |
|
|
-fPIC -nostdlib
|
| 621 |
|
|
|
| 622 |
|
|
## This rule creates the libgcj_bc dummy library in the .libs directory, for use
|
| 623 |
|
|
## when testing.
|
| 624 |
|
|
libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES)
|
| 625 |
|
|
$(libgcj_bc_la_LINK) $(am_libgcj_bc_la_rpath) $(libgcj_bc_la_LDFLAGS) \
|
| 626 |
|
|
$(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_LIBADD) $(LIBS) || exit; \
|
| 627 |
|
|
rm .libs/libgcj_bc.so; \
|
| 628 |
|
|
mv .libs/libgcj_bc.so.1.0.0 .libs/libgcj_bc.so; \
|
| 629 |
|
|
$(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
|
| 630 |
|
|
-o .libs/libgcj_bc.so.1.0.0 -lgcj || exit; \
|
| 631 |
|
|
rm .libs/libgcj_bc.so.1; \
|
| 632 |
|
|
$(LN_S) libgcj_bc.so.1.0.0 .libs/libgcj_bc.so.1
|
| 633 |
|
|
|
| 634 |
|
|
## Note that property_files is defined in sources.am.
|
| 635 |
|
|
propertyo_files = $(patsubst classpath/resource/%,%,$(addsuffix .lo,$(property_files)))
|
| 636 |
|
|
|
| 637 |
|
|
$(propertyo_files): %.lo: classpath/resource/%
|
| 638 |
|
|
$(mkinstalldirs) `dirname $@`; \
|
| 639 |
|
|
$(LTGCJCOMPILE) -o $@ -c $< -Wc,--resource,$(@:.lo=)
|
| 640 |
|
|
|
| 641 |
|
|
libgcj-$(gcc_version).jar: classpath/lib/compile-classes
|
| 642 |
|
|
## Note that this now omits the property files.
|
| 643 |
|
|
## It doesn't matter since we don't use the jar at runtime.
|
| 644 |
|
|
here=`pwd`; cd $(srcdir)/classpath/lib; \
|
| 645 |
|
|
find gnu java javax org sun -name .svn -prune -o -name '*.class' -print | \
|
| 646 |
|
|
$(JAR) -cfM@ $$here/libgcj-$(gcc_version).jar
|
| 647 |
|
|
|
| 648 |
|
|
libgcj-tools-$(gcc_version).jar: classpath/tools/tools.zip
|
| 649 |
|
|
cp $< $@
|
| 650 |
|
|
|
| 651 |
|
|
CLEANFILES = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar
|
| 652 |
|
|
DISTCLEANFILES = native.dirs
|
| 653 |
|
|
|
| 654 |
|
|
mostlyclean-local:
|
| 655 |
|
|
## Use libtool rm to remove each libtool object
|
| 656 |
|
|
find . -name '*.lo' -print | xargs $(LIBTOOL) --mode=clean rm -f
|
| 657 |
|
|
|
| 658 |
|
|
distclean-local:
|
| 659 |
|
|
## Remove every .d file that was created.
|
| 660 |
|
|
find . -name '*.d' -print | xargs rm -f
|
| 661 |
|
|
|
| 662 |
|
|
# Just remove the objects from C++ sources, for testing the C++ compiler.
|
| 663 |
|
|
clean-nat:
|
| 664 |
|
|
rm -f $(nat_files) $(xlib_nat_files)
|
| 665 |
|
|
|
| 666 |
|
|
SUFFIXES = .class .java .h .properties .list
|
| 667 |
|
|
|
| 668 |
|
|
## Pass the list of object files to libtool in a temporary file to
|
| 669 |
|
|
## avoid tripping platform command line length limits.
|
| 670 |
|
|
lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
|
| 671 |
|
|
@echo Creating list of files to link...
|
| 672 |
|
|
@: $(call write_entries_to_file,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),lib_gnu_awt_xlib.objectlist)
|
| 673 |
|
|
$(lib_gnu_awt_xlib_la_LINK) -objectlist lib_gnu_awt_xlib.objectlist \
|
| 674 |
|
|
-rpath $(toolexeclibdir) $(lib_gnu_awt_xlib_la_LDFLAGS) $(LIBS)
|
| 675 |
|
|
|
| 676 |
|
|
## ################################################################
|
| 677 |
|
|
|
| 678 |
|
|
## Compiling a list of java sources to a single .o.
|
| 679 |
|
|
|
| 680 |
|
|
# Concurrent things use reflection internally.
|
| 681 |
|
|
java/util/concurrent.lo \
|
| 682 |
|
|
java/util/concurrent/atomic.lo \
|
| 683 |
|
|
java/util/concurrent/locks.lo: LIBGCJ_REDUCED_REFLECTION_FLAGS =
|
| 684 |
|
|
|
| 685 |
|
|
%.lo: %.list
|
| 686 |
|
|
$(LTGCJCOMPILE) $(LIBGCJ_REDUCED_REFLECTION_FLAGS) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$<
|
| 687 |
|
|
|
| 688 |
|
|
java/lang/Object.lo: classpath/lib/java/lang/Object.class
|
| 689 |
|
|
$(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $<
|
| 690 |
|
|
|
| 691 |
|
|
java/lang/Class.lo: classpath/lib/java/lang/Class.class
|
| 692 |
|
|
$(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $<
|
| 693 |
|
|
|
| 694 |
|
|
## ################################################################
|
| 695 |
|
|
|
| 696 |
|
|
## This pulls in a number of variable and target definitions.
|
| 697 |
|
|
include sources.am
|
| 698 |
|
|
|
| 699 |
|
|
## ################################################################
|
| 700 |
|
|
|
| 701 |
|
|
##
|
| 702 |
|
|
## How to build header files.
|
| 703 |
|
|
##
|
| 704 |
|
|
|
| 705 |
|
|
## We have special rules for certain headers.
|
| 706 |
|
|
omitted_headers = java/lang/ClassLoader.h java/lang/Thread.h \
|
| 707 |
|
|
java/lang/String.h java/lang/reflect/Constructor.h \
|
| 708 |
|
|
java/lang/reflect/Field.h java/lang/reflect/Method.h \
|
| 709 |
|
|
java/lang/reflect/Proxy.h gnu/gcj/runtime/ExtensionClassLoader.h
|
| 710 |
|
|
|
| 711 |
|
|
inner_nat_headers = java/io/ObjectOutputStream$$PutField.h \
|
| 712 |
|
|
java/io/ObjectInputStream$$GetField.h \
|
| 713 |
|
|
java/nio/DirectByteBufferImpl$$ReadWrite.h \
|
| 714 |
|
|
java/nio/channels/Pipe$$SinkChannel.h \
|
| 715 |
|
|
java/nio/channels/Pipe$$SourceChannel.h \
|
| 716 |
|
|
java/lang/VMProcess$ImmediateEOFInputStream.h \
|
| 717 |
|
|
java/lang/reflect/Proxy$$ProxyData.h \
|
| 718 |
|
|
java/lang/reflect/Proxy$$ProxyType.h \
|
| 719 |
|
|
gnu/java/net/PlainSocketImpl$$SocketInputStream.h \
|
| 720 |
|
|
gnu/java/net/PlainSocketImpl$$SocketOutputStream.h \
|
| 721 |
|
|
gnu/java/nio/PipeImpl$$SinkChannelImpl.h \
|
| 722 |
|
|
gnu/java/nio/PipeImpl$$SourceChannelImpl.h
|
| 723 |
|
|
|
| 724 |
|
|
generic_header_files = $(ordinary_header_files) $(inner_nat_headers) \
|
| 725 |
|
|
$(xlib_nat_headers)
|
| 726 |
|
|
|
| 727 |
|
|
MYGCJH = gjavah
|
| 728 |
|
|
|
| 729 |
|
|
$(generic_header_files): gcjh.stamp
|
| 730 |
|
|
|
| 731 |
|
|
gcjh.stamp: classpath/lib/compile-classes
|
| 732 |
|
|
if JAVA_MAINTAINER_MODE
|
| 733 |
|
|
$(MYGCJH) --cni --all $(srcdir)/classpath/lib \
|
| 734 |
|
|
--cmdfile=$(srcdir)/headers.txt -d $(srcdir) --force
|
| 735 |
|
|
endif
|
| 736 |
|
|
echo > gcjh.stamp
|
| 737 |
|
|
|
| 738 |
|
|
nat_headers = $(ordinary_header_files) $(inner_nat_headers)
|
| 739 |
|
|
nat_headers_install = $(ordinary_header_files)
|
| 740 |
|
|
|
| 741 |
|
|
xlib_nat_headers = $(gnu_awt_xlib_header_files) $(gnu_gcj_xlib_header_files)
|
| 742 |
|
|
|
| 743 |
|
|
## Headers we maintain by hand and which we want to install.
|
| 744 |
|
|
extra_headers = java/lang/Object.h java/lang/Class.h
|
| 745 |
|
|
|
| 746 |
|
|
$(extra_headers) $(srcdir)/java/lang/Object.h $(srcdir)/java/lang/Class.h:
|
| 747 |
|
|
@:
|
| 748 |
|
|
|
| 749 |
|
|
install-exec-hook: install-binPROGRAMS install-toolexeclibLTLIBRARIES \
|
| 750 |
|
|
install-libexecsubPROGRAMS
|
| 751 |
|
|
## Support for libgcj_bc: dummy shared library used only at link-time.
|
| 752 |
|
|
if USE_LIBGCJ_BC
|
| 753 |
|
|
## Install libgcj_bc dummy lib in the target directory. We also need to delete
|
| 754 |
|
|
## libtool's .la file, this prevents libtool resetting the lib again
|
| 755 |
|
|
## later.
|
| 756 |
|
|
@echo Installing dummy lib libgcj_bc.so.1.0.0; \
|
| 757 |
|
|
rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \
|
| 758 |
|
|
mv $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so; \
|
| 759 |
|
|
$(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
|
| 760 |
|
|
-o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
|
| 761 |
|
|
rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
|
| 762 |
|
|
$(LN_S) libgcj_bc.so.1.0.0 $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
|
| 763 |
|
|
rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.la;
|
| 764 |
|
|
endif
|
| 765 |
|
|
if BUILD_ECJ1
|
| 766 |
|
|
## Undo any prepending of the target prefix and transform
|
| 767 |
|
|
## to the actual host's executable suffix.
|
| 768 |
|
|
mv $(DESTDIR)$(libexecsubdir)/`echo ecjx | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(libexecsubdir)/ecj1$(host_exeext)
|
| 769 |
|
|
endif BUILD_ECJ1
|
| 770 |
|
|
|
| 771 |
|
|
## Install the headers. It is fairly ugly that we have to do this by
|
| 772 |
|
|
## hand.
|
| 773 |
|
|
install_data_local_split = 50
|
| 774 |
|
|
install-data-local:
|
| 775 |
|
|
$(PRE_INSTALL)
|
| 776 |
|
|
## Install the .pc file.
|
| 777 |
|
|
@pc_version=`echo $(GCJVERSION) | sed -e 's/[.][^.]*$$//'`; \
|
| 778 |
|
|
file="libgcj-$${pc_version}.pc"; \
|
| 779 |
|
|
$(mkinstalldirs) $(DESTDIR)$(pkgconfigdir); \
|
| 780 |
|
|
echo " $(INSTALL_DATA) libgcj.pc $(DESTDIR)$(pkgconfigdir)/$$file"; \
|
| 781 |
|
|
$(INSTALL_DATA) libgcj.pc $(DESTDIR)$(pkgconfigdir)/$$file
|
| 782 |
|
|
## We use a GNU make trick here so that we don't go over the command
|
| 783 |
|
|
## length limit of some shells.
|
| 784 |
|
|
@echo Creating list of headers to install...
|
| 785 |
|
|
@: $(call write_entries_to_file,$(nat_headers_install) $(extra_headers),tmp-ilist)
|
| 786 |
|
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
| 787 |
|
|
while read file; do echo "$$file $$file"; done < tmp-ilist | \
|
| 788 |
|
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
| 789 |
|
|
$(AWK) 'BEGIN { files["."] = "" } \
|
| 790 |
|
|
{ files[$$2] = files[$$2] " " $$1; \
|
| 791 |
|
|
if (++n[$$2] == $(install_data_local_split)) { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
| 792 |
|
|
END { for (dir in files) print dir, files[dir] }' | \
|
| 793 |
|
|
while read dir files; do \
|
| 794 |
|
|
xfiles=; for file in $$files; do \
|
| 795 |
|
|
if test -f "$$file"; then xfiles="$$xfiles $$file"; \
|
| 796 |
|
|
else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
|
| 797 |
|
|
test -z "$$xfiles" || { \
|
| 798 |
|
|
test "x$$dir" = x. || { \
|
| 799 |
|
|
echo "$(mkinstalldirs) $(DESTDIR)$(gxx_include_dir)/$$dir"; \
|
| 800 |
|
|
$(mkinstalldirs) $(DESTDIR)$(gxx_include_dir)/$$dir; }; \
|
| 801 |
|
|
echo " $(INSTALL_DATA) $$xfiles $(DESTDIR)$(gxx_include_dir)/$$dir"; \
|
| 802 |
|
|
$(INSTALL_DATA) $$xfiles $(DESTDIR)$(gxx_include_dir)/$$dir; }; \
|
| 803 |
|
|
done
|
| 804 |
|
|
-@rm -f tmp-ilist
|
| 805 |
|
|
## Install inner class headers.
|
| 806 |
|
|
$(INSTALL_DATA) $(srcdir)/'java/io/ObjectOutputStream$$PutField.h' $(DESTDIR)$(gxx_include_dir)/java/io/
|
| 807 |
|
|
$(INSTALL_DATA) $(srcdir)/'java/io/ObjectInputStream$$GetField.h' $(DESTDIR)$(gxx_include_dir)/java/io/
|
| 808 |
|
|
$(INSTALL_DATA) $(srcdir)/'java/nio/channels/Pipe$$SinkChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/
|
| 809 |
|
|
$(INSTALL_DATA) $(srcdir)/'java/nio/channels/Pipe$$SourceChannel.h' $(DESTDIR)$(gxx_include_dir)/java/nio/channels/
|
| 810 |
|
|
$(INSTALL_DATA) $(srcdir)/'java/lang/reflect/Proxy$$ProxyData.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/
|
| 811 |
|
|
$(INSTALL_DATA) $(srcdir)/'java/lang/reflect/Proxy$$ProxyType.h' $(DESTDIR)$(gxx_include_dir)/java/lang/reflect/
|
| 812 |
|
|
$(INSTALL_DATA) $(srcdir)/'gnu/java/net/PlainSocketImpl$$SocketInputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/
|
| 813 |
|
|
$(INSTALL_DATA) $(srcdir)/'gnu/java/net/PlainSocketImpl$$SocketOutputStream.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/net/
|
| 814 |
|
|
$(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SinkChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/
|
| 815 |
|
|
$(INSTALL_DATA) $(srcdir)/'gnu/java/nio/PipeImpl$$SourceChannelImpl.h' $(DESTDIR)$(gxx_include_dir)/gnu/java/nio/
|
| 816 |
|
|
## Don't install java/nio/DirectByteBufferImpl$$ReadWrite.h here. It's for internal use only.
|
| 817 |
|
|
## Install Python modules for aot-compile.
|
| 818 |
|
|
$(mkinstalldirs) $(DESTDIR)$(python_mod_dir); \
|
| 819 |
|
|
$(INSTALL_DATA) $(srcdir)/contrib/classfile.py \
|
| 820 |
|
|
$(DESTDIR)$(python_mod_dir)/classfile.py; \
|
| 821 |
|
|
$(INSTALL_DATA) contrib/aotcompile.py \
|
| 822 |
|
|
$(DESTDIR)$(python_mod_dir)/aotcompile.py;
|
| 823 |
|
|
if CREATE_JAVA_HOME
|
| 824 |
|
|
## Create sdk style directories
|
| 825 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JRE_BIN_DIR)
|
| 826 |
|
|
$(mkinstalldirs) $(DESTDIR)$(SDK_BIN_DIR)
|
| 827 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)
|
| 828 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)
|
| 829 |
|
|
$(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR)
|
| 830 |
|
|
$(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR)/$(OS)
|
| 831 |
|
|
relative() { \
|
| 832 |
|
|
$(PERL) -e 'use File::Spec; \
|
| 833 |
|
|
print File::Spec->abs2rel($$ARGV[0], $$ARGV[1])' $$1 $$2; \
|
| 834 |
|
|
}; \
|
| 835 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(bindir) $(DESTDIR)$(SDK_BIN_DIR)); \
|
| 836 |
|
|
ln -sf $$RELATIVE/`echo gij | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 837 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/java; \
|
| 838 |
|
|
ln -sf $$RELATIVE/`echo gjar | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 839 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/jar; \
|
| 840 |
|
|
ln -sf $$RELATIVE/`echo gjdoc | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 841 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/javadoc; \
|
| 842 |
|
|
ln -sf $$RELATIVE/`echo grmic | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 843 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/rmic; \
|
| 844 |
|
|
ln -sf $$RELATIVE/`echo gjavah | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 845 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/javah; \
|
| 846 |
|
|
ln -sf $$RELATIVE/`echo gappletviewer | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 847 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/appletviewer; \
|
| 848 |
|
|
ln -sf $$RELATIVE/`echo gjarsigner | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 849 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/jarsigner; \
|
| 850 |
|
|
ln -sf $$RELATIVE/`echo grmiregistry | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 851 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/rmiregistry; \
|
| 852 |
|
|
ln -sf $$RELATIVE/`echo gkeytool | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 853 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/keytool; \
|
| 854 |
|
|
ln -sf $$RELATIVE/`echo gorbd | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 855 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/orbd; \
|
| 856 |
|
|
ln -sf $$RELATIVE/`echo gnative2ascii | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 857 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/native2ascii; \
|
| 858 |
|
|
ln -sf $$RELATIVE/`echo grmid | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 859 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/rmid; \
|
| 860 |
|
|
ln -sf $$RELATIVE/`echo gtnameserv | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 861 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/tnameserv; \
|
| 862 |
|
|
ln -sf $$RELATIVE/`echo gserialver | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 863 |
|
|
$(DESTDIR)$(SDK_BIN_DIR)/serialver; \
|
| 864 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(bindir) $(DESTDIR)$(JRE_BIN_DIR)); \
|
| 865 |
|
|
ln -sf $$RELATIVE/`echo grmiregistry | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 866 |
|
|
$(DESTDIR)$(JRE_BIN_DIR)/rmiregistry; \
|
| 867 |
|
|
ln -sf $$RELATIVE/`echo gkeytool | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 868 |
|
|
$(DESTDIR)$(JRE_BIN_DIR)/keytool; \
|
| 869 |
|
|
ln -sf $$RELATIVE/`echo gij | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 870 |
|
|
$(DESTDIR)$(JRE_BIN_DIR)/java; \
|
| 871 |
|
|
ln -sf $$RELATIVE/`echo gorbd | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 872 |
|
|
$(DESTDIR)$(JRE_BIN_DIR)/orbd; \
|
| 873 |
|
|
ln -sf $$RELATIVE/`echo grmid | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 874 |
|
|
$(DESTDIR)$(JRE_BIN_DIR)/rmid; \
|
| 875 |
|
|
ln -sf $$RELATIVE/`echo gtnameserv | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 876 |
|
|
$(DESTDIR)$(JRE_BIN_DIR)/tnameserv; \
|
| 877 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JVM_JAR_DIR); \
|
| 878 |
|
|
version=$(JAVA_VERSION).$(BUILD_VERSION); \
|
| 879 |
|
|
working_dir=`pwd`; \
|
| 880 |
|
|
cd $(DESTDIR)$(JVM_JAR_DIR); \
|
| 881 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(JRE_LIB_DIR) \
|
| 882 |
|
|
$(DESTDIR)$(JVM_JAR_DIR)); \
|
| 883 |
|
|
for jarname in jaas jce jdbc-stdext jndi jndi-cos jndi-dns \
|
| 884 |
|
|
jndi-ldap jndi-rmi jsse sasl; \
|
| 885 |
|
|
do \
|
| 886 |
|
|
ln -sf $$RELATIVE/rt.jar $$jarname-$$version.jar; \
|
| 887 |
|
|
done; \
|
| 888 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(jardir) \
|
| 889 |
|
|
$(DESTDIR)$(JVM_JAR_DIR)); \
|
| 890 |
|
|
for jar in *-$$version.jar; \
|
| 891 |
|
|
do \
|
| 892 |
|
|
ln -sf $$jar $$(echo $$jar | sed "s|-$$version.jar|-$(JAVA_VERSION).jar|g"); \
|
| 893 |
|
|
ln -sf $$jar $$(echo $$jar | sed "s|-$$version.jar|.jar|g"); \
|
| 894 |
|
|
done; \
|
| 895 |
|
|
cd $$working_dir; \
|
| 896 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/security; \
|
| 897 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(toolexeclibdir)/security \
|
| 898 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/security); \
|
| 899 |
|
|
cd $(DESTDIR)$(JRE_LIB_DIR)/security; \
|
| 900 |
|
|
ln -sf $$RELATIVE/classpath.security java.security; \
|
| 901 |
|
|
cd $$working_dir; \
|
| 902 |
|
|
$(mkinstalldirs) $(DESTDIR)$(SDK_INCLUDE_DIR)/linux; \
|
| 903 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/client; \
|
| 904 |
|
|
$(mkinstalldirs) $(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/server; \
|
| 905 |
|
|
$(mkinstalldirs) $(DESTDIR)$(SDK_LIB_DIR); \
|
| 906 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(datadir)/java \
|
| 907 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)); \
|
| 908 |
|
|
ln -sf $$RELATIVE/libgcj-$(gcc_version).jar \
|
| 909 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/rt.jar; \
|
| 910 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(dbexecdir) \
|
| 911 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/$(CPU)); \
|
| 912 |
|
|
ln -sf $$RELATIVE/libjawt.so \
|
| 913 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/libjawt.so; \
|
| 914 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(dbexecdir) \
|
| 915 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/client); \
|
| 916 |
|
|
ln -sf $$RELATIVE/libjvm.so \
|
| 917 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/client/libjvm.so; \
|
| 918 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(dbexecdir) \
|
| 919 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/server); \
|
| 920 |
|
|
ln -sf $$RELATIVE/libjvm.so \
|
| 921 |
|
|
$(DESTDIR)$(JRE_LIB_DIR)/$(CPU)/server/libjvm.so; \
|
| 922 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(datadir)/java \
|
| 923 |
|
|
$(DESTDIR)$(SDK_LIB_DIR)); \
|
| 924 |
|
|
ln -sf $$RELATIVE/libgcj-tools-$(gcc_version).jar \
|
| 925 |
|
|
$(DESTDIR)$(SDK_LIB_DIR)/tools.jar; \
|
| 926 |
|
|
for headername in jawt jni; do \
|
| 927 |
|
|
DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 928 |
|
|
-print-file-name=include/$$headername.h)); \
|
| 929 |
|
|
RELATIVE=$$(relative $$DIRECTORY \
|
| 930 |
|
|
$(DESTDIR)$(SDK_INCLUDE_DIR)); \
|
| 931 |
|
|
ln -sf $$RELATIVE/$$headername.h \
|
| 932 |
|
|
$(DESTDIR)$(SDK_INCLUDE_DIR)/$$headername.h; \
|
| 933 |
|
|
done; \
|
| 934 |
|
|
for headername in jawt_md jni_md; do \
|
| 935 |
|
|
DIRECTORY=$$(dirname $$($(DESTDIR)$(bindir)/`echo gcj | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` \
|
| 936 |
|
|
-print-file-name=include/$$headername.h)); \
|
| 937 |
|
|
RELATIVE=$$(relative $$DIRECTORY \
|
| 938 |
|
|
$(DESTDIR)$(SDK_INCLUDE_DIR)/linux); \
|
| 939 |
|
|
ln -sf $$RELATIVE/$$headername.h \
|
| 940 |
|
|
$(DESTDIR)$(SDK_INCLUDE_DIR)/linux/$$headername.h; \
|
| 941 |
|
|
done; \
|
| 942 |
|
|
RELATIVE=$$(relative $(DESTDIR)$(datadir)/java \
|
| 943 |
|
|
$(DESTDIR)$(JVM_ROOT_DIR)/$(SDK_DIR));
|
| 944 |
|
|
endif
|
| 945 |
|
|
|
| 946 |
|
|
## ################################################################
|
| 947 |
|
|
|
| 948 |
|
|
##
|
| 949 |
|
|
## Additional `check' targets for maintainer convenience.
|
| 950 |
|
|
##
|
| 951 |
|
|
|
| 952 |
|
|
## This is used for maintainer-check. FIXME: should set from
|
| 953 |
|
|
## configure using AC_CHECK_TOOL.
|
| 954 |
|
|
NM = nm
|
| 955 |
|
|
|
| 956 |
|
|
## Try to make sure our library doesn't stomp the namespace.
|
| 957 |
|
|
maintainer-check: libgcj.la
|
| 958 |
|
|
$(NM) .libs/libgcj.a | grep ' T ' \
|
| 959 |
|
|
## Anything with `4java' is assumed to be from .java source.
|
| 960 |
|
|
| grep -v '4java' \
|
| 961 |
|
|
## Anything with Jv is ok.
|
| 962 |
|
|
| grep -v 'Jv' \
|
| 963 |
|
|
## `terminate' and `unexpected' are part of the runtime.
|
| 964 |
|
|
| grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
|
| 965 |
|
|
|
| 966 |
|
|
## This rule can be used to see if the headers are more or less
|
| 967 |
|
|
## correct.
|
| 968 |
|
|
header-check: libgcj-$(gcc_version).jar $(nat_headers)
|
| 969 |
|
|
rm -f htest.cc; \
|
| 970 |
|
|
for h in $(nat_headers); do \
|
| 971 |
|
|
echo "#include \"$$h\"" >> htest.cc; \
|
| 972 |
|
|
done; \
|
| 973 |
|
|
$(CXXCOMPILE) -fsyntax-only htest.cc
|
| 974 |
|
|
|
| 975 |
|
|
## This rule can be used to see if all the .class files verify
|
| 976 |
|
|
## correctly.
|
| 977 |
|
|
class-check: libgcj-$(gcc_version).jar
|
| 978 |
|
|
@ok=0; find . -name '*.class' -print | fgrep -v testsuite | \
|
| 979 |
|
|
while read f; do \
|
| 980 |
|
|
echo "$(GCJ_WITH_FLAGS) --syntax-only $$f"; \
|
| 981 |
|
|
if $(GCJ_WITH_FLAGS) --syntax-only $$f; then \
|
| 982 |
|
|
:; else ok=1; fi; \
|
| 983 |
|
|
done; exit $$ok
|
| 984 |
|
|
|
| 985 |
|
|
## This rule checks whether write_entries_to_file works properly.
|
| 986 |
|
|
write-entries-to-file-check:
|
| 987 |
|
|
@echo Creating list of files to link...
|
| 988 |
|
|
@: $(call write_entries_to_file,$(libgcj_la_OBJECTS) $(libgcj_la_LIBADD),libgcj.objectlist)
|
| 989 |
|
|
|
| 990 |
|
|
## ################################################################
|
| 991 |
|
|
|
| 992 |
|
|
##
|
| 993 |
|
|
## The `jv-convert' program and code to rebuild the converter header
|
| 994 |
|
|
## files.
|
| 995 |
|
|
##
|
| 996 |
|
|
|
| 997 |
|
|
## it only makes sense to try to rebuild the JIS .h files on native
|
| 998 |
|
|
## systems.
|
| 999 |
|
|
if NATIVE
|
| 1000 |
|
|
if MAINTAINER_MODE
|
| 1001 |
|
|
noinst_PROGRAMS += gen-from-JIS
|
| 1002 |
|
|
|
| 1003 |
|
|
gen_from_JIS_SOURCES = \
|
| 1004 |
|
|
gnu/gcj/convert/gen-from-JIS.c \
|
| 1005 |
|
|
gnu/gcj/convert/make-trie.c \
|
| 1006 |
|
|
gnu/gcj/convert/make-trie.h
|
| 1007 |
|
|
|
| 1008 |
|
|
gen_from_JIS_DEPENDENCIES = \
|
| 1009 |
|
|
gnu/gcj/convert/JIS0201.h \
|
| 1010 |
|
|
gnu/gcj/convert/JIS0208.h \
|
| 1011 |
|
|
gnu/gcj/convert/JIS0212.h
|
| 1012 |
|
|
|
| 1013 |
|
|
$(srcdir)/gnu/gcj/convert/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
|
| 1014 |
|
|
./gen-from-JIS JIS0208 >$(srcdir)/gnu/gcj/convert/JIS0208_to_Unicode.cc
|
| 1015 |
|
|
|
| 1016 |
|
|
$(srcdir)/gnu/gcj/convert/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
|
| 1017 |
|
|
./gen-from-JIS JIS0212 >$(srcdir)/gnu/gcj/convert/JIS0212_to_Unicode.cc
|
| 1018 |
|
|
|
| 1019 |
|
|
$(srcdir)/gnu/gcj/convert/Unicode_to_JIS.cc: ./gen-from-JIS$(EXEEXT)
|
| 1020 |
|
|
./gen-from-JIS toJIS >$(srcdir)/gnu/gcj/convert/Unicode_to_JIS.cc
|
| 1021 |
|
|
|
| 1022 |
|
|
# The Unicode consortium does not permit re-distributing the file JIS0201.TXT.
|
| 1023 |
|
|
# You can get it from
|
| 1024 |
|
|
# ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/
|
| 1025 |
|
|
|
| 1026 |
|
|
$(srcdir)/gnu/gcj/convert/JIS0201.h: # gnu/gcj/convert/JIS0201.TXT
|
| 1027 |
|
|
echo '/* This file is automatically generated from Unicode tables */' > tmp-0201; \
|
| 1028 |
|
|
tr -d '\r' <$(srcdir)/gnu/gcj/convert/JIS0201.TXT \
|
| 1029 |
|
|
| sed -n -e 's|\(0x..\).*\(0x....\).*#\(.*\)$$|MAP(0x00, \1, \2) /*\3 */|p' \
|
| 1030 |
|
|
>> tmp-0201; \
|
| 1031 |
|
|
mv tmp-0201 $(srcdir)/gnu/gcj/convert/JIS0201.h
|
| 1032 |
|
|
|
| 1033 |
|
|
# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
|
| 1034 |
|
|
# You can get it from
|
| 1035 |
|
|
# ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/
|
| 1036 |
|
|
|
| 1037 |
|
|
$(srcdir)/gnu/gcj/convert/JIS0208.h: # gnu/gcj/convert/JIS0208.TXT
|
| 1038 |
|
|
echo '/* This file is automatically generated from Unicode tables */' > tmp-0208; \
|
| 1039 |
|
|
tr -d '\r' <$(srcdir)/gnu/gcj/convert/JIS0208.TXT \
|
| 1040 |
|
|
| sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\2, 0x\3, \4) /*\5 */|p' \
|
| 1041 |
|
|
>> tmp-0208; \
|
| 1042 |
|
|
mv tmp-0208 $(srcdir)/gnu/gcj/convert/JIS0208.h
|
| 1043 |
|
|
|
| 1044 |
|
|
# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
|
| 1045 |
|
|
# You can get it from
|
| 1046 |
|
|
# ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/
|
| 1047 |
|
|
|
| 1048 |
|
|
$(srcdir)/gnu/gcj/convert/JIS0212.h: # gnu/gcj/convert/JIS0212.TXT
|
| 1049 |
|
|
echo '/* This file is automatically generated from Unicode tables */' > tmp-0212; \
|
| 1050 |
|
|
tr -d '\r' <$(srcdir)/gnu/gcj/convert/JIS0212.TXT \
|
| 1051 |
|
|
| sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
|
| 1052 |
|
|
>> tmp-0212; \
|
| 1053 |
|
|
mv tmp-0212 $(srcdir)/gnu/gcj/convert/JIS0212.h
|
| 1054 |
|
|
|
| 1055 |
|
|
endif
|
| 1056 |
|
|
endif
|
| 1057 |
|
|
|
| 1058 |
|
|
|
| 1059 |
|
|
jv_convert_SOURCES =
|
| 1060 |
|
|
## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We
|
| 1061 |
|
|
## need this because we are explicitly using libtool to link using the
|
| 1062 |
|
|
## `.la' file.
|
| 1063 |
|
|
jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert \
|
| 1064 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1065 |
|
|
jv_convert_LINK = $(GCJLINK) $(jv_convert_LDFLAGS)
|
| 1066 |
|
|
## We don't explicitly link in the libraries we need; libgcj.la brings
|
| 1067 |
|
|
## in all dependencies. We need the -L so that gcj can find libgcj
|
| 1068 |
|
|
## with `-lgcj', but it must come first, otherwise the -L flags
|
| 1069 |
|
|
## brought in from libgcj.la would cause the install directories to be
|
| 1070 |
|
|
## searched before the build-tree ones, and we'd get errors because of
|
| 1071 |
|
|
## different libraries with the same SONAME from picky linkers such as
|
| 1072 |
|
|
## Solaris'. FIXME: should be _libs on some systems.
|
| 1073 |
|
|
jv_convert_LDADD = -L$(here)/.libs libgcj.la
|
| 1074 |
|
|
## Depend on the spec file to make sure it is up to date before
|
| 1075 |
|
|
## linking this program.
|
| 1076 |
|
|
jv_convert_DEPENDENCIES = libgcj.la libgcj.spec
|
| 1077 |
|
|
if BUILD_SUBLIBS
|
| 1078 |
|
|
jv_convert_DEPENDENCIES += libgcj-noncore.la
|
| 1079 |
|
|
endif
|
| 1080 |
|
|
|
| 1081 |
|
|
gcj_dbtool_SOURCES = \
|
| 1082 |
|
|
gnu/gcj/tools/gcj_dbtool/natMain.cc
|
| 1083 |
|
|
|
| 1084 |
|
|
## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We
|
| 1085 |
|
|
## need this because we are explicitly using libtool to link using the
|
| 1086 |
|
|
## `.la' file.
|
| 1087 |
|
|
gcj_dbtool_LDFLAGS = --main=gnu.gcj.tools.gcj_dbtool.Main \
|
| 1088 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1089 |
|
|
gcj_dbtool_LINK = $(GCJLINK) $(gcj_dbtool_LDFLAGS)
|
| 1090 |
|
|
## We don't explicitly link in the libraries we need; libgcj.la brings
|
| 1091 |
|
|
## in all dependencies. We need the -L so that gcj can find libgcj
|
| 1092 |
|
|
## with `-lgcj', but it must come first, otherwise the -L flags
|
| 1093 |
|
|
## brought in from libgcj.la would cause the install directories to be
|
| 1094 |
|
|
## searched before the build-tree ones, and we'd get errors because of
|
| 1095 |
|
|
## different libraries with the same SONAME from picky linkers such as
|
| 1096 |
|
|
## Solaris'. FIXME: should be _libs on some systems.
|
| 1097 |
|
|
gcj_dbtool_LDADD = gnu/gcj/tools/gcj_dbtool.lo -L$(here)/.libs libgcj.la
|
| 1098 |
|
|
## Depend on the spec file to make sure it is up to date before
|
| 1099 |
|
|
## linking this program.
|
| 1100 |
|
|
gcj_dbtool_DEPENDENCIES = gnu/gcj/tools/gcj_dbtool.lo libgcj.la libgcj.spec
|
| 1101 |
|
|
if BUILD_SUBLIBS
|
| 1102 |
|
|
gcj_dbtool_DEPENDENCIES += libgcj-noncore.la
|
| 1103 |
|
|
endif
|
| 1104 |
|
|
|
| 1105 |
|
|
gc_analyze_SOURCES =
|
| 1106 |
|
|
|
| 1107 |
|
|
## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We
|
| 1108 |
|
|
## need this because we are explicitly using libtool to link using the
|
| 1109 |
|
|
## `.la' file.
|
| 1110 |
|
|
gc_analyze_LDFLAGS = --main=gnu.gcj.tools.gc_analyze.MemoryAnalyze \
|
| 1111 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1112 |
|
|
gc_analyze_LINK = $(GCJLINK) $(gc_analyze_LDFLAGS)
|
| 1113 |
|
|
## See jv_convert_LDADD.
|
| 1114 |
|
|
gc_analyze_LDADD = -L$(here)/.libs libgcj-tools.la libgcj.la
|
| 1115 |
|
|
## Depend on the spec file to make sure it is up to date before
|
| 1116 |
|
|
## linking this program.
|
| 1117 |
|
|
gc_analyze_DEPENDENCIES = libgcj-tools.la libgcj.la libgcj.spec
|
| 1118 |
|
|
if BUILD_SUBLIBS
|
| 1119 |
|
|
gc_analyze_DEPENDENCIES += libgcj-noncore.la
|
| 1120 |
|
|
endif
|
| 1121 |
|
|
|
| 1122 |
|
|
gij_SOURCES =
|
| 1123 |
|
|
## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We
|
| 1124 |
|
|
## need this because we are explicitly using libtool to link using the
|
| 1125 |
|
|
## `.la' file.
|
| 1126 |
|
|
gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \
|
| 1127 |
|
|
-shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1128 |
|
|
gij_LINK = $(GCJLINK) $(gij_LDFLAGS)
|
| 1129 |
|
|
## See jv_convert_LDADD.
|
| 1130 |
|
|
gij_LDADD = -L$(here)/.libs libgij.la
|
| 1131 |
|
|
## Depend on the spec file to make sure it is up to date before
|
| 1132 |
|
|
## linking this program.
|
| 1133 |
|
|
gij_DEPENDENCIES = libgij.la
|
| 1134 |
|
|
|
| 1135 |
|
|
## Build an ecjx from a .jar.
|
| 1136 |
|
|
ecjx_SOURCES = ecjx.cc
|
| 1137 |
|
|
## We use the BC ABI here so that we don't need to compile ecj.jar.
|
| 1138 |
|
|
## Hopefully the user has compiled it into his system .db.
|
| 1139 |
|
|
## However, even if not it will run reasonably quickly.
|
| 1140 |
|
|
|
| 1141 |
|
|
ECJX_BASE_FLAGS = -findirect-dispatch \
|
| 1142 |
|
|
--main=org.eclipse.jdt.internal.compiler.batch.GCCMain
|
| 1143 |
|
|
|
| 1144 |
|
|
if NATIVE
|
| 1145 |
|
|
|
| 1146 |
|
|
ecjx_LINK = $(GCJLINK) $(ecjx_LDFLAGS)
|
| 1147 |
|
|
|
| 1148 |
|
|
if ENABLE_SHARED
|
| 1149 |
|
|
## Use ecj.jar at runtime.
|
| 1150 |
|
|
ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR)
|
| 1151 |
|
|
else !ENABLE_SHARED
|
| 1152 |
|
|
## Use ecj.jar at compile time.
|
| 1153 |
|
|
ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -fbootclasspath=$(BOOTCLASSPATH)
|
| 1154 |
|
|
endif !ENABLE_SHARED
|
| 1155 |
|
|
|
| 1156 |
|
|
ecjx_LDADD = -L$(here)/.libs $(extra_ldflags)
|
| 1157 |
|
|
ecjx_DEPENDENCIES = libgcj.la libgcj.spec
|
| 1158 |
|
|
if BUILD_SUBLIBS
|
| 1159 |
|
|
ecjx_DEPENDENCIES += libgcj-noncore.la
|
| 1160 |
|
|
endif
|
| 1161 |
|
|
if USE_LIBGCJ_BC
|
| 1162 |
|
|
ecjx_DEPENDENCIES += libgcj_bc.la
|
| 1163 |
|
|
else
|
| 1164 |
|
|
ecjx_LDADD += libgcj.la
|
| 1165 |
|
|
endif
|
| 1166 |
|
|
|
| 1167 |
|
|
else !NATIVE
|
| 1168 |
|
|
|
| 1169 |
|
|
ecjx_LINK = $(GCJ_FOR_ECJX_LINK) $(ecjx_LDFLAGS)
|
| 1170 |
|
|
ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
|
| 1171 |
|
|
ecjx_LDADD =
|
| 1172 |
|
|
ecjx_DEPENDENCIES =
|
| 1173 |
|
|
ecjx.$(OBJEXT): ecjx.cc
|
| 1174 |
|
|
$(GCC_FOR_ECJX) -c $<
|
| 1175 |
|
|
|
| 1176 |
|
|
endif !NATIVE
|
| 1177 |
|
|
|
| 1178 |
|
|
## This is a dummy definition.
|
| 1179 |
|
|
gappletviewer_SOURCES =
|
| 1180 |
|
|
gappletviewer_LDFLAGS = --main=gnu.classpath.tools.appletviewer.Main \
|
| 1181 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1182 |
|
|
gappletviewer_LINK = $(GCJLINK) $(gappletviewer_LDFLAGS)
|
| 1183 |
|
|
## See jv_convert_LDADD.
|
| 1184 |
|
|
gappletviewer_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1185 |
|
|
gappletviewer_DEPENDENCIES = libgcj-tools.la
|
| 1186 |
|
|
|
| 1187 |
|
|
## This is a dummy definition.
|
| 1188 |
|
|
gjarsigner_SOURCES =
|
| 1189 |
|
|
gjarsigner_LDFLAGS = --main=gnu.classpath.tools.jarsigner.Main \
|
| 1190 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1191 |
|
|
gjarsigner_LINK = $(GCJLINK) $(gjarsigner_LDFLAGS)
|
| 1192 |
|
|
## See jv_convert_LDADD.
|
| 1193 |
|
|
gjarsigner_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1194 |
|
|
gjarsigner_DEPENDENCIES = libgcj-tools.la
|
| 1195 |
|
|
|
| 1196 |
|
|
## This is a dummy definition.
|
| 1197 |
|
|
gkeytool_SOURCES =
|
| 1198 |
|
|
gkeytool_LDFLAGS = --main=gnu.classpath.tools.keytool.Main \
|
| 1199 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1200 |
|
|
gkeytool_LINK = $(GCJLINK) $(gkeytool_LDFLAGS)
|
| 1201 |
|
|
## See jv_convert_LDADD.
|
| 1202 |
|
|
gkeytool_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1203 |
|
|
gkeytool_DEPENDENCIES = libgcj-tools.la
|
| 1204 |
|
|
|
| 1205 |
|
|
## This is a dummy definition.
|
| 1206 |
|
|
gjar_SOURCES =
|
| 1207 |
|
|
gjar_LDFLAGS = --main=gnu.classpath.tools.jar.Main \
|
| 1208 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1209 |
|
|
gjar_LINK = $(GCJLINK) $(gjar_LDFLAGS)
|
| 1210 |
|
|
## See jv_convert_LDADD.
|
| 1211 |
|
|
gjar_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1212 |
|
|
gjar_DEPENDENCIES = libgcj-tools.la
|
| 1213 |
|
|
|
| 1214 |
|
|
## This is a dummy definition.
|
| 1215 |
|
|
gjavah_SOURCES =
|
| 1216 |
|
|
gjavah_LDFLAGS = --main=gnu.classpath.tools.javah.Main \
|
| 1217 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1218 |
|
|
gjavah_LINK = $(GCJLINK) $(gjavah_LDFLAGS)
|
| 1219 |
|
|
## See jv_convert_LDADD.
|
| 1220 |
|
|
gjavah_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1221 |
|
|
gjavah_DEPENDENCIES = libgcj-tools.la
|
| 1222 |
|
|
|
| 1223 |
|
|
## This is a dummy definition.
|
| 1224 |
|
|
gcjh_SOURCES =
|
| 1225 |
|
|
gcjh_LDFLAGS = --main=gnu.classpath.tools.javah.GcjhMain \
|
| 1226 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1227 |
|
|
gcjh_LINK = $(GCJLINK) $(gcjh_LDFLAGS)
|
| 1228 |
|
|
## See jv_convert_LDADD.
|
| 1229 |
|
|
gcjh_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1230 |
|
|
gcjh_DEPENDENCIES = libgcj-tools.la
|
| 1231 |
|
|
|
| 1232 |
|
|
## This is a dummy definition.
|
| 1233 |
|
|
gnative2ascii_SOURCES =
|
| 1234 |
|
|
gnative2ascii_LDFLAGS = --main=gnu.classpath.tools.native2ascii.Native2ASCII \
|
| 1235 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1236 |
|
|
gnative2ascii_LINK = $(GCJLINK) $(gnative2ascii_LDFLAGS)
|
| 1237 |
|
|
## See jv_convert_LDADD.
|
| 1238 |
|
|
gnative2ascii_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1239 |
|
|
gnative2ascii_DEPENDENCIES = libgcj-tools.la
|
| 1240 |
|
|
|
| 1241 |
|
|
## This is a dummy definition.
|
| 1242 |
|
|
gorbd_SOURCES =
|
| 1243 |
|
|
gorbd_LDFLAGS = --main=gnu.classpath.tools.orbd.Main \
|
| 1244 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1245 |
|
|
gorbd_LINK = $(GCJLINK) $(gorbd_LDFLAGS)
|
| 1246 |
|
|
## See jv_convert_LDADD.
|
| 1247 |
|
|
gorbd_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1248 |
|
|
gorbd_DEPENDENCIES = libgcj-tools.la
|
| 1249 |
|
|
|
| 1250 |
|
|
## This is a dummy definition.
|
| 1251 |
|
|
grmid_SOURCES =
|
| 1252 |
|
|
grmid_LDFLAGS = --main=gnu.classpath.tools.rmid.Main \
|
| 1253 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1254 |
|
|
grmid_LINK = $(GCJLINK) $(grmid_LDFLAGS)
|
| 1255 |
|
|
## See jv_convert_LDADD.
|
| 1256 |
|
|
grmid_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1257 |
|
|
grmid_DEPENDENCIES = libgcj-tools.la
|
| 1258 |
|
|
|
| 1259 |
|
|
## This is a dummy definition.
|
| 1260 |
|
|
gserialver_SOURCES =
|
| 1261 |
|
|
gserialver_LDFLAGS = --main=gnu.classpath.tools.serialver.SerialVer \
|
| 1262 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1263 |
|
|
gserialver_LINK = $(GCJLINK) $(gserialver_LDFLAGS)
|
| 1264 |
|
|
## See jv_convert_LDADD.
|
| 1265 |
|
|
gserialver_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1266 |
|
|
gserialver_DEPENDENCIES = libgcj-tools.la
|
| 1267 |
|
|
|
| 1268 |
|
|
## This is a dummy definition.
|
| 1269 |
|
|
gtnameserv_SOURCES =
|
| 1270 |
|
|
gtnameserv_LDFLAGS = --main=gnu.classpath.tools.tnameserv.Main \
|
| 1271 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1272 |
|
|
gtnameserv_LINK = $(GCJLINK) $(gtnameserv_LDFLAGS)
|
| 1273 |
|
|
## See jv_convert_LDADD.
|
| 1274 |
|
|
gtnameserv_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1275 |
|
|
gtnameserv_DEPENDENCIES = libgcj-tools.la
|
| 1276 |
|
|
|
| 1277 |
|
|
## This is a dummy definition.
|
| 1278 |
|
|
grmic_SOURCES =
|
| 1279 |
|
|
grmic_LDFLAGS = --main=gnu.classpath.tools.rmic.Main \
|
| 1280 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1281 |
|
|
grmic_LINK = $(GCJLINK) $(grmic_LDFLAGS)
|
| 1282 |
|
|
## See jv_convert_LDADD.
|
| 1283 |
|
|
grmic_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1284 |
|
|
grmic_DEPENDENCIES = libgcj-tools.la
|
| 1285 |
|
|
|
| 1286 |
|
|
## This is a dummy definition.
|
| 1287 |
|
|
grmiregistry_SOURCES =
|
| 1288 |
|
|
grmiregistry_LDFLAGS = --main=gnu.classpath.tools.rmiregistry.Main \
|
| 1289 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1290 |
|
|
grmiregistry_LINK = $(GCJLINK) $(grmiregistry_LDFLAGS)
|
| 1291 |
|
|
## See jv_convert_LDADD.
|
| 1292 |
|
|
grmiregistry_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1293 |
|
|
grmiregistry_DEPENDENCIES = libgcj-tools.la
|
| 1294 |
|
|
|
| 1295 |
|
|
## This is a dummy definition.
|
| 1296 |
|
|
gjdoc_SOURCES =
|
| 1297 |
|
|
gjdoc_LDFLAGS = --main=gnu.classpath.tools.gjdoc.Main \
|
| 1298 |
|
|
-Djava.class.path=$(ANTLR_JAR) \
|
| 1299 |
|
|
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags)
|
| 1300 |
|
|
gjdoc_LINK = $(GCJLINK) $(gjdoc_LDFLAGS)
|
| 1301 |
|
|
## See jv_convert_LDADD.
|
| 1302 |
|
|
gjdoc_LDADD = -L$(here)/.libs libgcj-tools.la
|
| 1303 |
|
|
gjdoc_DEPENDENCIES = libgcj-tools.la
|
| 1304 |
|
|
|
| 1305 |
|
|
## ################################################################
|
| 1306 |
|
|
if INTERPRETER
|
| 1307 |
|
|
nat_jdwp_source_files = \
|
| 1308 |
|
|
gnu/classpath/jdwp/natVMFrame.cc \
|
| 1309 |
|
|
gnu/classpath/jdwp/natVMMethod.cc \
|
| 1310 |
|
|
gnu/classpath/jdwp/natVMVirtualMachine.cc
|
| 1311 |
|
|
|
| 1312 |
|
|
nat_jvmti_source_files = \
|
| 1313 |
|
|
gnu/gcj/jvmti/natBreakpoint.cc \
|
| 1314 |
|
|
gnu/gcj/jvmti/natNormalBreakpoint.cc
|
| 1315 |
|
|
else
|
| 1316 |
|
|
nat_jdwp_source_files =
|
| 1317 |
|
|
nat_jvmti_source_files =
|
| 1318 |
|
|
endif
|
| 1319 |
|
|
## This lists all the C++ source files in subdirectories.
|
| 1320 |
|
|
nat_source_files = \
|
| 1321 |
|
|
$(nat_jdwp_source_files) \
|
| 1322 |
|
|
gnu/classpath/natConfiguration.cc \
|
| 1323 |
|
|
gnu/classpath/natSystemProperties.cc \
|
| 1324 |
|
|
gnu/classpath/natVMStackWalker.cc \
|
| 1325 |
|
|
gnu/gcj/natCore.cc \
|
| 1326 |
|
|
gnu/gcj/convert/JIS0208_to_Unicode.cc \
|
| 1327 |
|
|
gnu/gcj/convert/JIS0212_to_Unicode.cc \
|
| 1328 |
|
|
gnu/gcj/convert/Unicode_to_JIS.cc \
|
| 1329 |
|
|
gnu/gcj/convert/natIconv.cc \
|
| 1330 |
|
|
gnu/gcj/convert/natInput_EUCJIS.cc \
|
| 1331 |
|
|
gnu/gcj/convert/natInput_SJIS.cc \
|
| 1332 |
|
|
gnu/gcj/convert/natOutput_EUCJIS.cc \
|
| 1333 |
|
|
gnu/gcj/convert/natOutput_SJIS.cc \
|
| 1334 |
|
|
gnu/gcj/io/natSimpleSHSStream.cc \
|
| 1335 |
|
|
gnu/gcj/io/shs.cc \
|
| 1336 |
|
|
$(nat_jvmti_source_files) \
|
| 1337 |
|
|
gnu/gcj/runtime/natFinalizerThread.cc \
|
| 1338 |
|
|
gnu/gcj/runtime/natSharedLibLoader.cc \
|
| 1339 |
|
|
gnu/gcj/runtime/natSystemClassLoader.cc \
|
| 1340 |
|
|
gnu/gcj/runtime/natStringBuffer.cc \
|
| 1341 |
|
|
gnu/gcj/util/natDebug.cc \
|
| 1342 |
|
|
gnu/gcj/util/natGCInfo.cc \
|
| 1343 |
|
|
gnu/java/lang/natMainThread.cc \
|
| 1344 |
|
|
gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc \
|
| 1345 |
|
|
gnu/java/lang/management/natVMCompilationMXBeanImpl.cc \
|
| 1346 |
|
|
gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \
|
| 1347 |
|
|
gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \
|
| 1348 |
|
|
gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \
|
| 1349 |
|
|
gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \
|
| 1350 |
|
|
gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \
|
| 1351 |
|
|
gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \
|
| 1352 |
|
|
gnu/java/lang/management/natVMThreadMXBeanImpl.cc \
|
| 1353 |
|
|
gnu/java/net/natPlainDatagramSocketImpl.cc \
|
| 1354 |
|
|
gnu/java/net/natPlainSocketImpl.cc \
|
| 1355 |
|
|
gnu/java/net/protocol/core/natCoreInputStream.cc \
|
| 1356 |
|
|
gnu/java/nio/natVMPipe.cc \
|
| 1357 |
|
|
gnu/java/nio/natVMSelector.cc \
|
| 1358 |
|
|
gnu/java/nio/natNIOServerSocket.cc \
|
| 1359 |
|
|
gnu/java/nio/natVMChannel.cc \
|
| 1360 |
|
|
gnu/java/nio/channels/natFileChannelImpl.cc \
|
| 1361 |
|
|
gnu/java/security/jce/prng/natVMSecureRandom.cc \
|
| 1362 |
|
|
java/io/natFile.cc \
|
| 1363 |
|
|
java/io/natVMObjectInputStream.cc \
|
| 1364 |
|
|
java/io/natVMObjectStreamClass.cc \
|
| 1365 |
|
|
java/lang/natCharacter.cc \
|
| 1366 |
|
|
java/lang/natClass.cc \
|
| 1367 |
|
|
java/lang/natClassLoader.cc \
|
| 1368 |
|
|
java/lang/natConcreteProcess.cc \
|
| 1369 |
|
|
java/lang/natVMDouble.cc \
|
| 1370 |
|
|
java/lang/natVMFloat.cc \
|
| 1371 |
|
|
java/lang/natMath.cc \
|
| 1372 |
|
|
java/lang/natObject.cc \
|
| 1373 |
|
|
java/lang/natRuntime.cc \
|
| 1374 |
|
|
java/lang/natString.cc \
|
| 1375 |
|
|
java/lang/natAbstractStringBuffer.cc \
|
| 1376 |
|
|
java/lang/natSystem.cc \
|
| 1377 |
|
|
java/lang/natThread.cc \
|
| 1378 |
|
|
java/lang/natThreadLocal.cc \
|
| 1379 |
|
|
java/lang/natVMClassLoader.cc \
|
| 1380 |
|
|
java/lang/natVMProcess.cc \
|
| 1381 |
|
|
java/lang/natVMThrowable.cc \
|
| 1382 |
|
|
java/lang/ref/natReference.cc \
|
| 1383 |
|
|
java/lang/reflect/natArray.cc \
|
| 1384 |
|
|
java/lang/reflect/natConstructor.cc \
|
| 1385 |
|
|
java/lang/reflect/natField.cc \
|
| 1386 |
|
|
java/lang/reflect/natMethod.cc \
|
| 1387 |
|
|
java/lang/reflect/natVMProxy.cc \
|
| 1388 |
|
|
java/net/natVMInetAddress.cc \
|
| 1389 |
|
|
java/net/natVMNetworkInterface.cc \
|
| 1390 |
|
|
java/net/natVMURLConnection.cc \
|
| 1391 |
|
|
java/nio/channels/natVMChannels.cc \
|
| 1392 |
|
|
java/nio/natVMDirectByteBufferImpl.cc \
|
| 1393 |
|
|
java/security/natVMAccessController.cc \
|
| 1394 |
|
|
java/security/natVMAccessControlState.cc \
|
| 1395 |
|
|
java/text/natCollator.cc \
|
| 1396 |
|
|
java/util/natVMTimeZone.cc \
|
| 1397 |
|
|
java/util/concurrent/atomic/natAtomicLong.cc \
|
| 1398 |
|
|
java/util/logging/natLogger.cc \
|
| 1399 |
|
|
java/util/zip/natDeflater.cc \
|
| 1400 |
|
|
java/util/zip/natInflater.cc \
|
| 1401 |
|
|
sun/misc/natUnsafe.cc
|
| 1402 |
|
|
|
| 1403 |
|
|
xlib_nat_source_files = \
|
| 1404 |
|
|
gnu/gcj/xlib/natClip.cc \
|
| 1405 |
|
|
gnu/gcj/xlib/natColormap.cc \
|
| 1406 |
|
|
gnu/gcj/xlib/natDisplay.cc \
|
| 1407 |
|
|
gnu/gcj/xlib/natDrawable.cc \
|
| 1408 |
|
|
gnu/gcj/xlib/natFont.cc \
|
| 1409 |
|
|
gnu/gcj/xlib/natGC.cc \
|
| 1410 |
|
|
gnu/gcj/xlib/natPixmap.cc \
|
| 1411 |
|
|
gnu/gcj/xlib/natScreen.cc \
|
| 1412 |
|
|
gnu/gcj/xlib/natVisual.cc \
|
| 1413 |
|
|
gnu/gcj/xlib/natWMSizeHints.cc \
|
| 1414 |
|
|
gnu/gcj/xlib/natWindow.cc \
|
| 1415 |
|
|
gnu/gcj/xlib/natWindowAttributes.cc \
|
| 1416 |
|
|
gnu/gcj/xlib/natXAnyEvent.cc \
|
| 1417 |
|
|
gnu/gcj/xlib/natXButtonEvent.cc \
|
| 1418 |
|
|
gnu/gcj/xlib/natXColor.cc \
|
| 1419 |
|
|
gnu/gcj/xlib/natXConfigureEvent.cc \
|
| 1420 |
|
|
gnu/gcj/xlib/natXException.cc \
|
| 1421 |
|
|
gnu/gcj/xlib/natXExposeEvent.cc \
|
| 1422 |
|
|
gnu/gcj/xlib/natXImage.cc \
|
| 1423 |
|
|
gnu/gcj/xlib/natXUnmapEvent.cc
|
| 1424 |
|
|
|
| 1425 |
|
|
## ################################################################
|
| 1426 |
|
|
|
| 1427 |
|
|
##
|
| 1428 |
|
|
## Creating and installing sources.zip
|
| 1429 |
|
|
##
|
| 1430 |
|
|
|
| 1431 |
|
|
## Create a zip holding all the sources. This can be meaningfully
|
| 1432 |
|
|
## used in Eclipse.
|
| 1433 |
|
|
src.zip:
|
| 1434 |
|
|
-rm -f src.zip
|
| 1435 |
|
|
here=`pwd`; \
|
| 1436 |
|
|
( \
|
| 1437 |
|
|
( cd $(srcdir)/classpath; \
|
| 1438 |
|
|
find java gnu javax org sun -name '*.java' -print | \
|
| 1439 |
|
|
while read file; do \
|
| 1440 |
|
|
## Ugly code to avoid "echo -C". Must separate each entry by a newline
|
| 1441 |
|
|
## Gross but easy.
|
| 1442 |
|
|
echo "x-C" | sed -e 's/^.//'; \
|
| 1443 |
|
|
echo $(srcdir)/classpath; \
|
| 1444 |
|
|
echo $$file; \
|
| 1445 |
|
|
done ); \
|
| 1446 |
|
|
( cd $(srcdir)/classpath/external/sax; \
|
| 1447 |
|
|
find org -name '*.java' -print | \
|
| 1448 |
|
|
while read file; do \
|
| 1449 |
|
|
echo "x-C" | sed -e 's/^.//'; \
|
| 1450 |
|
|
echo $(srcdir)/classpath/external/sax; \
|
| 1451 |
|
|
echo $$file; \
|
| 1452 |
|
|
done ); \
|
| 1453 |
|
|
( cd $(srcdir)/classpath/external/relaxngDatatype; \
|
| 1454 |
|
|
find org -name '*.java' -print | \
|
| 1455 |
|
|
while read file; do \
|
| 1456 |
|
|
echo "x-C" | sed -e 's/^.//'; \
|
| 1457 |
|
|
echo $(srcdir)/classpath/external/relaxngDatatype; \
|
| 1458 |
|
|
echo $$file; \
|
| 1459 |
|
|
done ); \
|
| 1460 |
|
|
( cd $(srcdir)/classpath/external/w3c_dom; \
|
| 1461 |
|
|
find org -name '*.java' -print | \
|
| 1462 |
|
|
while read file; do \
|
| 1463 |
|
|
echo "x-C" | sed -e 's/^.//'; \
|
| 1464 |
|
|
echo $(srcdir)/classpath/external/w3c_dom; \
|
| 1465 |
|
|
echo $$file; \
|
| 1466 |
|
|
done ); \
|
| 1467 |
|
|
## Now the build tree.
|
| 1468 |
|
|
( cd classpath; \
|
| 1469 |
|
|
find gnu java -name '*.java' -print | \
|
| 1470 |
|
|
while read file; do \
|
| 1471 |
|
|
echo "x-C" | sed -e 's/^.//'; \
|
| 1472 |
|
|
echo `pwd`; \
|
| 1473 |
|
|
echo $$file; \
|
| 1474 |
|
|
done ); \
|
| 1475 |
|
|
) | \
|
| 1476 |
|
|
## Many of the above circumlocutions were because ZIP used to be a
|
| 1477 |
|
|
## relative path to fastjar. It didn't seem worthwhile to change the
|
| 1478 |
|
|
## code when we moved to an external jar.
|
| 1479 |
|
|
$(JAR) -cfM@ $$here/src.zip
|
| 1480 |
|
|
## Override GNU Classpath sources with libgcj replacements.
|
| 1481 |
|
|
here=`pwd`; \
|
| 1482 |
|
|
( \
|
| 1483 |
|
|
( cd $(srcdir); \
|
| 1484 |
|
|
find gnu java -name '*.java' -print | \
|
| 1485 |
|
|
while read file; do \
|
| 1486 |
|
|
echo "x-C" | sed -e 's/^.//'; \
|
| 1487 |
|
|
echo $(srcdir); \
|
| 1488 |
|
|
echo $$file; \
|
| 1489 |
|
|
done ); \
|
| 1490 |
|
|
) | \
|
| 1491 |
|
|
$(JAR) -ufM@ $$here/src.zip
|
| 1492 |
|
|
|
| 1493 |
|
|
## We use a variable for this in case the user wants to override it.
|
| 1494 |
|
|
sourcesdir = $(jardir)
|
| 1495 |
|
|
|
| 1496 |
|
|
install-src.zip: src.zip
|
| 1497 |
|
|
$(INSTALL_DATA) src.zip $(DESTDIR)$(sourcesdir)/src-$(gcc_version).zip
|
| 1498 |
|
|
|
| 1499 |
|
|
|
| 1500 |
|
|
## ################################################################
|
| 1501 |
|
|
|
| 1502 |
|
|
##
|
| 1503 |
|
|
## Dependency tracking madness.
|
| 1504 |
|
|
##
|
| 1505 |
|
|
|
| 1506 |
|
|
## This is an evil hack to work around an automake limitation. We
|
| 1507 |
|
|
## need to ensure that all CNI headers are built, not just the ones
|
| 1508 |
|
|
## used internally by libgcj. We can't make the .o files depend on
|
| 1509 |
|
|
## nat_headers, because in that case we'll force a complete rebuild of
|
| 1510 |
|
|
## the C++ code whenever any .java file is touched. So instead we
|
| 1511 |
|
|
## have a dummy rule which is only used once, namely the first time a
|
| 1512 |
|
|
## build is done. On subsequent builds, the dependency tracking for
|
| 1513 |
|
|
## the .cc compilations will have picked up the .h files, and these
|
| 1514 |
|
|
## will be built directly as needed.
|
| 1515 |
|
|
|
| 1516 |
|
|
headers.stamp:
|
| 1517 |
|
|
## Note that we don't use a real dependency here, since we don't want
|
| 1518 |
|
|
## to rebuild all the headers here when the header list changes. If
|
| 1519 |
|
|
## we did rebuild here, then any addition of a .java file would cause
|
| 1520 |
|
|
## a large number of recompilations.
|
| 1521 |
|
|
$(MAKE) create-headers
|
| 1522 |
|
|
@echo > headers.stamp
|
| 1523 |
|
|
|
| 1524 |
|
|
headers_to_make = $(nat_headers)
|
| 1525 |
|
|
if XLIB_AWT
|
| 1526 |
|
|
headers_to_make += $(xlib_nat_headers)
|
| 1527 |
|
|
endif
|
| 1528 |
|
|
|
| 1529 |
|
|
create-headers: $(headers_to_make)
|
| 1530 |
|
|
|
| 1531 |
|
|
.PHONY: create-headers
|
| 1532 |
|
|
|
| 1533 |
|
|
$(libgcj_la_OBJECTS) $(gcj_dbtool_OBJECTS) $(xlib_nat_files): headers.stamp
|
| 1534 |
|
|
$(libgij_la_OBJECTS): headers.stamp
|
| 1535 |
|
|
$(libjvm_la_OBJECTS): headers.stamp
|
| 1536 |
|
|
|
| 1537 |
|
|
## ################################################################
|
| 1538 |
|
|
|
| 1539 |
|
|
##
|
| 1540 |
|
|
## This section is for make and multilib madness.
|
| 1541 |
|
|
##
|
| 1542 |
|
|
|
| 1543 |
|
|
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
| 1544 |
|
|
# values defined in terms of make variables, as is the case for CC and
|
| 1545 |
|
|
# friends when we are called from the top level Makefile.
|
| 1546 |
|
|
AM_MAKEFLAGS = \
|
| 1547 |
|
|
"AR_FLAGS=$(AR_FLAGS)" \
|
| 1548 |
|
|
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
| 1549 |
|
|
"CFLAGS=$(CFLAGS)" \
|
| 1550 |
|
|
"CXXFLAGS=$(CXXFLAGS)" \
|
| 1551 |
|
|
"CPPFLAGS=$(CPPFLAGS)" \
|
| 1552 |
|
|
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
| 1553 |
|
|
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
| 1554 |
|
|
"INSTALL=$(INSTALL)" \
|
| 1555 |
|
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
| 1556 |
|
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
| 1557 |
|
|
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
| 1558 |
|
|
"GCJFLAGS=$(GCJFLAGS)" \
|
| 1559 |
|
|
"LDFLAGS=$(LDFLAGS)" \
|
| 1560 |
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
| 1561 |
|
|
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
| 1562 |
|
|
"MAKE=$(MAKE)" \
|
| 1563 |
|
|
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
| 1564 |
|
|
"PICFLAG=$(PICFLAG)" \
|
| 1565 |
|
|
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
| 1566 |
|
|
"SHELL=$(SHELL)" \
|
| 1567 |
|
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
| 1568 |
|
|
"exec_prefix=$(exec_prefix)" \
|
| 1569 |
|
|
"datadir=$(datadir)" \
|
| 1570 |
|
|
"infodir=$(infodir)" \
|
| 1571 |
|
|
"libdir=$(libdir)" \
|
| 1572 |
|
|
"mandir=$(mandir)" \
|
| 1573 |
|
|
"prefix=$(prefix)" \
|
| 1574 |
|
|
"gxx_include_dir=$(gxx_include_dir)" \
|
| 1575 |
|
|
"AR=$(AR)" \
|
| 1576 |
|
|
"AS=$(AS)" \
|
| 1577 |
|
|
"DLLTOOL=$(DLLTOOL)" \
|
| 1578 |
|
|
"LD=$(LD)" \
|
| 1579 |
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
| 1580 |
|
|
"NM=$(NM)" \
|
| 1581 |
|
|
"PICFLAG=$(PICFLAG)" \
|
| 1582 |
|
|
"RANLIB=$(RANLIB)" \
|
| 1583 |
|
|
"DESTDIR=$(DESTDIR)" \
|
| 1584 |
|
|
"JAR=$(JAR)"
|
| 1585 |
|
|
|
| 1586 |
|
|
# Subdir rules rely on $(FLAGS_TO_PASS)
|
| 1587 |
|
|
FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
| 1588 |
|
|
|
| 1589 |
|
|
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host
|
| 1590 |
|
|
|
| 1591 |
|
|
MAKEOVERRIDES=
|
| 1592 |
|
|
|
| 1593 |
|
|
# Multilib support variables.
|
| 1594 |
|
|
MULTISRCTOP =
|
| 1595 |
|
|
MULTIBUILDTOP =
|
| 1596 |
|
|
MULTIDIRS =
|
| 1597 |
|
|
MULTISUBDIR =
|
| 1598 |
|
|
MULTIDO = true
|
| 1599 |
|
|
MULTICLEAN = true
|
| 1600 |
|
|
|
| 1601 |
|
|
# Multilib support.
|
| 1602 |
|
|
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
| 1603 |
|
|
maintainer-clean-multi
|
| 1604 |
|
|
|
| 1605 |
|
|
all-recursive: all-multi
|
| 1606 |
|
|
install-recursive: install-multi
|
| 1607 |
|
|
mostlyclean-recursive: mostlyclean-multi
|
| 1608 |
|
|
clean-recursive: clean-multi
|
| 1609 |
|
|
distclean-recursive: distclean-multi
|
| 1610 |
|
|
maintainer-clean-recursive: maintainer-clean-multi
|
| 1611 |
|
|
|
| 1612 |
|
|
all-multi:
|
| 1613 |
|
|
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
|
| 1614 |
|
|
install-multi:
|
| 1615 |
|
|
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
|
| 1616 |
|
|
mostlyclean-multi:
|
| 1617 |
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
|
| 1618 |
|
|
clean-multi:
|
| 1619 |
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
|
| 1620 |
|
|
distclean-multi:
|
| 1621 |
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
|
| 1622 |
|
|
maintainer-clean-multi:
|
| 1623 |
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
|
| 1624 |
|
|
|
| 1625 |
|
|
if ANONVERSCRIPT
|
| 1626 |
|
|
if ANONVERSCRIPT_SUN
|
| 1627 |
|
|
# This must be at the end of the Makefile, otherwise .SECONDEXPANSION
|
| 1628 |
|
|
# causes expansion of filenames with $ in their names, which breaks the build.
|
| 1629 |
|
|
# .SECONDEXPANSION is necessary to allow the use of automatic variables ($@
|
| 1630 |
|
|
# in this case) in the requisites of pattern rules.
|
| 1631 |
|
|
.SECONDEXPANSION:
|
| 1632 |
|
|
|
| 1633 |
|
|
%.ver-sun : $(srcdir)/libgcj.ver \
|
| 1634 |
|
|
$(top_srcdir)/../contrib/make_sunver.pl \
|
| 1635 |
|
|
$$($$(basename $$@)_la_OBJECTS) $$($$(basename $$@)_la_LIBADD)
|
| 1636 |
|
|
perl $(top_srcdir)/../contrib/make_sunver.pl \
|
| 1637 |
|
|
$(srcdir)/libgcj.ver \
|
| 1638 |
|
|
`echo $($(basename $@)_la_OBJECTS) $($(basename $@)_la_LIBADD) | \
|
| 1639 |
|
|
sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
|
| 1640 |
|
|
> $@ || (rm -f $@ ; exit 1)
|
| 1641 |
|
|
endif
|
| 1642 |
|
|
endif
|