include $(srcdir)/Source/JavaScriptCore/GNUmakefile.list.am

lib_LTLIBRARIES += \
	libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la

# We are going to make everything public for now. When
# https://bugs.webkit.org/show_bug.cgi?id=27551 is fixed we'll able to
# simply rely on the usual symbol visibility flags.
libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LDFLAGS = \
	-version-info @LIBJAVASCRIPTCOREGTK_VERSION@ \
	$(no_undefined)

nodist_EXTRA_libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
	$(javascriptcore_built_nosources)

nodist_libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
	$(javascriptcore_built_sources)

libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(libwebkitgtkincludedir)/JavaScriptCore
libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_HEADERS = $(javascriptcore_h_api)

libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
	$(javascriptcore_sources)

libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD = \
	-lpthread \
	libWTF.la \
	$(UNICODE_LIBS) \
	$(GLIB_LIBS) \
	$(WINMM_LIBS)

libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \
	$(global_cxxflags) \
	$(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS)

libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \
	-fstrict-aliasing \
	-O3 \
	$(javascriptcore_cflags)

libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CPPFLAGS = \
	$(global_cppflags) \
	$(javascriptcore_cppflags)

javascriptcore_cppflags += \
	$(JSC_CPPFLAGS) \
	-I$(srcdir)/Source \
	-I$(srcdir)/Source/JavaScriptCore \
	-I$(srcdir)/Source/JavaScriptCore/API \
	-I$(srcdir)/Source/JavaScriptCore/assembler \
	-I$(srcdir)/Source/JavaScriptCore/bytecode \
	-I$(srcdir)/Source/JavaScriptCore/bytecompiler \
	-I$(srcdir)/Source/JavaScriptCore/dfg \
	-I$(srcdir)/Source/JavaScriptCore/disassembler \
	-I$(srcdir)/Source/JavaScriptCore/heap \
	-I$(srcdir)/Source/JavaScriptCore/debugger \
	-I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
	-I$(srcdir)/Source/JavaScriptCore/interpreter \
	-I$(srcdir)/Source/JavaScriptCore/jit \
	-I$(srcdir)/Source/JavaScriptCore/jit \
	-I$(srcdir)/Source/JavaScriptCore/llint \
	-I$(srcdir)/Source/JavaScriptCore/parser \
	-I$(srcdir)/Source/JavaScriptCore/profiler \
	-I$(srcdir)/Source/JavaScriptCore/runtime \
	-I$(srcdir)/Source/JavaScriptCore/tools \
	-I$(srcdir)/Source/JavaScriptCore/yarr \
	-I$(top_builddir)/DerivedSources/JavaScriptCore

javascriptcore_cppflags += \
	-I$(srcdir)/Source/WTF

javascriptcore_cflags += \
	$(global_cflags) \
	$(GLIB_CFLAGS) \
	$(UNICODE_CFLAGS)

pkgconfig_DATA += Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc

$(shell mkdir -p DerivedSources/JavaScriptCore)

DerivedSources/JavaScriptCore/Lexer.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
	$(AM_V_GEN)$(PERL) $^ > $@

DerivedSources/JavaScriptCore/%.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/runtime/%.cpp
	$(AM_V_GEN)$(PERL) $^ -i > $@

DerivedSources/JavaScriptCore/RegExpJitTables.h: $(srcdir)/Source/JavaScriptCore/create_regex_tables
	$(AM_V_GEN)$(PYTHON) $^ > $@

DerivedSources/JavaScriptCore/KeywordLookup.h: $(srcdir)/Source/JavaScriptCore/KeywordLookupGenerator.py $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
	$(AM_V_GEN)$(PYTHON) $^ > $@

DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h: $(javascriptcore_sources) $(llint_nosources) $(offlineasm_nosources)
	$(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm $@

$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h

DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
	$(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/asm.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@

$(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/JavaScriptCore/LLIntAssembly.h

jsc: $(javascriptcore_built_nosources) Programs/jsc$(EXEEXT)

bin_PROGRAMS += \
	Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)

noinst_PROGRAMS += \
	Programs/jsc \
	Programs/minidom \
	Programs/LLIntOffsetsExtractor

Programs_minidom_CPPFLAGS = \
	$(global_cppflags) \
	$(javascriptcore_cppflags)

Programs_minidom_CFLAGS = \
	-ansi \
	-fno-strict-aliasing \
	$(global_cflags) \
	$(GLOBALDEPS_CFLAGS)

Programs_minidom_LDADD = \
	libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
	$(WINMM_LIBS) \
	-lm \
	-lpthread \
	-lstdc++

Programs_minidom_LDFLAGS = \
	-no-install \
	-no-fast-install

Programs_LLIntOffsetsExtractor_CPPFLAGS = \
	$(global_cppflags) \
	$(javascriptcore_cppflags)

Programs_LLIntOffsetsExtractor_CFLAGS = \
	-ansi \
	-fno-strict-aliasing \
	$(global_cflags) \
	$(GLOBALDEPS_CFLAGS)

Programs_LLIntOffsetsExtractor_LDADD = \
	-lpthread \
	libWTF.la \
	$(UNICODE_LIBS) \
	$(GLIB_LIBS) \
	$(WINMM_LIBS) \
	-lm \
	-lpthread \
	-lstdc++

Programs_LLIntOffsetsExtractor_LDFLAGS = \
	-no-install \
	-no-fast-install

# jsc
Programs/jsc$(EXEEXT): Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)
	$(AM_V_GEN)cp -f Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT) Programs/jsc$(EXEEXT)
Programs_jsc_LDADD =
Programs_jsc_SOURCES =

Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CPPFLAGS = \
	$(global_cppflags) \
	$(javascriptcore_cppflags)

Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CXXFLAGS = \
	-fno-strict-aliasing \
	$(global_cxxflags) \
	$(global_cflags) \
	$(GLOBALDEPS_CFLAGS) \
	$(UNICODE_CFLAGS)

Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_LDADD = \
	-lpthread \
	libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
	$(WINMM_LIBS)

EXTRA_DIST += \
	Source/JavaScriptCore/AUTHORS \
	Source/JavaScriptCore/ChangeLog \
	Source/JavaScriptCore/COPYING.LIB \
	Source/JavaScriptCore/create_hash_table \
	Source/JavaScriptCore/create_regex_tables \
	Source/JavaScriptCore/icu/LICENSE \
	Source/JavaScriptCore/icu/README \
	Source/JavaScriptCore/KeywordLookupGenerator.py \
	Source/JavaScriptCore/parser/Keywords.table \
	Source/JavaScriptCore/THANKS \
	$(llint_nosources) \
	$(offlineasm_nosources)

CLEANFILES += \
	$(javascriptcore_built_nosources) \
	Programs/jsc \
	Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@ \
	Programs/LLIntOffsetsExtractor \
	Programs/minidom

DISTCLEANFILES += \
	$(top_builddir)/Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc
