added 'make dist' and misc fixes to installed headers
[wxWidgets.git] / build / bakefiles / wx.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4
5 <!-- Master bakefile for wxWindows -->
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     <!-- wxWindows 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     <!-- OpenGL canvas is built as separate library in both cases: -->
27     <include file="opengl.bkl"/>
28     
29     
30     <!-- Samples target (not dependency of 'all'): -->
31     <subproject id="samples">
32         <installable>no</installable>
33         <dir cond="FORMAT=='autoconf'">samples</dir>
34         <dir cond="FORMAT!='autoconf' and TOOLKIT=='MSW'">../../samples</dir>
35     </subproject>
36
37     <if cond="FORMAT=='autoconf'">       
38         <!-- "make install": -->
39
40         <data-files>
41             <files>wxwin.m4</files>
42             <install-to>$(DATADIR)/aclocal</install-to>
43         </data-files>
44
45         <data-files-tg id="install-afm" cond="USE_GUI=='1'">
46             <files>misc/afm/*.afm</files>
47             <install-to>$(DATADIR)/wx/$(WXVER_MAJOR).$(WXVER_MINOR)/afm</install-to>
48         </data-files-tg>
49         <data-files-tg id="install-gsafm" cond="USE_GUI=='1'">
50             <files>misc/gs_afm/*.afm</files>
51             <install-to>$(DATADIR)/wx/$(WXVER_MAJOR).$(WXVER_MINOR)/gs_afm</install-to>
52         </data-files-tg>
53
54         <action id="install-wxconfig">
55             <dependency-of>install</dependency-of>
56             <command>
57                 $(INSTALL_DIR) $(BINDIR)
58                 $(INSTALL_PROGRAM) wx$(TOOLCHAIN_NAME)-config $(BINDIR)
59                 (cd $(BINDIR) &amp;&amp; rm -f wx-config &amp;&amp; $(LN_S) wx$(TOOLCHAIN_NAME)-config wx-config)
60             </command>
61         </action>
62
63         <data-files>
64             <srcdir>$(BUILDDIR)</srcdir>
65             <files>lib/wx/include/$(TOOLCHAIN_NAME)/wx/setup.h</files>
66             <install-to>$(LIBDIR)/wx/include/$(TOOLCHAIN_NAME)/wx</install-to>
67         </data-files>
68
69         <headers>
70             <srcdir>$(SRCDIR)/include</srcdir>
71             <files>$(ALL_HEADERS)</files>
72         </headers>
73
74
75         <!-- Mac OS X resources: -->
76         <set var="MACOS_R">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).r</set>
77         <set var="MACOS_RSRC">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).rsrc</set>
78         <action id="macos-res" cond="TOOLKIT=='MAC'">
79             <dependency-of>all</dependency-of>
80             <set var="__targetname">$(MACOS_R)</set>
81             <command>
82                 $(RESCOMP) -d __UNIX__ -useDF $(top_srcdir)/src/mac/apprsrc.r $(top_srcdir)/src/mac/carbrsrc.r $(top_srcdir)/src/mac/corersrc.r -o $(MACOS_RSRC)
83                 $(DEREZ) $(MACOS_RSRC) Carbon.r -useDF >$(MACOS_R)
84             </command>
85             <clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files>
86         </action>
87         <action id="macos-res-install" cond="TOOLKIT=='MAC'">
88             <dependency-of>install</dependency-of>
89             <depends>macos-res</depends>
90             <command>
91                 $(INSTALL_DATA) $(MACOS_R) $(LIBDIR)
92                 $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR)
93             </command>
94         </action>
95         <action id="cocoa-res" cond="TOOLKIT=='COCOA'">
96             <dependency-of>all</dependency-of>
97             <set var="__targetname">$(MACOS_R)</set>
98             <command>
99                 $(RESCOMP) -d __UNIX__ -useDF $(top_srcdir)/src/cocoa/dummy.r -o $(MACOS_RSRC)
100                 $(DEREZ) $(MACOS_RSRC) -useDF >$(MACOS_R)
101             </command>
102             <clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files>
103         </action>
104         <action id="cocoa-res-install" cond="TOOLKIT=='COCOA'">
105             <dependency-of>install</dependency-of>
106             <depends>macos-res</depends>
107             <command>
108                 $(INSTALL_DATA) $(MACOS_R) $(LIBDIR)
109                 $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR)
110             </command>
111         </action>
112
113     </if>
114
115
116     <!-- copy setup.h on Windows: -->    
117     <if cond="FORMAT!='autoconf' and TOOLKIT=='MSW'">
118         <mkdir id="libdir">
119             <dir>$(LIBDIRNAME)</dir>
120         </mkdir>
121         <mkdir id="libdir_wx">
122             <depends>libdir</depends>
123             <dependency-of>setup_h</dependency-of>
124             <dir>$(LIBDIRNAME)/wx</dir>            
125         </mkdir>
126
127         <set var="SETUP_H_DIR">
128             <if cond="WXUNIV=='1'">univ</if>
129             <if cond="WXUNIV=='0'">msw</if>
130         </set>
131         
132         <copy-file-to-file-if-not-exist id="master_setup.h">
133             <src>$(SRCDIR)/include/wx/$(SETUP_H_DIR)/setup0.h</src>
134             <dst>$(SRCDIR)/include/wx/$(SETUP_H_DIR)/setup.h</dst>
135             <dependency-of>setup_h</dependency-of>
136         </copy-file-to-file-if-not-exist>
137         <copy-file-to-file-if-not-exist id="setup.h">
138             <dependency-of>setup_h</dependency-of>
139             <src>$(SRCDIR)/include/wx/$(SETUP_H_DIR)/setup.h</src>
140             <dst>$(LIBDIRNAME)/wx/setup.h</dst>
141         </copy-file-to-file-if-not-exist>
142     </if>
143
144
145     <!-- Show this banner after installation: -->
146     <if cond="FORMAT=='autoconf'">
147         <modify-target target="install">
148             <command>
149 @echo " "
150 @echo " The installation of wxWindows is finished.  On certain"
151 @echo " platforms (e.g. Linux) you'll now have to run ldconfig"
152 @echo " if you installed a shared library and also modify the"
153 @echo " LD_LIBRARY_PATH (or equivalent) environment variable."
154 @echo " "
155 @echo " wxWindows comes with no guarantees and doesn't claim"
156 @echo " to be suitable for any purpose."
157 @echo " "
158 @echo " Read the wxWindows Licence on licencing conditions."
159 @echo " "
160             </command>
161         </modify-target>
162     </if>
163
164     <!-- add "make dist" target to autoconf: -->
165     <if cond="FORMAT=='autoconf'">
166         <set var="VARS_DONT_ELIMINATE" append="1">
167             ALL_BASE_SOURCES WX_VERSION
168         </set>
169         <fragment format="autoconf" file="make_dist.mk"/>
170     </if>
171
172 </makefile>