Enable concurrent installs of runtime packages after a soname change.
[wxWidgets.git] / build / bakefiles / wx.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4
5 <!-- Master bakefile for wxWidgets -->
6
7 <makefile>
8
9     <!-- make sure setup.h is created as soon as possible: -->
10     <phony id="setup_h" cond="FORMAT!='autoconf'">
11         <dependency-of>all</dependency-of>
12     </phony>
13
14     <set var="BUILDING_LIB">1</set>
15     
16     <!-- common rules, names etc. for wx: -->
17     <include file="common.bkl"/>
18     
19     <!-- list of files sorted into categories: -->
20     <include file="files.bkl"/>
21     
22     <!-- wxWidgets variant where everything is in one library: -->
23     <include file="monolithic.bkl"/>
24     <!-- ...and when there are multiple libraries: -->
25     <include file="multilib.bkl"/>
26
27     <if cond="FORMAT in ['msvc6prj','msevc4prj']">
28         <set var="MSVC6PRJ_MERGED_TARGETS">
29             <if cond="MONOLITHIC=='0'">$(MSVC6PRJ_MERGED_TARGETS_MULTILIB)</if>
30             <if cond="MONOLITHIC=='1'">$(MSVC6PRJ_MERGED_TARGETS_MONOLIB)</if>
31         </set>
32     </if>
33     
34     <!-- OpenGL canvas is built as separate library in both cases: -->
35     <include file="opengl.bkl"/>
36     <!-- Dynamically loadable plugins: -->
37     <include file="plugins.bkl"/>
38  
39     <!-- Samples target (not dependency of 'all'): -->
40     <subproject id="samples">
41         <installable>no</installable>
42         <dir cond="FORMAT=='autoconf'">samples</dir>
43         <dir cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','MGL']">../../samples</dir>
44     </subproject>
45
46     <if cond="FORMAT=='autoconf'">       
47         <!-- "make install": -->
48
49         <data-files>
50             <files>wxwin.m4</files>
51             <install-to>$(DATADIR)/aclocal</install-to>
52         </data-files>
53
54         <data-files-tg id="install-afm" cond="USE_GUI=='1'">
55             <files>misc/afm/*.afm</files>
56             <install-to>$(DATADIR)/wx/afm</install-to>
57         </data-files-tg>
58         <data-files-tg id="install-gsafm" cond="USE_GUI=='1'">
59             <files>misc/gs_afm/*.afm</files>
60             <install-to>$(DATADIR)/wx/gs_afm</install-to>
61         </data-files-tg>
62
63         <action id="install-wxconfig">
64             <dependency-of>install</dependency-of>
65             <command>
66                 $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
67                 $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/wx/config
68                 $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(LIBDIR)/wx/config
69                 (cd $(DESTDIR)$(BINDIR) &amp;&amp; rm -f wx-config &amp;&amp; $(LN_S) $(DESTDIR)$(LIBDIR)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
70             </command>
71         </action>
72
73         <data-files>
74             <srcdir>$(BUILDDIR)</srcdir>
75             <files>lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx/setup.h</files>
76             <install-to>$(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx</install-to>
77         </data-files>
78
79         <headers>
80             <srcdir>$(SRCDIR)/include</srcdir>
81             <files>$(ALL_HEADERS)</files>
82             <install-to>
83                 $(INCLUDEDIR)/wx-$(WX_RELEASE)$(WX_FLAVOUR)
84             </install-to>
85         </headers>
86
87         <!-- Locales: -->
88         <using module="gettext"/>
89         <gettext-catalogs id="locale">
90             <srcdir>$(SRCDIR)/locale</srcdir>
91             <catalog-name>wxstd</catalog-name>
92             <linguas>
93                 ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
94                 zh zh_CN zh_TW
95             </linguas>
96             <install-to>$(LOCALEDIR)</install-to>
97         </gettext-catalogs>
98
99         <!-- Mac OS X resources: -->
100         <set var="MACOS_R">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).r</set>
101         <set var="MACOS_RSRC">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).rsrc</set>
102         <action id="macos-res" cond="TOOLKIT=='MAC'">
103             <dependency-of>all</dependency-of>
104             <set var="__targetname">$(MACOS_R)</set>
105             <command>
106                 $(RESCOMP) -d __UNIX__ -useDF $(top_srcdir)/src/mac/carbon/apprsrc.r $(top_srcdir)/src/mac/carbon/carbrsrc.r $(top_srcdir)/src/mac/carbon/corersrc.r -o $(MACOS_RSRC)
107                 $(DEREZ) $(MACOS_RSRC) Carbon.r -useDF >$(MACOS_R)
108             </command>
109             <clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files>
110         </action>
111         <action id="macos-res-install" cond="TOOLKIT=='MAC'">
112             <dependency-of>install</dependency-of>
113             <depends>macos-res</depends>
114             <command>
115                 $(INSTALL_DATA) $(MACOS_R) $(LIBDIR)
116                 $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR)
117             </command>
118         </action>
119         <action id="cocoa-res" cond="TOOLKIT=='COCOA'">
120             <dependency-of>all</dependency-of>
121             <set var="__targetname">$(MACOS_R)</set>
122             <command>
123                 $(RESCOMP) -d __UNIX__ -useDF $(top_srcdir)/src/cocoa/dummy.r -o $(MACOS_RSRC)
124                 $(DEREZ) $(MACOS_RSRC) -useDF >$(MACOS_R)
125             </command>
126             <clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files>
127         </action>
128         <action id="cocoa-res-install" cond="TOOLKIT=='COCOA'">
129             <dependency-of>install</dependency-of>
130             <depends>macos-res</depends>
131             <command>
132                 $(INSTALL_DATA) $(MACOS_R) $(LIBDIR)
133                 $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR)
134             </command>
135         </action>
136
137     </if>
138
139
140     <!-- copy setup.h on DOS/Windows: -->    
141     <if cond="FORMAT!='autoconf' and TOOLKIT in ['MSW','MGL']">
142         <mkdir id="libdir">
143             <dir>$(LIBDIRNAME)</dir>
144         </mkdir>
145         <mkdir id="libdir_setup">
146             <depends>libdir</depends>
147             <dir>$(SETUPHDIR)</dir>            
148         </mkdir>
149         <mkdir id="libdir_setup_wx">
150             <depends>libdir_setup</depends>
151             <dependency-of>setup_h</dependency-of>
152             <dir>$(SETUPHDIR)/wx</dir>            
153         </mkdir>
154
155         <set var="SETUP_H_SUBDIR">
156             <if cond="WXUNIV=='1'">univ</if>
157             <if cond="WXUNIV=='0'">$(TOOLKIT_LOWERCASE)</if>
158         </set>
159         
160         <copy-file-to-file-if-not-exist id="master_setup.h">
161             <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup0.h</src>
162             <dst>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</dst>
163             <dependency-of>setup_h</dependency-of>
164         </copy-file-to-file-if-not-exist>
165         <copy-file-to-file-if-not-exist id="setup.h">
166             <dependency-of>setup_h</dependency-of>
167             <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</src>
168             <dst>$(SETUPHDIR)/wx/setup.h</dst>
169         </copy-file-to-file-if-not-exist>
170
171     </if>
172
173
174     <if cond="FORMAT=='autoconf'">
175
176         <!-- Show this banner after installation: -->
177         <modify-target target="install">
178             <command>
179 @echo " "
180 @echo " ------------------------------------------------------"
181 @echo " "
182 @echo " The installation of wxWidgets is finished.  On certain"
183 @echo " platforms (e.g. Linux) you'll now have to run ldconfig"
184 @echo " if you installed a shared library and also modify the"
185 @echo " LD_LIBRARY_PATH (or equivalent) environment variable."
186 @echo " "
187 @echo " wxWidgets comes with no guarantees and doesn't claim"
188 @echo " to be suitable for any purpose."
189 @echo " "
190 @echo " Read the wxWidgets Licence on licencing conditions."
191 @echo " "
192 @echo " ------------------------------------------------------"
193 @echo " "
194             </command>
195         </modify-target>
196
197         <!-- add "make dist" target to autoconf: -->
198         <set var="VARS_DONT_ELIMINATE" append="1">
199             ALL_BASE_SOURCES WX_VERSION
200         </set>
201         <fragment format="autoconf" file="make_dist.mk"/>
202
203     </if>
204         
205     <include file="build_cfg.bkl"/>
206
207 </makefile>