1 AUTOMAKE_OPTIONS = subdir-objects
6 # Directory for autogenerated sources
7 GENSOURCES := $(top_builddir)/DerivedSources
9 # Script for creating hash tables
10 CREATE_HASH_TABLE = $(srcdir)/JavaScriptCore/kjs/create_hash_table
12 # Libraries and support components
23 # Files that will be distributed
31 -I $(srcdir)/JavaScriptCore \
32 -I $(srcdir)/JavaScriptCore/ForwardingHeaders \
33 -I $(srcdir)/JavaScriptCore/wtf \
34 -I $(srcdir)/JavaScriptCore/kjs \
35 -I $(top_builddir)/DerivedSources
37 # Default compiler flags
39 -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type \
40 -Wformat -Wformat-security -Wno-format-y2k -Wundef \
41 -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings \
42 -Wno-unused-parameter -fno-exceptions -fno-strict-aliasing
45 lib_LTLIBRARIES = libJavaScriptCore.la libWebKitGtk.la
49 # Following are the variables we use in JavaScripCore/GNUmakefile.am
51 # javascriptcore_h_api - api headers to be included in the JSC library
52 # javascriptcore_cppflags - CPP flags for JSC
53 # javascriptcore_sources - source files to be included
54 # javascriptcore_built_sources - autogenerated sources and/or header files that are part of _SOURCES
55 # javascriptcore_built_nosources - same as above but not part of _SOURCES
57 # If you add or remove sources or header files, make sure you update the
58 # following variables in JavaScriptCore/GNUmakefile.am
60 javascriptcore_h_api :=
61 javascriptcore_cppflags:=
62 javascriptcore_sources :=
63 javascriptcore_built_sources :=
64 javascriptcore_built_nosources :=
66 # The variables above are already included below so we don't need to touch
67 # these variables too often
68 libJavaScriptCore_ladir = $(prefix)/include/WebKit/JavaScriptCore
69 libJavaScriptCore_la_HEADERS := $(javascriptcore_h_api)
71 libJavaScriptCore_la_SOURCES := \
72 $(javascriptcore_built_sources) \
73 $(javascriptcore_sources)
75 libJavaScriptCore_la_LDFLAGS := -lpthread
77 libJavaScriptCore_la_CXXFLAGS := $(global_cflags)
79 libJavaScriptCore_la_CFLAGS := $(global_cflags)
81 libJavaScriptCore_la_CPPFLAGS := $(global_cppflags) $(javascriptcore_cppflags)
85 # The Following variables have the same meaning as JSC, with addition of:
87 # webcore_sources - These are port-independent sources and header files
88 # webkitgtk_headers - header files that will be included in _SOURCES
95 webkitgtk_built_sources :=
96 webkitgtk_built_nosources :=
98 # No need to touch the following variables unless you have to. If you need to change the values
99 # for the following variables, use the "webkitgtk_" variables above
100 libWebKitGtk_ladir := $(prefix)/include/WebKit
102 libWebKitGtk_la_HEADERS := $(webkitgtk_h_api)
104 libWebKitGtk_la_SOURCES := \
106 $(webkitgtk_built_sources) \
107 $(webkitgtk_headers) \
110 libWebKitGtk_la_CXXFLAGS := \
113 $(DEPENDENCIES_CFLAGS) \
116 $(GSTREAMER_CFLAGS) \
120 libWebKitGtk_la_CFLAGS := \
122 $(DEPENDENCIES_CFLAGS) \
125 $(GSTREAMER_CFLAGS) \
129 libWebKitGtk_la_CPPFLAGS := \
131 $(webkitgtk_cppflags)
133 libWebKitGtk_la_LIBADD := @LTLIBOBJS@ libJavaScriptCore.la
135 libWebKitGtk_la_LDFLAGS := \
136 $(DEPENDENCIES_LIBS) \
143 libWebKitGtk_la_LDFLAGS += \
146 -version-info @LIBWEBKITGTK_VERSION@
148 # Extra checks and flags
152 -DUSE_SYSTEM_MALLOC \
156 global_cppflags += -DNDEBUG
160 global_cppflags += -DXP_UNIX
164 global_cppflags += -DHAVE_STDINT_H
168 global_cppflags += -DHAVE_PTHREAD_NP_H
173 -DGCC_GENERATE_TEST_COVERAGE_FILES \
174 -DGCC_INSTRUMENT_PROGRAM_FLOW_ARCS
178 libWebKitGtk_la_LDFLAGS += -lgstinterfaces-0.10 -lgstvideo-0.10
181 # WebKit/GTK+ sources
183 webkitgtk_cppflags += \
184 -I $(top_builddir)/WebKit/gtk/WebView \
185 -DBUILDING_CAIRO__=1 \
189 WebKit/gtk/WebView/webkit.h \
190 WebKit/gtk/WebView/webkitdefines.h \
191 WebKit/gtk/WebView/webkitnetworkrequest.h \
192 WebKit/gtk/WebView/webkitwebframe.h \
193 WebKit/gtk/WebView/webkitwebview.h
195 webkitgtk_built_sources += \
196 WebKit/gtk/WebView/webkit-marshal.h \
197 WebKit/gtk/WebView/webkit-marshal.cpp
199 webkitgtk_headers += \
200 WebKit/gtk/WebView/webkitprivate.h \
201 WebKit/gtk/WebView/webkitsettings.h \
202 WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
203 WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
204 WebKit/gtk/WebCoreSupport/DragClientGtk.h \
205 WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
206 WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
207 WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
208 WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
210 webkitgtk_sources += \
211 WebKit/gtk/WebView/webkitnetworkrequest.cpp \
212 WebKit/gtk/WebView/webkitprivate.cpp \
213 WebKit/gtk/WebView/webkitsettings.cpp \
214 WebKit/gtk/WebView/webkitwebframe.cpp \
215 WebKit/gtk/WebView/webkitwebview.cpp \
216 WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp \
217 WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
218 WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
219 WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
220 WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
221 WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
222 WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
224 pkgconfigdir = $(libdir)/pkgconfig
225 pkgconfig_DATA = WebKit/gtk/WebKitGtk.pc
227 WEBKIT_MARSHAL = $(CURDIR)/WebKit/gtk/WebView/webkit-marshal
228 WEBKIT_MARSHAL_LIST = $(srcdir)/WebKit/gtk/WebView/webkit-marshal.list
231 stamp-webkit-marshal.cpp \
232 stamp-webkit-marshal.h
234 WebKit/gtk/WebView/webkit-marshal.cpp: stamp-webkit-marshal.cpp
237 WebKit/gtk/WebView/webkit-marshal.h: stamp-webkit-marshal.h
240 stamp-webkit-marshal.cpp: $(WEBKIT_MARSHAL_LIST)
241 echo "extern \"C\" {" > $(WEBKIT_MARSHAL).cpp && \
242 $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) \
243 --body >> $(WEBKIT_MARSHAL).cpp && echo '}' >> $(WEBKIT_MARSHAL).cpp && \
244 echo timestamp > $(@F)
246 stamp-webkit-marshal.h: $(WEBKIT_MARSHAL_LIST)
247 $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) \
248 --header > $(WEBKIT_MARSHAL).h && \
249 echo timestamp > $(@F)
251 # Autogenerated sources
253 $(javascriptcore_built_sources) \
254 $(javascriptcore_built_nosources) \
255 $(webkitgtk_built_sources) \
256 $(webkitgtk_built_nosources)
258 # Files that will be cleaned
259 MAINTAINERCLEANFILES := $(stamp_files) $(BUILT_SOURCES)
260 DISTCLEANFILES := $(stamp_files) $(BUILT_SOURCES)
261 CLEANFILES := $(stamp_files) $(BUILT_SOURCES)
263 # Include module makefiles
264 include JavaScriptCore/GNUmakefile.am
265 include WebCore/GNUmakefile.am
266 include WebKitTools/GNUmakefile.am
268 # Project-wide clean rules
270 -rm -rf $(GENSOURCES)
271 -rm -f $(top_builddir)/Programs/GtkLauncher $(top_builddir)/Programs/DumpRenderTree
272 -rm -f $(top_builddir)/Programs/testkjs $(top_builddir)/Programs/dftables
273 -rm -f $(top_builddir/WebKit/gtk/WebKitGtk-1.0.pc
276 -rm -f $(srcdir)/aconfig.h.in configure config.* GNUmakefile.in \