3 # this order is important
5 win32
:SRC_SUBDIRS
+= src_winmain
7 SRC_SUBDIRS
+= src_corelib src_xml src_gui src_sql src_network src_testlib
9 SRC_SUBDIRS
+= src_s60main src_corelib src_xml src_gui src_network src_sql src_testlib src_s60installs
11 SRC_SUBDIRS
+= src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_network src_gui src_sql src_testlib
12 !vxworks
:contains(QT_CONFIG
, qt3support
): SRC_SUBDIRS
+= src_qt3support
13 contains(QT_CONFIG
, dbus
):SRC_SUBDIRS
+= src_dbus
15 contains(QT_CONFIG
, qt3support
): SRC_SUBDIRS
+= src_tools_uic3
19 SRC_SUBDIRS
+= src_activeqt
20 !wince
*: SRC_SUBDIRS
+= src_tools_idc
23 contains(QT_CONFIG
, opengl
)|contains(QT_CONFIG
, opengles1
)|contains(QT_CONFIG
, opengles2
): SRC_SUBDIRS
+= src_opengl
24 contains(QT_CONFIG
, openvg
): SRC_SUBDIRS
+= src_openvg
25 contains(QT_CONFIG
, xmlpatterns
): SRC_SUBDIRS
+= src_xmlpatterns
26 contains(QT_CONFIG
, phonon
): SRC_SUBDIRS
+= src_phonon
27 contains(QT_CONFIG
, multimedia
): SRC_SUBDIRS
+= src_multimedia
28 contains(QT_CONFIG
, svg
): SRC_SUBDIRS
+= src_svg
29 contains(QT_CONFIG
, webkit
) {
30 #exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): SRC_SUBDIRS += src_javascriptcore
31 SRC_SUBDIRS
+= src_webkit
33 contains(QT_CONFIG
, script
): SRC_SUBDIRS
+= src_script
34 contains(QT_CONFIG
, scripttools
): SRC_SUBDIRS
+= src_scripttools
35 contains(QT_CONFIG
, declarative
): SRC_SUBDIRS
+= src_declarative
36 SRC_SUBDIRS
+= src_plugins
38 src_s60main
.subdir
= $$QT_SOURCE_TREE
/src
/s60main
39 src_s60main
.target
= sub
-s60main
40 src_s60installs
.subdir
= $$QT_SOURCE_TREE
/src
/s60installs
41 src_s60installs
.target
= sub
-s60installs
42 src_winmain
.subdir
= $$QT_SOURCE_TREE
/src
/winmain
43 src_winmain
.target
= sub
-winmain
44 src_tools_bootstrap
.subdir
= $$QT_SOURCE_TREE
/src
/tools
/bootstrap
45 src_tools_bootstrap
.target
= sub
-tools
-bootstrap
46 src_tools_moc
.subdir
= $$QT_SOURCE_TREE
/src
/tools
/moc
47 src_tools_moc
.target
= sub
-moc
48 src_tools_rcc
.subdir
= $$QT_SOURCE_TREE
/src
/tools
/rcc
49 src_tools_rcc
.target
= sub
-rcc
50 src_tools_uic
.subdir
= $$QT_SOURCE_TREE
/src
/tools
/uic
51 src_tools_uic
.target
= sub
-uic
52 src_corelib
.subdir
= $$QT_SOURCE_TREE
/src
/corelib
53 src_corelib
.target
= sub
-corelib
54 src_xml
.subdir
= $$QT_SOURCE_TREE
/src
/xml
55 src_xml
.target
= sub
-xml
56 src_xmlpatterns
.subdir
= $$QT_SOURCE_TREE
/src
/xmlpatterns
57 src_xmlpatterns
.target
= sub
-xmlpatterns
58 src_dbus
.subdir
= $$QT_SOURCE_TREE
/src
/dbus
59 src_dbus
.target
= sub
-dbus
60 src_gui
.subdir
= $$QT_SOURCE_TREE
/src
/gui
61 src_gui
.target
= sub
-gui
62 src_sql
.subdir
= $$QT_SOURCE_TREE
/src
/sql
63 src_sql
.target
= sub
-sql
64 src_network
.subdir
= $$QT_SOURCE_TREE
/src
/network
65 src_network
.target
= sub
-network
66 src_svg
.subdir
= $$QT_SOURCE_TREE
/src
/svg
67 src_svg
.target
= sub
-svg
68 src_script
.subdir
= $$QT_SOURCE_TREE
/src
/script
69 src_script
.target
= sub
-script
70 src_scripttools
.subdir
= $$QT_SOURCE_TREE
/src
/scripttools
71 src_scripttools
.target
= sub
-scripttools
72 src_opengl
.subdir
= $$QT_SOURCE_TREE
/src
/opengl
73 src_opengl
.target
= sub
-opengl
74 src_openvg
.subdir
= $$QT_SOURCE_TREE
/src
/openvg
75 src_openvg
.target
= sub
-openvg
76 src_qt3support
.subdir
= $$QT_SOURCE_TREE
/src
/qt3support
77 src_qt3support
.target
= sub
-qt3support
78 src_phonon
.subdir
= $$QT_SOURCE_TREE
/src
/phonon
79 src_phonon
.target
= sub
-phonon
80 src_multimedia
.subdir
= $$QT_SOURCE_TREE
/src
/multimedia
81 src_multimedia
.target
= sub
-multimedia
82 src_tools_uic3
.subdir
= $$QT_SOURCE_TREE
/src
/tools
/uic3
83 src_tools_uic3
.target
= sub
-uic3
84 src_activeqt
.subdir
= $$QT_SOURCE_TREE
/src
/activeqt
85 src_activeqt
.target
= sub
-activeqt
86 src_tools_idc
.subdir
= $$QT_SOURCE_TREE
/src
/tools
/idc
87 src_tools_idc
.target
= sub
-idc
88 src_plugins
.subdir
= $$QT_SOURCE_TREE
/src
/plugins
89 src_plugins
.target
= sub
-plugins
90 src_testlib
.subdir
= $$QT_SOURCE_TREE
/src
/testlib
91 src_testlib
.target
= sub
-testlib
92 src_javascriptcore
.subdir
= $$QT_SOURCE_TREE
/src
/3rdparty
/webkit
/JavaScriptCore
93 src_javascriptcore
.target
= sub
-javascriptcore
94 src_webkit
.subdir
= $$QT_SOURCE_TREE
/src
/3rdparty
/webkit
/WebCore
95 src_webkit
.target
= sub
-webkit
96 src_declarative
.subdir
= $$QT_SOURCE_TREE
/src
/declarative
97 src_declarative
.target
= sub
-declarative
100 !wince
*:!symbian
:!ordered
{
101 src_tools_moc
.depends
= src_tools_bootstrap
102 src_tools_rcc
.depends
= src_tools_bootstrap
103 src_tools_uic
.depends
= src_tools_bootstrap
104 src_corelib
.depends
= src_tools_moc src_tools_rcc
105 src_gui
.depends
= src_corelib src_tools_uic
106 embedded
: src_gui
.depends
+= src_network
107 src_xml
.depends
= src_corelib
108 src_xmlpatterns
.depends
= src_corelib src_network
109 src_dbus
.depends
= src_corelib src_xml
110 src_svg
.depends
= src_xml src_gui
111 src_script
.depends
= src_corelib
112 src_scripttools
.depends
= src_script src_gui src_network
113 src_network
.depends
= src_corelib
114 src_opengl
.depends
= src_gui
115 src_openvg
.depends
= src_gui
116 src_sql
.depends
= src_corelib
117 src_testlib
.depends
= src_corelib
118 src_qt3support
.depends
= src_gui src_xml src_network src_sql
119 src_phonon
.depends
= src_gui
120 src_multimedia
.depends
= src_gui
121 src_tools_uic3
.depends
= src_qt3support src_xml
122 src_tools_idc
.depends
= src_corelib
123 src_tools_activeqt
.depends
= src_tools_idc src_gui
124 src_declarative
.depends
= src_xml src_gui src_script src_network src_svg
125 src_plugins
.depends
= src_gui src_sql src_svg
126 contains(QT_CONFIG
, webkit
) {
127 src_webkit
.depends
= src_gui src_sql src_network src_xml
128 contains(QT_CONFIG
, phonon
):src_webkit
.depends
+= src_phonon
129 contains(QT_CONFIG
, declarative
):src_declarative
.depends
+= src_webkit
130 #exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): src_webkit.depends += src_javascriptcore
132 contains(QT_CONFIG
, qt3support
): src_plugins
.depends
+= src_qt3support
133 contains(QT_CONFIG
, dbus
):{
134 src_plugins
.depends
+= src_dbus
135 src_phonon
.depends
+= src_dbus
137 contains(QT_CONFIG
, opengl
)|contains(QT_CONFIG
, opengles1
)|contains(QT_CONFIG
, opengles2
): src_plugins
.depends
+= src_opengl
141 # This creates a sub-src rule
142 sub_src_target
.CONFIG
= recursive
143 sub_src_target
.recurse
= $$SRC_SUBDIRS
144 sub_src_target
.target
= sub
-src
145 sub_src_target
.recurse_target
=
146 QMAKE_EXTRA_TARGETS
+= sub_src_target
148 # This gives us a top level debug/release
149 EXTRA_DEBUG_TARGETS
=
150 EXTRA_RELEASE_TARGETS
=
151 for(subname
, SRC_SUBDIRS
) {
153 !isEmpty($$
{subname
}.subdir
):subdir
= $$
eval($$
{subname
}.subdir
)
154 subpro
= $$subdir
/$$
{basename(subdir
)}.pro
155 !exists($$subpro
):next()
156 subtarget
= $$
replace(subdir
, [^A
-Za
-z0
-9], _
)
157 reg_src
= $$
replace(QT_SOURCE_TREE
, \\\\, \\\\)
158 subdir
= $$
replace(subdir
, $$reg_src
, $$QT_BUILD_TREE
)
159 subdir
= $$
replace(subdir
, /, $$QMAKE_DIR_SEP
)
160 subdir
= $$
replace(subdir
, \\\\, $$QMAKE_DIR_SEP
)
161 SUB_TEMPLATE
= $$
list($$
fromfile($$subpro
, TEMPLATE
))
162 !isEqual(subname
, src_tools_bootstrap
):if(isEqual($$SUB_TEMPLATE
, lib
) | isEqual($$SUB_TEMPLATE
, subdirs
) | isEqual(subname
, src_tools_idc
) | isEqual(subname
, src_tools_uic3
)):!separate_debug_info
{
164 eval(debug
-$$
{subtarget
}.depends
= $$
{subdir
}\$$
{QMAKE_DIR_SEP
}$
(MAKEFILE
) $$EXTRA_DEBUG_TARGETS
)
165 eval(debug
-$$
{subtarget
}.commands
= (cd $$subdir
&& $
(MAKE
) -f $
(MAKEFILE
) debug
))
166 EXTRA_DEBUG_TARGETS
+= debug
-$$
{subtarget
}
167 QMAKE_EXTRA_TARGETS
+= debug
-$$
{subtarget
}
169 eval(release
-$$
{subtarget
}.depends
= $$
{subdir
}\$$
{QMAKE_DIR_SEP
}$
(MAKEFILE
) $$EXTRA_RELEASE_TARGETS
)
170 eval(release
-$$
{subtarget
}.commands
= (cd $$subdir
&& $
(MAKE
) -f $
(MAKEFILE
) release
))
171 EXTRA_RELEASE_TARGETS
+= release
-$$
{subtarget
}
172 QMAKE_EXTRA_TARGETS
+= release
-$$
{subtarget
}
173 } else
{ #do not have a real debug target/release
175 eval(debug
-$$
{subtarget
}.depends
= $$
{subdir
}\$$
{QMAKE_DIR_SEP
}$
(MAKEFILE
) $$EXTRA_DEBUG_TARGETS
)
176 eval(debug
-$$
{subtarget
}.commands
= (cd $$subdir
&& $
(MAKE
) -f $
(MAKEFILE
) first
))
177 EXTRA_DEBUG_TARGETS
+= debug
-$$
{subtarget
}
178 QMAKE_EXTRA_TARGETS
+= debug
-$$
{subtarget
}
180 eval(release
-$$
{subtarget
}.depends
= $$
{subdir
}\$$
{QMAKE_DIR_SEP
}$
(MAKEFILE
) $$EXTRA_RELEASE_TARGETS
)
181 eval(release
-$$
{subtarget
}.commands
= (cd $$subdir
&& $
(MAKE
) -f $
(MAKEFILE
) first
))
182 EXTRA_RELEASE_TARGETS
+= release
-$$
{subtarget
}
183 QMAKE_EXTRA_TARGETS
+= release
-$$
{subtarget
}
186 debug
.depends
= $$EXTRA_DEBUG_TARGETS
187 release
.depends
= $$EXTRA_RELEASE_TARGETS
188 QMAKE_EXTRA_TARGETS
+= debug release
191 SUBDIRS
+= $$SRC_SUBDIRS