# Top-level Makefile rule for automake
#
# Variable conventions:
#
# _h_api            = API headers that will be installed and included in the distribution
# _cppflags         = flags that will be passed to the C/CXX Preprocessor
# _sources          = sources that will be compiled and included in the distribution
# _built_sources    = files that will be autogenerated by the build system and
#                     will be part of the _SOURCES primary
# _built_nosources  = files that are autogenerated but are not part of the
#                     _SOURCES primary
# _cleanfiles       = files that will be removed by the clean target
#
# Sources, headers, flags, etc... should be added to the respective variables
# with the above suffix, e.g, webcore-specific sources should go to
# webcore_sources, gtk port API and WebCoreSupport parts to webkitgtk_sources,
# etc... The only exceptions are the global variables. See Global Variables
# below.

# Global Variables Reference
# global_cppflags   = CPPFLAGS that apply to all C/C++ files that are built for any project.
# global_cflags     = CFLAGS that apply to all C files that are built for any project.
# global_cxxflags   = CXXFLAGS that apply to all C++ files that are bult for any project.

srcdir = @srcdir@
VPATH = @srcdir@

DISTCHECK_CONFIGURE_FLAGS = \
	--enable-introspection	\
	--enable-gtk-doc \
	--enable-webkit2

# Directory for autogenerated sources
GENSOURCES := $(top_builddir)/DerivedSources
GENSOURCES_JAVASCRIPTCORE := $(top_builddir)/DerivedSources/JavaScriptCore
GENSOURCES_WEBCORE := $(top_builddir)/DerivedSources/WebCore
GENSOURCES_WEBKIT := $(top_builddir)/DerivedSources/webkit
GENSOURCES_WEBKIT2 := $(top_builddir)/DerivedSources/WebKit2
GENPROGRAMS := $(top_builddir)/Programs
GENSOURCES_INSPECTOR := $(GENPROGRAMS)/resources/inspector
WebCore := $(srcdir)/Source/WebCore
WebKit := $(srcdir)/Source/WebKit/gtk
WebKit2 := $(srcdir)/Source/WebKit2
pkgconfigdir := $(libdir)/pkgconfig
libwebkitgtkincludedir := $(prefix)/include/webkitgtk-@WEBKITGTK_API_VERSION@

# Libraries and support components
bin_PROGRAMS :=
noinst_PROGRAMS :=
libexec_PROGRAMS :=
noinst_HEADERS :=
noinst_LTLIBRARIES :=
lib_LTLIBRARIES :=
IDL_BINDINGS :=
TEST_PROGS :=
POFILES :=
PO_LINGUAS :=
USER_LINGUAS :=
USE_LINGUAS :=
MOFILES :=
ALL_MOFILES :=
feature_defines_defaults :=
feature_defines_overrides :=
feature_defines_unstable :=
feature_defines :=
dom_binding_idls :=
wtf_sources :=
javascriptcore_h_api :=
javascriptcore_cppflags:=
javascriptcore_cflags :=
javascriptcore_sources :=
javascriptcore_built_sources :=
javascriptcore_built_nosources :=
llint_nosources :=
offlineasm_nosources :=
webcore_cppflags :=
webcore_modules_sources :=
webcore_sources :=
webcore_libadd :=
webcore_built_sources :=
webcore_built_nosources :=
webcoregtk_sources :=
webcoregtk_cppflags :=
webkitgtk_built_h_api :=
webkitgtk_static_h_api :=
webkitgtk_h_api :=
webkitgtk_sources :=
webkitgtk_cppflags :=
webkitgtk_gdom_built_sources :=
webkitgtk_built_sources :=
webkitgtk_built_nosources :=
webkit2_h_api :=
webkit2_sources :=
webkit2_built_sources :=
webkit2gtk_h_api :=
webkit2gtk_built_sources :=
webkit2_plugin_process_sources :=
webkit2_plugin_process_built_sources :=
webkittestrunner_built_sources :=
libwebcoreinternals_built_sources :=
minibrowser_built_sources :=
global_cppflags :=
global_cflags :=
global_cxxflags :=
JSCORE_GIRSOURCES :=
WEBKIT_GIRSOURCES :=
typelibsdir :=
typelibs_DATA :=
EXTRA_DIST :=
BUILT_SOURCES :=
CLEANFILES :=
DOMAIN :=
DISTCLEANFILES :=
MAINTAINERCLEANFILES :=
pkgconfig_DATA :=

