# 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
GENSOURCES_WEBKITDOM := $(top_builddir)/DerivedSources/webkitdom
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 :=
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_platform_sources :=
webcore_modules_sources :=
webcore_svg_built_sources :=
webcore_svg_sources :=
webcore_cppflags :=
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_h_api :=
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_web_extension_h_api :=
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_EGL
global_cppflags += \
	-DWTF_USE_EGL=1
endif

if USE_GLES2
global_cppflags += \
	-DWTF_USE_OPENGL_ES_2=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 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) \
	$(webcore_svg_built_sources) \
	$(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)
if ENABLE_WEBKIT1
	@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
endif
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
