1 TEMPLATE = lib 2 TARGET = dummy 3 4 CONFIG -= debug_and_release 5 6 CONFIG(standalone_package) { 7 isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated 8 isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated 9 } else { 10 isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = generated 11 isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = ../WebCore/generated 12 } 13 14 WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2 += \ 15 $$WC_GENERATED_SOURCES_DIR/HTMLNames.h \ 16 $$WC_GENERATED_SOURCES_DIR/JSCSSStyleDeclaration.h \ 17 $$WC_GENERATED_SOURCES_DIR/JSDOMWindow.h \ 18 $$WC_GENERATED_SOURCES_DIR/JSElement.h \ 19 $$WC_GENERATED_SOURCES_DIR/JSHTMLElement.h \ 20 $$WC_GENERATED_SOURCES_DIR/JSNode.h \ 21 $$WC_GENERATED_SOURCES_DIR/JSRange.h \ 22 23 QUOTE = "" 24 DOUBLE_ESCAPED_QUOTE = "" 25 ESCAPE = "" 26 win32-msvc*|symbian { 27 ESCAPE = "^" 28 } else:win32-g++*:isEmpty(QMAKE_SH) { 29 # MinGW's make will run makefile commands using sh, even if make 30 # was run from the Windows shell, if it finds sh in the path. 31 ESCAPE = "^" 32 } else { 33 QUOTE = "\'" 34 DOUBLE_ESCAPED_QUOTE = "\\\'" 35 } 36 37 SBOX_CHECK = $$(_SBOX_DIR) 38 !isEmpty(SBOX_CHECK) { 39 PYTHON = python2.6 40 } else { 41 PYTHON = python 42 } 43 44 SRC_ROOT_DIR = $$replace(PWD, /Source/WebKit2, "") 45 46 defineTest(addExtraCompiler) { 47 eval($${1}.CONFIG = target_predeps no_link) 48 eval($${1}.variable_out =) 49 eval($${1}.dependency_type = TYPE_C) 50 51 wkScript = $$eval($${1}.wkScript) 52 eval($${1}.depends += $$wkScript) 53 54 export($${1}.CONFIG) 55 export($${1}.variable_out) 56 export($${1}.dependency_type) 57 export($${1}.depends) 58 59 QMAKE_EXTRA_COMPILERS += $$1 60 generated_files.depends += compiler_$${1}_make_all 61 export(QMAKE_EXTRA_COMPILERS) 62 export(generated_files.depends) 63 return(true) 64 } 65 66 defineReplace(message_header_generator_output) { 67 FILENAME=$$basename(1) 68 return($$WEBKIT2_GENERATED_SOURCES_DIR/$$replace(FILENAME, ".messages.in","Messages.h")) 69 } 70 71 defineReplace(message_receiver_generator_output) { 72 FILENAME=$$basename(1) 73 return($$WEBKIT2_GENERATED_SOURCES_DIR/$$replace(FILENAME, ".messages.in","MessageReceiver.cpp")) 74 } 75 76 VPATH = \ 77 PluginProcess \ 78 WebProcess/ApplicationCache \ 79 WebProcess/Authentication \ 80 WebProcess/Cookies \ 81 WebProcess/FullScreen \ 82 WebProcess/Geolocation \ 83 WebProcess/IconDatabase \ 84 WebProcess/KeyValueStorage \ 85 WebProcess/MediaCache \ 86 WebProcess/Plugins \ 87 WebProcess/ResourceCache \ 88 WebProcess/WebCoreSupport \ 89 WebProcess/WebPage \ 90 WebProcess \ 91 UIProcess \ 92 UIProcess/Downloads \ 93 UIProcess/Plugins \ 94 Shared/Plugins 95 96 MESSAGE_RECEIVERS = \ 97 AuthenticationManager.messages.in \ 98 DownloadProxy.messages.in \ 99 PluginControllerProxy.messages.in \ 100 PluginProcess.messages.in \ 101 PluginProcessProxy.messages.in \ 102 PluginProxy.messages.in \ 103 WebApplicationCacheManager.messages.in \ 104 WebApplicationCacheManagerProxy.messages.in \ 105 WebContext.messages.in \ 106 WebCookieManager.messages.in \ 107 WebCookieManagerProxy.messages.in \ 108 WebDatabaseManager.messages.in \ 109 WebDatabaseManagerProxy.messages.in \ 110 WebGeolocationManager.messages.in \ 111 WebGeolocationManagerProxy.messages.in \ 112 WebIconDatabase.messages.in \ 113 WebIconDatabaseProxy.messages.in \ 114 WebInspectorProxy.messages.in \ 115 WebKeyValueStorageManager.messages.in \ 116 WebKeyValueStorageManagerProxy.messages.in \ 117 WebMediaCacheManager.messages.in \ 118 WebMediaCacheManagerProxy.messages.in \ 119 WebFullScreenManager.messages.in \ 120 WebFullScreenManagerProxy.messages.in \ 121 WebPage/WebInspector.messages.in \ 122 WebPage/WebPage.messages.in \ 123 WebPageProxy.messages.in \ 124 WebProcess.messages.in \ 125 WebProcessConnection.messages.in \ 126 WebProcessProxy.messages.in \ 127 WebResourceCacheManager.messages.in \ 128 WebResourceCacheManagerProxy.messages.in \ 129 NPObjectMessageReceiver.messages.in 130 131 SCRIPTS = \ 132 $$PWD/Scripts/generate-message-receiver.py \ 133 $$PWD/Scripts/generate-messages-header.py \ 134 $$PWD/Scripts/webkit2/__init__.py \ 135 $$PWD/Scripts/webkit2/messages.py 136 137 message_header_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-messages-header.py ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT} 138 message_header_generator.input = MESSAGE_RECEIVERS 139 message_header_generator.depends = $$SCRIPTS 140 message_header_generator.output_function = message_header_generator_output 141 addExtraCompiler(message_header_generator) 142 143 message_receiver_generator.commands = $${PYTHON} $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-message-receiver.py ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT} 144 message_receiver_generator.input = MESSAGE_RECEIVERS 145 message_receiver_generator.depends = $$SCRIPTS 146 message_receiver_generator.output_function = message_receiver_generator_output 147 addExtraCompiler(message_receiver_generator) 148 149 fwheader_generator.commands = perl $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-forwarding-headers.pl $${SRC_ROOT_DIR}/Source/WebKit2 ../include qt 150 fwheader_generator.depends = $${SRC_ROOT_DIR}/Source/WebKit2/Scripts/generate-forwarding-headers.pl 151 generated_files.depends += fwheader_generator 152 QMAKE_EXTRA_TARGETS += fwheader_generator 153 154 for(HEADER, WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2) { 155 HEADER_NAME = $$basename(HEADER) 156 HEADER_PATH = $$HEADER 157 HEADER_TARGET = $$replace(HEADER_PATH, [^a-zA-Z0-9_], -) 158 HEADER_TARGET = "qtheader-$${HEADER_TARGET}" 159 DESTDIR = $$OUTPUT_DIR/include/"WebCore" 160 161 eval($${HEADER_TARGET}.target = $$DESTDIR/$$HEADER_NAME) 162 eval($${HEADER_TARGET}.depends = $$HEADER_PATH) 163 eval($${HEADER_TARGET}.commands = echo $${DOUBLE_ESCAPED_QUOTE}\$${LITERAL_HASH}include \\\"$$HEADER_PATH\\\"$${DOUBLE_ESCAPED_QUOTE} > $$eval($${HEADER_TARGET}.target)) 164 165 QMAKE_EXTRA_TARGETS += $$HEADER_TARGET 166 generated_files.depends += $$eval($${HEADER_TARGET}.target) 167 } 168 169 QMAKE_EXTRA_TARGETS += generated_files 170