# We do not care at all about this implicit built-in make rules,
# disable them to save some build time
%: %.c
%: %.cpp
%: %.o
(%): %
%.out: %
%.c: %.w %.ch
%.tex: %.w %.ch
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%

global_cppflags += \
	-Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type \
	-Wformat -Wformat-security -Wno-format-y2k -Wundef \
	-Wmissing-format-attribute -Wpointer-arith -Wwrite-strings \
	-Wno-unused-parameter -Wno-parentheses \
	-fno-exceptions -DENABLE_GLIB_SUPPORT=1


global_cxxflags += \
	-fno-rtti

# -no-undefined required for building DLLs on Windows
# It breaks the build on other platforms, so we use it conditionally
if OS_WIN32
no_undefined = -no-undefined
version_script = -export-symbols-regex "^(webkit_|k?JS).*"
endif

if OS_GNU
version_script = -Wl,--version-script,$(srcdir)/Source/autotools/symbols.filter
endif

# Extra checks and flags
global_cppflags += \
	-DBUILDING_CAIRO__=1 \
	-DBUILDING_GTK__=1 \
	-DWTF_CHANGES

if ENABLE_WEBKIT2
global_cppflags += \
	-DBUILDING_WEBKIT2__=1
endif

# For the Gtk port we want to use XP_UNIX both in X11 and Mac
if TARGET_WIN32
global_cppflags += \
	-DXP_WIN
else
global_cppflags += \
	-DXP_UNIX
endif

# Add MOZ_X11 for X11 targets only
if TARGET_X11
global_cppflags += \
	-DMOZ_X11
endif

# Use the wide character version of win32 API by default
if TARGET_WIN32
global_cppflags += \
	-DUNICODE \
	-D_UNICODE
endif

if USE_ICU_UNICODE
global_cppflags += \
	-DWTF_USE_ICU_UNICODE=1
endif

if USE_GLIB_UNICODE
global_cppflags += \
	-DWTF_USE_GLIB_UNICODE=1
endif

if !ENABLE_FAST_MALLOC
global_cppflags += \
	-DUSE_SYSTEM_MALLOC
endif

if USE_GSTREAMER
global_cppflags += \
	-DWTF_USE_GSTREAMER=1
endif

if USE_FARSTREAM
global_cppflags += \
	-DWTF_USE_FARSTREAM=1
endif

if USE_ACCELERATED_COMPOSITING
global_cppflags += \
	-DWTF_USE_ACCELERATED_COMPOSITING=1 \
	-DENABLE_3D_RENDERING=1
endif

if USE_TEXTURE_MAPPER_CAIRO
global_cppflags += \
	-DWTF_USE_TEXTURE_MAPPER=1 \
	-DWTF_USE_TEXTURE_MAPPER_CAIRO=1
endif

if USE_TEXTURE_MAPPER_GL
global_cppflags += \
	-DWTF_USE_TEXTURE_MAPPER=1 \
	-DWTF_USE_TEXTURE_MAPPER_GL=1
endif

if USE_CLUTTER
global_cppflags += \
	-DWTF_USE_CLUTTER=1
endif

if USE_GLX
global_cppflags += \
	-DWTF_USE_GLX=1
endif

if USE_OPENGL
global_cppflags += \
	-DWTF_USE_OPENGL=1
endif

# ----
# GTK+ 2.x/3.x support
# ----
if GTK_API_VERSION_2
global_cppflags += \
	-DGTK_API_VERSION_2=1
endif

if !ENABLE_DEBUG
global_cppflags += -DNDEBUG
else
global_cppflags += \
	-DGDK_PIXBUF_DISABLE_DEPRECATED \
	-DGDK_DISABLE_DEPRECATED \
	-DGTK_DISABLE_DEPRECATED \
	-DPANGO_DISABLE_DEPRECATED
