1 | # -------------------------------------------------------------------
|
---|
2 | # Derived sources for JavaScriptSource
|
---|
3 | #
|
---|
4 | # See 'Tools/qmake/README' for an overview of the build system
|
---|
5 | # -------------------------------------------------------------------
|
---|
6 |
|
---|
7 | TEMPLATE = derived
|
---|
8 |
|
---|
9 | LUT_FILES += \
|
---|
10 | runtime/ArrayConstructor.cpp \
|
---|
11 | runtime/ArrayPrototype.cpp \
|
---|
12 | runtime/BooleanPrototype.cpp \
|
---|
13 | runtime/DateConstructor.cpp \
|
---|
14 | runtime/DatePrototype.cpp \
|
---|
15 | runtime/ErrorPrototype.cpp \
|
---|
16 | runtime/JSGlobalObject.cpp \
|
---|
17 | runtime/JSONObject.cpp \
|
---|
18 | runtime/MathObject.cpp \
|
---|
19 | runtime/NamePrototype.cpp \
|
---|
20 | runtime/NumberConstructor.cpp \
|
---|
21 | runtime/NumberPrototype.cpp \
|
---|
22 | runtime/ObjectConstructor.cpp \
|
---|
23 | runtime/ObjectPrototype.cpp \
|
---|
24 | runtime/RegExpConstructor.cpp \
|
---|
25 | runtime/RegExpObject.cpp \
|
---|
26 | runtime/RegExpPrototype.cpp \
|
---|
27 | runtime/StringConstructor.cpp \
|
---|
28 | runtime/StringPrototype.cpp \
|
---|
29 |
|
---|
30 | KEYWORDLUT_FILES += \
|
---|
31 | parser/Keywords.table
|
---|
32 |
|
---|
33 | JIT_STUB_FILES += \
|
---|
34 | jit/JITStubs.cpp
|
---|
35 |
|
---|
36 | LLINT_FILES = \
|
---|
37 | llint/LowLevelInterpreter.asm
|
---|
38 |
|
---|
39 | LLINT_DEPENDENCY = \
|
---|
40 | $$PWD/llint/LowLevelInterpreter32_64.asm \
|
---|
41 | $$PWD/llint/LowLevelInterpreter64.asm
|
---|
42 |
|
---|
43 | # GENERATOR 1-A: LUT creator
|
---|
44 | lut.output = ${QMAKE_FILE_BASE}.lut.h
|
---|
45 | lut.input = LUT_FILES
|
---|
46 | lut.script = $$PWD/create_hash_table
|
---|
47 | lut.commands = perl $$lut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
|
---|
48 | lut.depends = ${QMAKE_FILE_NAME}
|
---|
49 | GENERATORS += lut
|
---|
50 |
|
---|
51 | # GENERATOR 1-B: particular LUT creator (for 1 file only)
|
---|
52 | keywordlut.output = Lexer.lut.h
|
---|
53 | keywordlut.input = KEYWORDLUT_FILES
|
---|
54 | keywordlut.script = $$PWD/create_hash_table
|
---|
55 | keywordlut.commands = perl $$keywordlut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
|
---|
56 | keywordlut.depends = ${QMAKE_FILE_NAME}
|
---|
57 | GENERATORS += keywordlut
|
---|
58 |
|
---|
59 | # GENERATOR 2-A: JIT Stub functions for RVCT
|
---|
60 | rvctstubs.output = Generated${QMAKE_FILE_BASE}_RVCT.h
|
---|
61 | rvctstubs.script = $$PWD/create_jit_stubs
|
---|
62 | rvctstubs.commands = perl -i $$rvctstubs.script --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
|
---|
63 | rvctstubs.depends = ${QMAKE_FILE_NAME}
|
---|
64 | rvctstubs.input = JIT_STUB_FILES
|
---|
65 | rvctstubs.CONFIG += no_link
|
---|
66 | GENERATORS += rvctstubs
|
---|
67 |
|
---|
68 | # GENERATOR 2-B: JIT Stub functions for MSVC
|
---|
69 | msvcstubs.output = Generated${QMAKE_FILE_BASE}_MSVC.asm
|
---|
70 | msvcstubs.script = $$PWD/create_jit_stubs
|
---|
71 | msvcstubs.commands = perl -i $$msvcstubs.script --prefix MSVC ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
|
---|
72 | msvcstubs.depends = ${QMAKE_FILE_NAME}
|
---|
73 | msvcstubs.input = JIT_STUB_FILES
|
---|
74 | msvcstubs.CONFIG += no_link
|
---|
75 | GENERATORS += msvcstubs
|
---|
76 |
|
---|
77 | #GENERATOR: "RegExpJitTables.h": tables used by Yarr
|
---|
78 | retgen.output = RegExpJitTables.h
|
---|
79 | retgen.script = $$PWD/create_regex_tables
|
---|
80 | retgen.input = retgen.script
|
---|
81 | retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT}
|
---|
82 | GENERATORS += retgen
|
---|
83 |
|
---|
84 | #GENERATOR: "KeywordLookup.h": decision tree used by the lexer
|
---|
85 | klgen.output = KeywordLookup.h
|
---|
86 | klgen.script = $$PWD/KeywordLookupGenerator.py
|
---|
87 | klgen.input = KEYWORDLUT_FILES
|
---|
88 | klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
|
---|
89 | GENERATORS += klgen
|
---|
90 |
|
---|
91 | linux-*:!equals(QT_ARCH, "arm") {
|
---|
92 | #GENERATOR: LLInt
|
---|
93 | llint.output = LLIntAssembly.h
|
---|
94 | llint.script = $$PWD/offlineasm/asm.rb
|
---|
95 | llint.input = LLINT_FILES
|
---|
96 | llint.depends = LLIntOffsetsExtractor $$LLINT_DEPENDENCY
|
---|
97 | llint.commands = ruby $$llint.script ${QMAKE_FILE_NAME} LLIntOffsetsExtractor ${QMAKE_FILE_OUT}
|
---|
98 | GENERATORS += llint
|
---|
99 | }
|
---|