include $(REP_DIR)/lib/import/import-qt_script.mk

SHARED_LIB = yes

REQUIRES += deprecated

# extracted from src/script/Makefile
QT_DEFINES += -DJSC=QTJSC -Djscyyparse=qtjscyyparse -Djscyylex=qtjscyylex -Djscyyerror=qtjscyyerror -DWTF=QTWTF -DQT_BUILD_SCRIPT_LIB -DQT_NO_USING_NAMESPACE -DQLALR_NO_QSCRIPTGRAMMAR_DEBUG_INFO -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DBUILDING_QT__=1 -DNDEBUG -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DNDEBUG -DJS_EXPORT= -DJS_EXPORTDATA= -DQT_NO_DEBUG -DQT_CORE_LIB

#CC_CXX_OPT += -pipe -Wreturn-type -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT

# use default warning level to avoid noise when compiling contrib code
CC_WARN =

# extracted from src/script/Makefile
QT_SOURCES = \
		 pcre_compile.cpp \
		 pcre_exec.cpp \
		 pcre_tables.cpp \
		 pcre_ucp_searchfuncs.cpp \
		 pcre_xclass.cpp \
		 Assertions.cpp \
		 ByteArray.cpp \
		 HashTable.cpp \
		 MainThread.cpp \
		 RandomNumber.cpp \
		 RefCountedLeakCounter.cpp \
		 TypeTraits.cpp \
		 CollatorDefault.cpp \
		 CollatorICU.cpp \
		 UTF8.cpp \
		 JSBase.cpp \
		 JSCallbackConstructor.cpp \
		 JSCallbackFunction.cpp \
		 JSCallbackObject.cpp \
		 JSClassRef.cpp \
		 JSContextRef.cpp \
		 JSObjectRef.cpp \
		 JSStringRef.cpp \
		 JSValueRef.cpp \
		 OpaqueJSString.cpp \
		 InitializeThreading.cpp \
		 JSGlobalData.cpp \
		 JSGlobalObject.cpp \
		 JSStaticScopeObject.cpp \
		 JSVariableObject.cpp \
		 JSActivation.cpp \
		 JSNotAnObject.cpp \
		 JSONObject.cpp \
		 LiteralParser.cpp \
		 MarkStack.cpp \
		 TimeoutChecker.cpp \
		 CodeBlock.cpp \
		 StructureStubInfo.cpp \
		 JumpTable.cpp \
		 ARMAssembler.cpp \
		 MacroAssemblerARM.cpp \
		 JIT.cpp \
		 JITCall.cpp \
		 JITArithmetic.cpp \
		 JITOpcodes.cpp \
		 JITPropertyAccess.cpp \
		 ExecutableAllocator.cpp \
		 JITStubs.cpp \
		 BytecodeGenerator.cpp \
		 ExceptionHelpers.cpp \
		 JSPropertyNameIterator.cpp \
		 Interpreter.cpp \
		 Opcode.cpp \
		 SamplingTool.cpp \
		 RegexCompiler.cpp \
		 RegexInterpreter.cpp \
		 RegexJIT.cpp \
		 RegisterFile.cpp \
		 ExecutableAllocatorPosix.cpp \
		 MarkStackPosix.cpp \
		 TCSystemAlloc.cpp \
		 ArgList.cpp \
		 Arguments.cpp \
		 ArrayConstructor.cpp \
		 ArrayPrototype.cpp \
		 BooleanConstructor.cpp \
		 BooleanObject.cpp \
		 BooleanPrototype.cpp \
		 CallData.cpp \
		 Collector.cpp \
		 CommonIdentifiers.cpp \
		 ConstructData.cpp \
		 CurrentTime.cpp \
		 DateConstructor.cpp \
		 DateConversion.cpp \
		 DateInstance.cpp \
		 DatePrototype.cpp \
		 Debugger.cpp \
		 DebuggerCallFrame.cpp \
		 DebuggerActivation.cpp \
		 dtoa.cpp \
		 Error.cpp \
		 ErrorConstructor.cpp \
		 ErrorInstance.cpp \
		 ErrorPrototype.cpp \
		 CallFrame.cpp \
		 Executable.cpp \
		 FunctionConstructor.cpp \
		 FunctionPrototype.cpp \
		 GetterSetter.cpp \
		 GlobalEvalFunction.cpp \
		 Identifier.cpp \
		 InternalFunction.cpp \
		 Completion.cpp \
		 JSArray.cpp \
		 JSAPIValueWrapper.cpp \
		 JSByteArray.cpp \
		 JSCell.cpp \
		 JSFunction.cpp \
		 JSGlobalObjectFunctions.cpp \
		 JSImmediate.cpp \
		 JSLock.cpp \
		 JSNumberCell.cpp \
		 JSObject.cpp \
		 JSString.cpp \
		 JSValue.cpp \
		 JSWrapperObject.cpp \
		 Lexer.cpp \
		 Lookup.cpp \
		 MathObject.cpp \
		 NativeErrorConstructor.cpp \
		 NativeErrorPrototype.cpp \
		 Nodes.cpp \
		 NumberConstructor.cpp \
		 NumberObject.cpp \
		 NumberPrototype.cpp \
		 ObjectConstructor.cpp \
		 ObjectPrototype.cpp \
		 Operations.cpp \
		 Parser.cpp \
		 ParserArena.cpp \
		 PropertyDescriptor.cpp \
		 PropertyNameArray.cpp \
		 PropertySlot.cpp \
		 PrototypeFunction.cpp \
		 RegExp.cpp \
		 RegExpConstructor.cpp \
		 RegExpObject.cpp \
		 RegExpPrototype.cpp \
		 ScopeChain.cpp \
		 SmallStrings.cpp \
		 StringConstructor.cpp \
		 StringObject.cpp \
		 StringPrototype.cpp \
		 Structure.cpp \
		 StructureChain.cpp \
		 UString.cpp \
		 HeavyProfile.cpp \
		 Profile.cpp \
		 ProfileGenerator.cpp \
		 ProfileNode.cpp \
		 Profiler.cpp \
		 TreeProfile.cpp \
		 DateMath.cpp \
		 FastMalloc.cpp \
		 Threading.cpp \
		 MainThreadQt.cpp \
		 ThreadingQt.cpp \
		 Grammar.cpp \
		 qscriptclass.cpp \
		 qscriptclasspropertyiterator.cpp \
		 qscriptcontext.cpp \
		 qscriptcontextinfo.cpp \
		 qscriptengine.cpp \
		 qscriptengineagent.cpp \
		 qscriptextensionplugin.cpp \
		 qscriptprogram.cpp \
		 qscriptstring.cpp \
		 qscriptvalue.cpp \
		 qscriptvalueiterator.cpp \
		 qscriptable.cpp \
		 qscriptfunction.cpp \
		 qscriptobject.cpp \
		 qscriptclassobject.cpp \
		 qscriptvariant.cpp \
		 qscriptqobject.cpp \
		 qscriptglobalobject.cpp \
		 qscriptactivationobject.cpp \
		 qscriptdeclarativeobject.cpp \
		 qscriptdeclarativeclass.cpp \
		 qscriptast.cpp \
		 qscriptastvisitor.cpp \
		 qscriptgrammar.cpp \
		 qscriptsyntaxchecker.cpp \
		 qscriptlexer.cpp \
		 qscriptdate.cpp \
		 moc_qscriptextensionplugin.cpp

# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage

# source files generated from existing header files ("moc_%.cpp: %.h" rule in spec-qt4.mk)
# extracted from "compiler_moc_header_make_all" target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
                                     moc_qscriptengine.cpp \
                                     moc_qscriptextensionplugin.cpp \
                                     moc_qscriptqobject_p.cpp

# source files generated from existing source files ("%.moc: %.cpp" rule in spec-qt4.mk)
# extracted from "compiler_moc_source_make_all" rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \
                                     MainThreadQt.moc

INC_DIR += $(REP_DIR)/src/lib/qt4/mkspecs/qws/genode-x86-g++ \
           $(REP_DIR)/include/qt4 \
           $(REP_DIR)/contrib/$(QT4)/include \
           $(REP_DIR)/include/qt4/QtCore \
           $(REP_DIR)/contrib/$(QT4)/include/QtCore \
           $(REP_DIR)/include/qt4/QtCore/private \
           $(REP_DIR)/contrib/$(QT4)/include/QtCore/private \
           $(REP_DIR)/include/qt4/QtScript \
           $(REP_DIR)/contrib/$(QT4)/include/QtScript \
           $(REP_DIR)/include/qt4/QtScript/private \
           $(REP_DIR)/contrib/$(QT4)/include/QtScript/private \
           $(REP_DIR)/src/lib/qt4/src/script \
           $(REP_DIR)/contrib/$(QT4)/src/script \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/assembler \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/assembler \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecode \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecode \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/debugger \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/debugger \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/interpreter \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/interpreter \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/jit \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/jit \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/parser \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/parser \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/profiler \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/profiler \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/runtime \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/runtime \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wrec \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wrec \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/yarr \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/yarr \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/API \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/API \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/ForwardingHeaders \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/ForwardingHeaders \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/javascriptcore/qt/Api \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/javascriptcore/qt/Api \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/pcre \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/pcre \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/javascriptcoreBuild/Release/JavaScriptCore/tmp \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/javascriptcoreBuild/Release/JavaScriptCore/tmp \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/parser \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/parser \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/debugger \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/debugger \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/runtime \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/runtime \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/unicode \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/unicode \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/interpreter \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/interprter \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/jit \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/jit \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/profiler \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/profiler \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wrec \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wrec \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/API \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/API \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecode \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecode \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/assembler \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/assembler \
           $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/generated \
           $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/generated \
           $(REP_DIR)/src/lib/qt4/src/corelib/global

LIBS += qt_core libc

vpath % $(REP_DIR)/include/qt4/QtScript
vpath % $(REP_DIR)/include/qt4/QtScript/private

vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/pcre
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/icu
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/wtf/qt
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/API
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/runtime
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecode
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/assembler
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/jit
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/interpreter
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/bytecode
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/yarr
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/debugger
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/parser
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/profiler
vpath % $(REP_DIR)/src/lib/qt4/src/3rdparty/javascriptcore/JavaScriptCore/generated
vpath % $(REP_DIR)/src/lib/qt4/src/script/api
vpath % $(REP_DIR)/src/lib/qt4/src/script/bridge
vpath % $(REP_DIR)/src/lib/qt4/src/script/parser
vpath % $(REP_DIR)/src/lib/qt4/src/script/utils

vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/pcre
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/icu
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/wtf/qt
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/API
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/runtime
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecode
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/assembler
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/jit
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/interpreter
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/bytecode
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/yarr
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/debugger
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/parser
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/profiler
vpath % $(REP_DIR)/contrib/$(QT4)/src/3rdparty/javascriptcore/JavaScriptCore/generated
vpath % $(REP_DIR)/contrib/$(QT4)/src/script/api
vpath % $(REP_DIR)/contrib/$(QT4)/src/script/bridge
vpath % $(REP_DIR)/contrib/$(QT4)/src/script/parser
vpath % $(REP_DIR)/contrib/$(QT4)/src/script/utils

include $(REP_DIR)/lib/mk/qt.mk
