1include $(srcdir)/Source/JavaScriptCore/GNUmakefile.list.am
2
3lib_LTLIBRARIES += \
4	libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
5
6# We are going to make everything public for now. When
7# https://bugs.webkit.org/show_bug.cgi?id=27551 is fixed we'll able to
8# simply rely on the usual symbol visibility flags.
9libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LDFLAGS = \
10	-version-info @LIBJAVASCRIPTCOREGTK_VERSION@ \
11	$(no_undefined)
12
13nodist_EXTRA_libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
14	$(javascriptcore_built_nosources)
15
16nodist_libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
17	$(javascriptcore_built_sources)
18
19libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(libwebkitgtkincludedir)/JavaScriptCore
20libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_HEADERS = $(javascriptcore_h_api)
21
22libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
23	$(javascriptcore_sources)
24
25libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD = \
26	-lpthread \
27	libWTF.la \
28	$(UNICODE_LIBS) \
29	$(GLIB_LIBS) \
30	$(WINMM_LIBS)
31
32libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \
33	$(global_cxxflags) \
34	$(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS)
35
36libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \
37	-fstrict-aliasing \
38	-O3 \
39	$(javascriptcore_cflags)
40
41libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CPPFLAGS = \
42	$(global_cppflags) \
43	$(javascriptcore_cppflags)
44
45javascriptcore_cppflags += \
46	$(JSC_CPPFLAGS) \
47	-I$(srcdir)/Source \
48	-I$(srcdir)/Source/JavaScriptCore \
49	-I$(srcdir)/Source/JavaScriptCore/API \
50	-I$(srcdir)/Source/JavaScriptCore/assembler \
51	-I$(srcdir)/Source/JavaScriptCore/bytecode \
52	-I$(srcdir)/Source/JavaScriptCore/bytecompiler \
53	-I$(srcdir)/Source/JavaScriptCore/dfg \
54	-I$(srcdir)/Source/JavaScriptCore/disassembler \
55	-I$(srcdir)/Source/JavaScriptCore/heap \
56	-I$(srcdir)/Source/JavaScriptCore/debugger \
57	-I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
58	-I$(srcdir)/Source/JavaScriptCore/interpreter \
59	-I$(srcdir)/Source/JavaScriptCore/jit \
60	-I$(srcdir)/Source/JavaScriptCore/jit \
61	-I$(srcdir)/Source/JavaScriptCore/llint \
62	-I$(srcdir)/Source/JavaScriptCore/parser \
63	-I$(srcdir)/Source/JavaScriptCore/profiler \
64	-I$(srcdir)/Source/JavaScriptCore/runtime \
65	-I$(srcdir)/Source/JavaScriptCore/tools \
66	-I$(srcdir)/Source/JavaScriptCore/yarr \
67	-I$(top_builddir)/DerivedSources/JavaScriptCore
68
69javascriptcore_cppflags += \
70	-I$(srcdir)/Source/WTF
71
72javascriptcore_cflags += \
73	$(global_cflags) \
74	$(GLIB_CFLAGS) \
75	$(UNICODE_CFLAGS)
76
77pkgconfig_DATA += Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc
78
79$(shell mkdir -p DerivedSources/JavaScriptCore)
80
81DerivedSources/JavaScriptCore/Lexer.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
82	$(AM_V_GEN)$(PERL) $^ > $@
83
84DerivedSources/JavaScriptCore/%.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/runtime/%.cpp
85	$(AM_V_GEN)$(PERL) $^ -i > $@
86
87DerivedSources/JavaScriptCore/RegExpJitTables.h: $(srcdir)/Source/JavaScriptCore/create_regex_tables
88	$(AM_V_GEN)$(PYTHON) $^ > $@
89
90DerivedSources/JavaScriptCore/KeywordLookup.h: $(srcdir)/Source/JavaScriptCore/KeywordLookupGenerator.py $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
91	$(AM_V_GEN)$(PYTHON) $^ > $@
92
93DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h: $(javascriptcore_sources) $(llint_nosources) $(offlineasm_nosources)
94	$(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm $@
95
96$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h
97
98DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
99	$(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/asm.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@
100
101$(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/JavaScriptCore/LLIntAssembly.h
102
103jsc: $(javascriptcore_built_nosources) Programs/jsc$(EXEEXT)
104
105bin_PROGRAMS += \
106	Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)
107
108noinst_PROGRAMS += \
109	Programs/jsc \
110	Programs/minidom \
111	Programs/LLIntOffsetsExtractor
112
113Programs_minidom_CPPFLAGS = \
114	$(global_cppflags) \
115	$(javascriptcore_cppflags)
116
117Programs_minidom_CFLAGS = \
118	-ansi \
119	-fno-strict-aliasing \
120	$(global_cflags) \
121	$(GLOBALDEPS_CFLAGS)
122
123Programs_minidom_LDADD = \
124	libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
125	$(WINMM_LIBS) \
126	-lm \
127	-lpthread \
128	-lstdc++
129
130Programs_minidom_LDFLAGS = \
131	-no-install \
132	-no-fast-install
133
134Programs_LLIntOffsetsExtractor_CPPFLAGS = \
135	$(global_cppflags) \
136	$(javascriptcore_cppflags)
137
138Programs_LLIntOffsetsExtractor_CFLAGS = \
139	-ansi \
140	-fno-strict-aliasing \
141	$(global_cflags) \
142	$(GLOBALDEPS_CFLAGS)
143
144Programs_LLIntOffsetsExtractor_LDADD = \
145	-lpthread \
146	libWTF.la \
147	$(UNICODE_LIBS) \
148	$(GLIB_LIBS) \
149	$(WINMM_LIBS) \
150	-lm \
151	-lpthread \
152	-lstdc++
153
154Programs_LLIntOffsetsExtractor_LDFLAGS = \
155	-no-install \
156	-no-fast-install
157
158# jsc
159Programs/jsc$(EXEEXT): Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)
160	$(AM_V_GEN)cp -f Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT) Programs/jsc$(EXEEXT)
161Programs_jsc_LDADD =
162Programs_jsc_SOURCES =
163
164Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CPPFLAGS = \
165	$(global_cppflags) \
166	$(javascriptcore_cppflags)
167
168Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CXXFLAGS = \
169	-fno-strict-aliasing \
170	$(global_cxxflags) \
171	$(global_cflags) \
172	$(GLOBALDEPS_CFLAGS) \
173	$(UNICODE_CFLAGS)
174
175Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_LDADD = \
176	-lpthread \
177	libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
178	$(WINMM_LIBS)
179
180EXTRA_DIST += \
181	Source/JavaScriptCore/AUTHORS \
182	Source/JavaScriptCore/ChangeLog \
183	Source/JavaScriptCore/COPYING.LIB \
184	Source/JavaScriptCore/create_hash_table \
185	Source/JavaScriptCore/create_regex_tables \
186	Source/JavaScriptCore/icu/LICENSE \
187	Source/JavaScriptCore/icu/README \
188	Source/JavaScriptCore/KeywordLookupGenerator.py \
189	Source/JavaScriptCore/parser/Keywords.table \
190	Source/JavaScriptCore/THANKS \
191	$(llint_nosources) \
192	$(offlineasm_nosources)
193
194CLEANFILES += \
195	$(javascriptcore_built_nosources) \
196	Programs/jsc \
197	Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@ \
198	Programs/LLIntOffsetsExtractor \
199	Programs/minidom
200
201DISTCLEANFILES += \
202	$(top_builddir)/Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc
203
204if ENABLE_INTROSPECTION
205# The GIR file is generated via autoconf, as we don't need to run the scanner against non-GObject libraries.
206JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib: JavaScriptCore-@WEBKITGTK_API_VERSION@.gir $(G_IR_COMPILER)
207	$(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(top_builddir) $< -o $@
208
209gir_DATA += JavaScriptCore-@WEBKITGTK_API_VERSION@.gir
210typelibs_DATA += JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib
211CLEANFILES += JavaScriptCore-@WEBKITGTK_API_VERSION@.gir JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib
212endif
213