78e8c4b2ba122f32b51af60d7f69863c3b51f038
[WebKit-https.git] / Source / Platform / GNUmakefile.am
1 # The platform layer code is built into two separate static libraries - libPlatformGtk.la
2 # is built from files that require GTK+ and libPlatform.la is built from all the other files.
3 # This makes it possible to build two separate libPlatformGtk.la libraries, one using GTK3
4 # and the other (named libPlatformGtk2.la) using GTK2. The latter is required by the
5 # WebKitPluginProcess in WebKit2 as some plugins (such as Flash) still use GTK2.
6 # For now we only build the libPlatformGtk library as there are no source files in place yet
7 # that could be built into libPlatform.
8
9 platform_cppflags += \
10         -I$(srcdir)/Source/ThirdParty/ANGLE/src \
11         -I$(srcdir)/Source/ThirdParty/ANGLE/include \
12         -I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
13         -I$(srcdir)/Source/ThirdParty/ANGLE/include/KHR \
14         -I$(top_builddir)/DerivedSources/Platform
15
16 platformgtk_cppflags += \
17         -DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
18         -DDATA_DIR=\"${datadir}\"
19
20 # This is the minimal set of Source/WebCore/platform subdirectories that contain headers required by the GTK-specific
21 # platform source files. These inclusions are required due to platform layer source files not yet completely migrated
22 # into Source/Platform. Only Source/WebCore/platform subdirectories must be listed here as this, coupled with the
23 # header inclusion in source files that's done via specifying the header basename, prevents any platform violations
24 # occurring.
25 platform_webcore_cppflags += \
26         -I$(srcdir)/Source/WebCore/platform \
27         -I$(srcdir)/Source/WebCore/platform/animation \
28         -I$(srcdir)/Source/WebCore/platform/audio \
29         -I$(srcdir)/Source/WebCore/platform/cairo \
30         -I$(srcdir)/Source/WebCore/platform/geoclue \
31         -I$(srcdir)/Source/WebCore/platform/glib \
32         -I$(srcdir)/Source/WebCore/platform/graphics \
33         -I$(srcdir)/Source/WebCore/platform/graphics/cairo \
34         -I$(srcdir)/Source/WebCore/platform/graphics/cpu/arm \
35         -I$(srcdir)/Source/WebCore/platform/graphics/cpu/arm/filters \
36         -I$(srcdir)/Source/WebCore/platform/graphics/egl \
37         -I$(srcdir)/Source/WebCore/platform/graphics/filters \
38         -I$(srcdir)/Source/WebCore/platform/graphics/glx \
39         -I$(srcdir)/Source/WebCore/platform/graphics/gpu \
40         -I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
41         -I$(srcdir)/Source/WebCore/platform/graphics/gtk \
42         -I$(srcdir)/Source/WebCore/platform/graphics/harfbuzz \
43         -I$(srcdir)/Source/WebCore/platform/graphics/opengl \
44         -I$(srcdir)/Source/WebCore/platform/graphics/opentype \
45         -I$(srcdir)/Source/WebCore/platform/graphics/texmap \
46         -I$(srcdir)/Source/WebCore/platform/graphics/transforms \
47         -I$(srcdir)/Source/WebCore/platform/gtk \
48         -I$(srcdir)/Source/WebCore/platform/image-decoders \
49         -I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
50         -I$(srcdir)/Source/WebCore/platform/image-decoders/cairo \
51         -I$(srcdir)/Source/WebCore/platform/image-decoders/gif \
52         -I$(srcdir)/Source/WebCore/platform/image-decoders/ico \
53         -I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
54         -I$(srcdir)/Source/WebCore/platform/image-decoders/png \
55         -I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
56         -I$(srcdir)/Source/WebCore/platform/network \
57         -I$(srcdir)/Source/WebCore/platform/network/gtk \
58         -I$(srcdir)/Source/WebCore/platform/network/soup \
59         -I$(srcdir)/Source/WebCore/platform/text \
60         -I$(srcdir)/Source/WebCore/platform/text/transcoder
61
62 noinst_LTLIBRARIES += \
63         libPlatform.la \
64         libPlatformGtk.la
65
66 # Artificial dependencies to try to force a relink of the Platform libraries when their makefile changes.
67 platform_lib_for_dep = libPlatform.la
68 $(platform_lib_for_dep): $(srcdir)/Source/Platform/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
69
70 platformgtk_lib_for_dep = libPlatformGtk.la
71 $(platformgtk_lib_for_dep): $(srcdir)/Source/Platform/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
72
73 libPlatform_la_SOURCES = \
74         $(platform_sources)
75
76 nodist_libPlatform_la_SOURCES = \
77         $(platform_built_sources)
78
79 libPlatform_la_CXXFLAGS = \
80         -fvisibility-inlines-hidden \
81         $(global_cxxflags)
82
83 libPlatform_la_CFLAGS = \
84         -fvisibility=hidden \
85         $(global_cflags)
86
87 libPlatform_la_CPPFLAGS = \
88         -DBUILDING_WEBKIT \
89         $(global_cppflags) \
90         $(platform_cppflags) \
91         $(platform_webcore_cppflags) \
92         $(javascriptcore_cppflags) \
93         -fno-strict-aliasing \
94         $(CAIRO_CFLAGS) \
95         $(ENCHANT_CFLAGS) \
96         $(FREETYPE_CFLAGS) \
97         $(GEOCLUE_CFLAGS) \
98         $(GSTREAMER_CFLAGS) \
99         $(LIBSOUP_CFLAGS) \
100         $(UPOWER_GLIB_CFLAGS)
101
102 libPlatformGtk_la_SOURCES = \
103         $(platformgtk_sources)
104
105 libPlatformGtk_la_CXXFLAGS = \
106         -fvisibility-inlines-hidden \
107         $(global_cxxflags)
108
109 libPlatformGtk_la_CFLAGS = \
110         -fvisibility=hidden \
111         $(global_cflags)
112
113 libPlatformGtk_la_CPPFLAGS = \
114         -DBUILDING_WEBKIT \
115         $(global_cppflags) \
116         $(platform_cppflags) \
117         $(platformgtk_cppflags) \
118         $(platform_webcore_cppflags) \
119         $(javascriptcore_cppflags) \
120         -fno-strict-aliasing \
121         $(FREETYPE_CFLAGS) \
122         $(GSTREAMER_CFLAGS) \
123         $(GTK_CFLAGS) \
124         $(LIBSECRET_CFLAGS) \
125         $(LIBSOUP_CFLAGS)
126
127 DerivedSources/Platform/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
128         $(AM_V_GEN)$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_PLATFORM) $(WebCore)/platform/ColorData.gperf
129
130 DerivedSources/Platform/WebKitFontFamilyNames.cpp: DerivedSources/Platform/WebKitFontFamilyNames.h
131 DerivedSources/Platform/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/bindings/scripts/Hasher.pm $(WebCore)/bindings/scripts/StaticString.pm $(WebCore)/css/WebKitFontFamilyNames.in
132         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_PLATFORM)"