# Might be useful in the future
#	-DGDK_MULTIHEAD_SAFE \
#	-DGTK_MULTIHEAD_SAFE
endif

if ENABLE_COVERAGE
global_cppflags += \
	-DGCC_GENERATE_TEST_COVERAGE_FILES \
	-DGCC_INSTRUMENT_PROGRAM_FLOW_ARCS
endif

EXTRA_DIST += \
	$(srcdir)/Source/autotools/symbols.filter \
	$(srcdir)/Source/WebKit/LICENSE

# Include module makefiles
include Source/WTF/GNUmakefile.am
include Source/JavaScriptCore/GNUmakefile.am
include Source/WebCore/GNUmakefile.am
include Source/WebKit/gtk/GNUmakefile.am
include Source/WebCore/bindings/gobject/GNUmakefile.am
include Tools/GNUmakefile.am
include Source/WebKit/gtk/po/GNUmakefile.am
include Tools/DumpRenderTree/gtk/GNUmakefile.ImageDiff.am

include Source/WebKit2/GNUmakefile.am
include Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am
include Tools/MiniBrowser/gtk/GNUmakefile.am
include Tools/WebKitTestRunner/GNUmakefile.am
include Source/ThirdParty/gtest/GNUmakefile.am
include Tools/TestWebKitAPI/GNUmakefile.am
# [GTK] Refactor the translations now that we have webkit2
# https://bugs.webkit.org/show_bug.cgi?id=55153

# Autogenerated sources
BUILT_SOURCES += \
	$(javascriptcore_built_sources) \
	$(javascriptcore_built_nosources) \
	$(webcore_built_sources) \
	$(webcore_built_nosources) \
	$(webkitgtk_built_sources) \
	$(webkitgtk_built_nosources) \
	$(webkit2_built_sources) \
	$(webkit2gtk_built_sources) \
	$(webkit2_plugin_process_built_sources)

DISTCLEANFILES += \
	$(CLEANFILES) \
	$(builddir)/doltcompile \
	$(builddir)/doltlibtool

MAINTAINERCLEANFILES += \
	$(CLEANFILES) \
	$(builddir)/doltcompile \
	$(builddir)/doltlibtool \
	$(srcdir)/aconfig.h.in \
	$(srcdir)/Source/autotools/config.* \
	$(srcdir)/Source/autotools/compile \
	$(srcdir)/Source/autotools/depcomp \
	$(srcdir)/Source/autotools/install-sh \
	$(srcdir)/Source/autotools/missing \
	$(srcdir)/configure \
	$(srcdir)/GNUmakefile.in \
	$(srcdir)/INSTALL \
	$(srcdir)/README \
	$(top_builddir)/config.*

# Older automake versions (1.7) place Plo files in a different place so we need
# to create the output directory manually.
all-local: stamp-po
	$(MKDIR_P) $(top_builddir)/$(DEPDIR)/DerivedSources

# remove built sources and program directories
clean-local:
	-rm -rf $(GENPROGRAMS)

maintainer-clean-local: distclean-local
distclean-local:
	-rm -rf $(GENSOURCES) $(GENPROGRAMS)

dist-hook: doc-dist-hook
doc-dist-hook: docs-build.stamp
	cp $(WebKit)/NEWS $(distdir)
	@mkdir -p $(distdir)/Documentation/webkitgtk/html
	@mkdir -p $(distdir)/Documentation/webkitgtk/tmpl
	@-cp ./Documentation/webkitgtk/tmpl/*.sgml $(distdir)/Documentation/webkitgtk/tmpl
	@cp ./Documentation/webkitgtk/html/* $(distdir)/Documentation/webkitgtk/html
if ENABLE_WEBKIT2
	@mkdir -p $(distdir)/Documentation/webkit2gtk/html
	@mkdir -p $(distdir)/Documentation/webkit2gtk/tmpl
	@-cp ./Documentation/webkit2gtk/tmpl/*.sgml $(distdir)/Documentation/webkit2gtk/tmpl
	@cp ./Documentation/webkit2gtk/html/* $(distdir)/Documentation/webkit2gtk/html
endif
