# Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004  Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@

SOURCES = $(libw3c_gcj_la_SOURCES)

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = external/w3c_dom
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/accross.m4 \
	$(top_srcdir)/../config/acx.m4 \
	$(top_srcdir)/../config/gcc-version.m4 \
	$(top_srcdir)/../config/gxx-include-dir.m4 \
	$(top_srcdir)/../config/iconv.m4 \
	$(top_srcdir)/../config/lcmessage.m4 \
	$(top_srcdir)/../config/lib-ld.m4 \
	$(top_srcdir)/../config/lib-link.m4 \
	$(top_srcdir)/../config/lib-prefix.m4 $(top_srcdir)/pkg.m4 \
	$(top_srcdir)/acinclude.m4 \
	$(top_srcdir)/../config/no-executables.m4 \
	$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
CONFIG_HEADER = $(top_builddir)/include/config.h \
	$(top_builddir)/gcj/libgcj-config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libw3c_gcj_la_LIBADD =
am_libw3c_gcj_la_OBJECTS = libw3c_gcj_la-w3c.lo
libw3c_gcj_la_OBJECTS = $(am_libw3c_gcj_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_builddir)/gcj
depcomp = $(SHELL) $(top_srcdir)/../depcomp
am__depfiles_maybe = depfiles
GCJCOMPILE = $(GCJ) $(AM_GCJFLAGS) $(GCJFLAGS)
LTGCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) $(AM_GCJFLAGS) \
	$(GCJFLAGS)
GCJLD = $(GCJ)
GCJLINK = $(LIBTOOL) --mode=link $(GCJLD) $(AM_GCJFLAGS) $(GCJFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libw3c_gcj_la_SOURCES)
DIST_SOURCES = $(libw3c_gcj_la_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BACKTRACESPEC = @BACKTRACESPEC@
CAIRO_CFLAGS = @CAIRO_CFLAGS@
CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKREFSPEC = @CHECKREFSPEC@
CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DIRLTDL = @DIRLTDL@
DIVIDESPEC = @DIVIDESPEC@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXCEPTIONSPEC = @EXCEPTIONSPEC@
EXEEXT = @EXEEXT@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
GCDEPS = @GCDEPS@
GCINCS = @GCINCS@
GCJ = @GCJ@
GCJDEPMODE = @GCJDEPMODE@
GCJFLAGS = @GCJFLAGS@
GCJH = @GCJH@
GCJVERSION = @GCJVERSION@
GCLIBS = @GCLIBS@
GCSPEC = @GCSPEC@
GCTESTSPEC = @GCTESTSPEC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GTK_AWT_FALSE = @GTK_AWT_FALSE@
GTK_AWT_TRUE = @GTK_AWT_TRUE@
GTK_CAIRO_FALSE = @GTK_CAIRO_FALSE@
GTK_CAIRO_TRUE = @GTK_CAIRO_TRUE@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
HASH_SYNC_SPEC = @HASH_SYNC_SPEC@
IEEESPEC = @IEEESPEC@
INCLTDL = @INCLTDL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERPRETER = @INTERPRETER@
JAVA_HOME = @JAVA_HOME@
JAVA_HOME_SET_FALSE = @JAVA_HOME_SET_FALSE@
JAVA_HOME_SET_TRUE = @JAVA_HOME_SET_TRUE@
JC1GCSPEC = @JC1GCSPEC@
LDFLAGS = @LDFLAGS@
LIBART_CFLAGS = @LIBART_CFLAGS@
LIBART_LIBS = @LIBART_LIBS@
LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@
LIBGCJDEBUG = @LIBGCJDEBUG@
LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@
LIBICONV = @LIBICONV@
LIBLTDL = @LIBLTDL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
NATIVE_FALSE = @NATIVE_FALSE@
NATIVE_TRUE = @NATIVE_TRUE@
NEEDS_DATA_START_FALSE = @NEEDS_DATA_START_FALSE@
NEEDS_DATA_START_TRUE = @NEEDS_DATA_START_TRUE@
OBJEXT = @OBJEXT@
ONESTEP_FALSE = @ONESTEP_FALSE@
ONESTEP_TRUE = @ONESTEP_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
PANGOFT2_LIBS = @PANGOFT2_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_INNER_NAT_HDRS = @PLATFORM_INNER_NAT_HDRS@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SUPPLY_BACKTRACE_FALSE = @SUPPLY_BACKTRACE_FALSE@
SUPPLY_BACKTRACE_TRUE = @SUPPLY_BACKTRACE_TRUE@
SYSDEP_SOURCES = @SYSDEP_SOURCES@
SYSTEMSPEC = @SYSTEMSPEC@
SYS_ZLIBS = @SYS_ZLIBS@
TESTSUBDIR_FALSE = @TESTSUBDIR_FALSE@
TESTSUBDIR_TRUE = @TESTSUBDIR_TRUE@
THREADCXXFLAGS = @THREADCXXFLAGS@
THREADDEPS = @THREADDEPS@
THREADINCS = @THREADINCS@
THREADLDFLAGS = @THREADLDFLAGS@
THREADLIBS = @THREADLIBS@
THREADSPEC = @THREADSPEC@
TOOLKIT = @TOOLKIT@
USING_BOEHMGC_FALSE = @USING_BOEHMGC_FALSE@
USING_BOEHMGC_TRUE = @USING_BOEHMGC_TRUE@
USING_DARWIN_CRT_FALSE = @USING_DARWIN_CRT_FALSE@
USING_DARWIN_CRT_TRUE = @USING_DARWIN_CRT_TRUE@
USING_ECOS_PLATFORM_FALSE = @USING_ECOS_PLATFORM_FALSE@
USING_ECOS_PLATFORM_TRUE = @USING_ECOS_PLATFORM_TRUE@
USING_GCC_FALSE = @USING_GCC_FALSE@
USING_GCC_TRUE = @USING_GCC_TRUE@
USING_NOGC_FALSE = @USING_NOGC_FALSE@
USING_NOGC_TRUE = @USING_NOGC_TRUE@
USING_NO_THREADS_FALSE = @USING_NO_THREADS_FALSE@
USING_NO_THREADS_TRUE = @USING_NO_THREADS_TRUE@
USING_POSIX_PLATFORM_FALSE = @USING_POSIX_PLATFORM_FALSE@
USING_POSIX_PLATFORM_TRUE = @USING_POSIX_PLATFORM_TRUE@
USING_POSIX_THREADS_FALSE = @USING_POSIX_THREADS_FALSE@
USING_POSIX_THREADS_TRUE = @USING_POSIX_THREADS_TRUE@
USING_WIN32_PLATFORM_FALSE = @USING_WIN32_PLATFORM_FALSE@
USING_WIN32_PLATFORM_TRUE = @USING_WIN32_PLATFORM_TRUE@
USING_WIN32_THREADS_FALSE = @USING_WIN32_THREADS_FALSE@
USING_WIN32_THREADS_TRUE = @USING_WIN32_THREADS_TRUE@
VERSION = @VERSION@
XLIB_AWT_FALSE = @XLIB_AWT_FALSE@
XLIB_AWT_TRUE = @XLIB_AWT_TRUE@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZINCS = @ZINCS@
ZIP = @ZIP@
ZLIBS = @ZLIBS@
ZLIBSPEC = @ZLIBSPEC@
ZLIBTESTSPEC = @ZLIBTESTSPEC@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_GCJ = @ac_ct_GCJ@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__fastdepGCJ_FALSE = @am__fastdepGCJ_FALSE@
am__fastdepGCJ_TRUE = @am__fastdepGCJ_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
gcc_version = @gcc_version@
gcc_version_full = @gcc_version_full@
gcc_version_trigger = @gcc_version_trigger@
gxx_include_dir = @gxx_include_dir@
here = @here@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libgcj_basedir = @libgcj_basedir@
libstdcxx_incdir = @libstdcxx_incdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
mkinstalldirs = @mkinstalldirs@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_noncanonical = @target_noncanonical@
target_os = @target_os@
target_vendor = @target_vendor@
tool_include_dir = @tool_include_dir@
toolexecdir = @toolexecdir@
toolexeclibdir = @toolexeclibdir@
toolexecmainlibdir = @toolexecmainlibdir@
AUTOMAKE_OPTIONS = foreign subdir-objects
GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated -fclasspath= -fbootclasspath=$(BOOTCLASSPATH)
BOOTCLASSPATH = $(here)'$(CLASSPATH_SEPARATOR)'$(srcdir)'$(CLASSPATH_SEPARATOR)'$(top_srcdir)'$(CLASSPATH_SEPARATOR)'$(top_builddir)
AM_GCJFLAGS = \
	-B$(top_builddir) \
	@LIBGCJ_JAVAFLAGS@ \
	-fclasspath= -fbootclasspath=$(BOOTCLASSPATH) \
	--encoding=UTF-8 \
	-Wno-deprecated

BUILT_SOURCES = classes.stamp
noinst_LTLIBRARIES = libw3c-gcj.la
libw3c_gcj_la_SOURCES = w3c.jar
libw3c_gcj_la_GCJFLAGS = -findirect-dispatch $(AM_GCJFLAGS)
source_files = \
org/w3c/dom/xpath/XPathNamespace.java \
org/w3c/dom/xpath/XPathResult.java \
org/w3c/dom/xpath/XPathException.java \
org/w3c/dom/xpath/XPathExpression.java \
org/w3c/dom/xpath/XPathNSResolver.java \
org/w3c/dom/xpath/XPathEvaluator.java \
org/w3c/dom/DOMException.java \
org/w3c/dom/Comment.java \
org/w3c/dom/stylesheets/DocumentStyle.java \
org/w3c/dom/stylesheets/MediaList.java \
org/w3c/dom/stylesheets/LinkStyle.java \
org/w3c/dom/stylesheets/StyleSheet.java	\
org/w3c/dom/stylesheets/StyleSheetList.java \
org/w3c/dom/Attr.java \
org/w3c/dom/Notation.java \
org/w3c/dom/TypeInfo.java \
org/w3c/dom/html2/HTMLIsIndexElement.java \
org/w3c/dom/html2/HTMLTableColElement.java \
org/w3c/dom/html2/HTMLLinkElement.java \
org/w3c/dom/html2/HTMLTitleElement.java	\
org/w3c/dom/html2/HTMLBRElement.java \
org/w3c/dom/html2/HTMLHeadElement.java \
org/w3c/dom/html2/HTMLHtmlElement.java \
org/w3c/dom/html2/HTMLScriptElement.java \
org/w3c/dom/html2/HTMLTableRowElement.java \
org/w3c/dom/html2/HTMLOptionsCollection.java \
org/w3c/dom/html2/HTMLTableCellElement.java \
org/w3c/dom/html2/HTMLDListElement.java	\
org/w3c/dom/html2/HTMLFieldSetElement.java \
org/w3c/dom/html2/HTMLImageElement.java	\
org/w3c/dom/html2/HTMLHRElement.java \
org/w3c/dom/html2/HTMLModElement.java \
org/w3c/dom/html2/HTMLHeadingElement.java \
org/w3c/dom/html2/HTMLTableElement.java	\
org/w3c/dom/html2/HTMLAreaElement.java \
org/w3c/dom/html2/HTMLOptGroupElement.java \
org/w3c/dom/html2/HTMLIFrameElement.java \
org/w3c/dom/html2/HTMLDirectoryElement.java \
org/w3c/dom/html2/HTMLParamElement.java	\
org/w3c/dom/html2/HTMLLegendElement.java \
org/w3c/dom/html2/HTMLFrameElement.java	\
org/w3c/dom/html2/HTMLFormElement.java \
org/w3c/dom/html2/HTMLStyleElement.java	\
org/w3c/dom/html2/HTMLFrameSetElement.java \
org/w3c/dom/html2/HTMLCollection.java \
org/w3c/dom/html2/HTMLAnchorElement.java \
org/w3c/dom/html2/HTMLLabelElement.java	\
org/w3c/dom/html2/HTMLBodyElement.java \
org/w3c/dom/html2/HTMLOptionElement.java \
org/w3c/dom/html2/HTMLTableSectionElement.java \
org/w3c/dom/html2/HTMLAppletElement.java \
org/w3c/dom/html2/HTMLSelectElement.java \
org/w3c/dom/html2/HTMLMetaElement.java \
org/w3c/dom/html2/HTMLMenuElement.java \
org/w3c/dom/html2/HTMLDivElement.java \
org/w3c/dom/html2/HTMLLIElement.java \
org/w3c/dom/html2/HTMLFontElement.java \
org/w3c/dom/html2/HTMLOListElement.java	\
org/w3c/dom/html2/HTMLBaseFontElement.java \
org/w3c/dom/html2/HTMLElement.java \
org/w3c/dom/html2/HTMLTableCaptionElement.java \
org/w3c/dom/html2/HTMLTextAreaElement.java \
org/w3c/dom/html2/HTMLPreElement.java \
org/w3c/dom/html2/HTMLObjectElement.java \
org/w3c/dom/html2/HTMLBaseElement.java \
org/w3c/dom/html2/HTMLUListElement.java	\
org/w3c/dom/html2/HTMLMapElement.java \
org/w3c/dom/html2/HTMLParagraphElement.java \
org/w3c/dom/html2/HTMLButtonElement.java \
org/w3c/dom/html2/HTMLQuoteElement.java	\
org/w3c/dom/html2/HTMLInputElement.java	\
org/w3c/dom/html2/HTMLDocument.java \
org/w3c/dom/ls/LSParser.java \
org/w3c/dom/ls/LSSerializerFilter.java \
org/w3c/dom/ls/LSLoadEvent.java	\
org/w3c/dom/ls/DOMImplementationLS.java	\
org/w3c/dom/ls/LSException.java	\
org/w3c/dom/ls/LSSerializer.java \
org/w3c/dom/ls/LSResourceResolver.java \
org/w3c/dom/ls/LSOutput.java \
org/w3c/dom/ls/LSInput.java \
org/w3c/dom/ls/LSProgressEvent.java \
org/w3c/dom/ls/LSParserFilter.java \
org/w3c/dom/DOMLocator.java \
org/w3c/dom/DOMStringList.java \
org/w3c/dom/DocumentFragment.java \
org/w3c/dom/events/MutationEvent.java \
org/w3c/dom/events/UIEvent.java	\
org/w3c/dom/events/EventListener.java \
org/w3c/dom/events/Event.java \
org/w3c/dom/events/MouseEvent.java \
org/w3c/dom/events/EventTarget.java \
org/w3c/dom/events/DocumentEvent.java \
org/w3c/dom/events/EventException.java \
org/w3c/dom/EntityReference.java \
org/w3c/dom/DOMErrorHandler.java \
org/w3c/dom/views/AbstractView.java \
org/w3c/dom/views/DocumentView.java \
org/w3c/dom/DOMError.java \
org/w3c/dom/bootstrap/DOMImplementationRegistry.java \
org/w3c/dom/traversal/TreeWalker.java \
org/w3c/dom/traversal/NodeFilter.java \
org/w3c/dom/traversal/DocumentTraversal.java \
org/w3c/dom/traversal/NodeIterator.java	\
org/w3c/dom/CharacterData.java \
org/w3c/dom/DOMConfiguration.java \
org/w3c/dom/css/CSSRule.java \
org/w3c/dom/css/Rect.java \
org/w3c/dom/css/CSSStyleSheet.java \
org/w3c/dom/css/CSSFontFaceRule.java \
org/w3c/dom/css/CSSPrimitiveValue.java \
org/w3c/dom/css/CSSRuleList.java \
org/w3c/dom/css/ViewCSS.java \
org/w3c/dom/css/CSSStyleRule.java \
org/w3c/dom/css/CSSUnknownRule.java \
org/w3c/dom/css/RGBColor.java \
org/w3c/dom/css/ElementCSSInlineStyle.java \
org/w3c/dom/css/CSSMediaRule.java \
org/w3c/dom/css/CSS2Properties.java \
org/w3c/dom/css/CSSValue.java \
org/w3c/dom/css/CSSStyleDeclaration.java \
org/w3c/dom/css/DOMImplementationCSS.java \
org/w3c/dom/css/CSSCharsetRule.java \
org/w3c/dom/css/Counter.java \
org/w3c/dom/css/CSSPageRule.java \
org/w3c/dom/css/DocumentCSS.java \
org/w3c/dom/css/CSSValueList.java \
org/w3c/dom/css/CSSImportRule.java \
org/w3c/dom/NameList.java \
org/w3c/dom/Element.java \
org/w3c/dom/Document.java \
org/w3c/dom/ranges/Range.java \
org/w3c/dom/ranges/RangeException.java \
org/w3c/dom/ranges/DocumentRange.java \
org/w3c/dom/DOMImplementationList.java \
org/w3c/dom/Entity.java	\
org/w3c/dom/UserDataHandler.java \
org/w3c/dom/DOMImplementation.java \
org/w3c/dom/CDATASection.java \
org/w3c/dom/ProcessingInstruction.java \
org/w3c/dom/Node.java \
org/w3c/dom/NamedNodeMap.java \
org/w3c/dom/NodeList.java \
org/w3c/dom/Text.java \
org/w3c/dom/DocumentType.java \
org/w3c/dom/DOMImplementationSource.java

all: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
.SUFFIXES: .jar .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  external/w3c_dom/Makefile'; \
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --foreign  external/w3c_dom/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

clean-noinstLTLIBRARIES:
	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
	  test "$$dir" != "$$p" || dir=.; \
	  echo "rm -f \"$${dir}/so_locations\""; \
	  rm -f "$${dir}/so_locations"; \
	done
libw3c-gcj.la: $(libw3c_gcj_la_OBJECTS) $(libw3c_gcj_la_DEPENDENCIES) 
	$(GCJLINK)  $(libw3c_gcj_la_LDFLAGS) $(libw3c_gcj_la_OBJECTS) $(libw3c_gcj_la_LIBADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw3c_gcj_la-w3c.Plo@am__quote@

.jar.o:
@am__fastdepGCJ_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
@am__fastdepGCJ_TRUE@	if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepGCJ_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepGCJ_FALSE@	$(GCJCOMPILE) -c -o $@ $<

.jar.obj:
@am__fastdepGCJ_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
@am__fastdepGCJ_TRUE@	if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepGCJ_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepGCJ_FALSE@	$(GCJCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.jar.lo:
@am__fastdepGCJ_TRUE@	depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
@am__fastdepGCJ_TRUE@	if $(LTGCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepGCJ_TRUE@	then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepGCJ_FALSE@	$(LTGCJCOMPILE) -c -o $@ $<

libw3c_gcj_la-w3c.lo: w3c.jar
@am__fastdepGCJ_TRUE@	if $(LIBTOOL) --mode=compile $(GCJ) $(libw3c_gcj_la_GCJFLAGS) $(GCJFLAGS) -MT libw3c_gcj_la-w3c.lo -MD -MP -MF "$(DEPDIR)/libw3c_gcj_la-w3c.Tpo" -c -o libw3c_gcj_la-w3c.lo `test -f 'w3c.jar' || echo '$(srcdir)/'`w3c.jar; \
@am__fastdepGCJ_TRUE@	then mv -f "$(DEPDIR)/libw3c_gcj_la-w3c.Tpo" "$(DEPDIR)/libw3c_gcj_la-w3c.Plo"; else rm -f "$(DEPDIR)/libw3c_gcj_la-w3c.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	source='w3c.jar' object='libw3c_gcj_la-w3c.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepGCJ_FALSE@	DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepGCJ_FALSE@	$(LIBTOOL) --mode=compile $(GCJ) $(libw3c_gcj_la_GCJFLAGS) $(GCJFLAGS) -c -o libw3c_gcj_la-w3c.lo `test -f 'w3c.jar' || echo '$(srcdir)/'`w3c.jar

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool
uninstall-info-am:

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	    $$tags $$unique; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	test -z "$(CTAGS_ARGS)$$tags$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$tags $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && cd $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) $$here

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
	list='$(DISTFILES)'; for file in $$list; do \
	  case $$file in \
	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
	  esac; \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
	    dir="/$$dir"; \
	    $(mkdir_p) "$(distdir)$$dir"; \
	  else \
	    dir=''; \
	  fi; \
	  if test -d $$d/$$file; then \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
	    fi; \
	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
	  else \
	    test -f $(distdir)/$$file \
	    || cp -p $$d/$$file $(distdir)/$$file \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES)
installdirs:
install: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am

clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
	mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-libtool distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

info: info-am

info-am:

install-data-am:

install-exec-am:

install-info: install-info-am

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool mostlyclean-local

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-info-am

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
	distclean-compile distclean-generic distclean-libtool \
	distclean-tags distdir dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am install-exec \
	install-exec-am install-info install-info-am install-man \
	install-strip installcheck installcheck-am installdirs \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	mostlyclean-local pdf pdf-am ps ps-am tags uninstall \
	uninstall-am uninstall-info-am


w3c.jar: classes.stamp
	find org -name '*.class' -print | $(ZIP) -cfME@ $@

classes.stamp:	$(source_files)
	here=`pwd`; cd $(srcdir); \
	$(GCJ_WITH_FLAGS) -C -d $$here $(source_files)
	echo > classes.stamp

mostlyclean-local:
	-find . -name '*.class' | xargs rm
	-rm classes.stamp w3c.jar
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
