2 # debian/rules file to build packages from wxWindows CVS source
4 # Sculpted 13/2/2000 by Ron Lee <ron@debian.org> from new and
5 # variously stolen code :-)
6 # It makes copious use of the debhelper utilities written by
7 # Joey Hess and others.
13 release
:=$(shell dpkg-parsechangelog | sed
-n
's/^Source: wxwindows//p')
14 python_dir
:=python
$(shell python
-c
"import sys;print sys.version[:3]")
17 package_wxbase_lib
=libwxbase
$(release
)
18 package_wxbase_dev
=libwxbase
$(release
)-dev
19 package_wxbase_dbg
=libwxbase
$(release
)-dbg
20 package_gtk_lib
=libwxgtk
$(release
)
21 package_gtk_dev
=libwxgtk
$(release
)-dev
22 package_gtk_dbg
=libwxgtk
$(release
)-dbg
23 package_gtk_py
=libwxgtk
$(release
)-python
24 package_gtk_contrib
=libwxgtk
$(release
)-contrib
25 package_gtk_contrib_dev
=libwxgtk
$(release
)-contrib-dev
26 package_headers
=wxwin
$(release
)-headers
27 package_i18n
=wxwin
$(release
)-i18n
28 package_doc
=wxwin
$(release
)-doc
29 package_examples
=wxwin
$(release
)-examples
32 objdir_wxbase_shared
=objs_wxbase_sh
33 objdir_wxbase_static
=objs_wxbase_st
34 objdir_wxbase_debug
=objs_wxbase_d
35 objdir_gtk_shared
=objs_gtk_sh
36 objdir_gtk_static
=objs_gtk_st
37 objdir_gtk_debug
=objs_gtk_d
38 objdir_doc_cruft
=objs_doc_con
39 objdir_doc
=docs
/wxWindows-manual.html
40 objdir_examples
=docs
/examples
42 objdirs
=$(objdir_wxbase_shared
) $(objdir_wxbase_static
) $(objdir_wxbase_debug
) \
43 $(objdir_gtk_shared
) $(objdir_gtk_static
) $(objdir_gtk_debug
) \
44 $(objdir_doc
) $(objdir_examples
)
46 # note that the i18n package is actually arch indep (once built)
47 # but must be built (and installed) during the arch any phase as
48 # it's pulled out of the wxGtk shared lib package.
51 build_arch_stamps
=build-wxbase-shared-stamp build-wxbase-static-stamp \
52 build-wxbase-debug-stamp build-gtk-shared-stamp \
53 build-gtk-static-stamp build-gtk-debug-stamp \
54 build-contrib-shared-stamp build-contrib-static-stamp \
55 build-gtk-py-stamp build-i18n-stamp
57 build_indep_stamps
=build-examples-stamp build-doc-stamp
59 build_stamps
=$(build_arch_stamps
) $(build_indep_stamps
)
62 install_all_arch
=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
63 install-gtk-lib install-gtk-dev install-gtk-dbg \
64 install-gtk-contrib install-gtk-contrib-dev install-gtk-py \
65 install-headers install-i18n
67 install_all_indep
=install-examples install-doc
69 install_all
=$(install_all_arch
) $(install_all_indep
)
72 wxconfig
:=$(shell pwd
)/$(objdir_gtk_shared
)/wx-config \
73 --prefix=$(shell pwd
) \
74 --exec-prefix
=$(shell pwd
)/$(objdir_gtk_shared
)
79 debian
/control
: debian
/control.in
80 sed
-e
's/=V/$(release)/g' < debian
/control.in
> debian
/control
82 debian
/wxwin-doc.doc-base
: debian
/wxwin-doc.doc-base.in
83 sed
-e
's/=V/$(release)/g' < debian
/wxwin-doc.doc-base.in
> debian
/wxwin-doc.doc-base
85 control-files-stamp
: debian
/control debian
/wxwin-doc.doc-base
87 @for f in dirs postinst
; do \
88 echo
"generating control file $(package_wxbase_lib).$$f"; \
89 cp debian
/libwxbase.
$$f debian
/$(package_wxbase_lib
).
$$f; \
91 @for f in dirs files links postinst prerm
; do \
92 echo
"generating control file $(package_wxbase_dev).$$f"; \
93 cp debian
/libwxbase-dev.
$$f debian
/$(package_wxbase_dev
).
$$f; \
95 @for f in dirs links postinst prerm
; do \
96 echo
"generating control file $(package_wxbase_dbg).$$f"; \
97 cp debian
/libwxbase-dbg.
$$f debian
/$(package_wxbase_dbg
).
$$f; \
99 @for f in dirs postinst
; do \
100 echo
"generating control file $(package_gtk_lib).$$f"; \
101 cp debian
/libwxgtk.
$$f debian
/$(package_gtk_lib
).
$$f; \
103 @for f in dirs files links postinst prerm
; do \
104 echo
"generating control file $(package_gtk_dev).$$f"; \
105 cp debian
/libwxgtk-dev.
$$f debian
/$(package_gtk_dev
).
$$f; \
107 @for f in dirs links postinst prerm
; do \
108 echo
"generating control file $(package_gtk_dbg).$$f"; \
109 cp debian
/libwxgtk-dbg.
$$f debian
/$(package_gtk_dbg
).
$$f; \
111 @for f in dirs docs files postinst prerm
; do \
112 echo
"generating control file $(package_gtk_py).$$f"; \
113 sed
-e
's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian
/libwxgtk-python.
$$f \
114 > debian
/$(package_gtk_py
).
$$f; \
116 @for f in dirs postinst
; do \
117 echo
"generating control file $(package_gtk_contrib).$$f"; \
118 cp debian
/libwxgtk-contrib.
$$f debian
/$(package_gtk_contrib
).
$$f; \
120 @for f in dirs files
; do \
121 echo
"generating control file $(package_gtk_contrib_dev).$$f"; \
122 cp debian
/libwxgtk-contrib-dev.
$$f debian
/$(package_gtk_contrib_dev
).
$$f; \
124 @for f in dirs files
; do \
125 echo
"generating control file $(package_headers).$$f"; \
126 cp debian
/wxwin-headers.
$$f debian
/$(package_headers
).
$$f; \
128 @for f in dirs files
; do \
129 echo
"generating control file $(package_i18n).$$f"; \
130 cp debian
/wxwin-i18n.
$$f debian
/$(package_i18n
).
$$f; \
132 @for f in dirs docs doc-base
; do \
133 echo
"generating control file $(package_doc).$$f"; \
134 cp debian
/wxwin-doc.
$$f debian
/$(package_doc
).
$$f; \
136 @for f in examples
; do \
137 echo
"generating control file $(package_examples).$$f"; \
138 cp debian
/wxwin-examples.
$$f debian
/$(package_examples
).
$$f; \
142 build_arch
: control-files-stamp
$(build_arch_stamps
)
143 build_all
: control-files-stamp
$(build_stamps
)
145 # do nothing until we know which binary target is called
149 build-wxbase-shared-stamp
:
151 mkdir
$(objdir_wxbase_shared
)
152 cd
$(objdir_wxbase_shared
) \
153 && ..
/configure
--prefix=/usr \
154 --cache-file
=..
/config_deb.cache \
156 --enable-burnt_name \
161 build-wxbase-static-stamp
:
163 mkdir
$(objdir_wxbase_static
)
164 cd
$(objdir_wxbase_static
) \
165 && ..
/configure
--prefix=/usr \
166 --cache-file
=..
/config_deb.cache \
173 build-wxbase-debug-stamp
:
175 mkdir
$(objdir_wxbase_debug
)
176 cd
$(objdir_wxbase_debug
) \
177 && ..
/configure
--prefix=/usr \
178 --cache-file
=..
/config_deb.cache \
181 --enable-burnt_name \
186 build-gtk-shared-stamp
:
188 mkdir
$(objdir_gtk_shared
)
189 cd
$(objdir_gtk_shared
) \
190 && ..
/configure
--prefix=/usr \
191 --cache-file
=..
/config_deb.cache \
194 --enable-burnt_name \
202 build-gtk-static-stamp
:
204 mkdir
$(objdir_gtk_static
)
205 cd
$(objdir_gtk_static
) \
206 && ..
/configure
--prefix=/usr \
207 --cache-file
=..
/config_deb.cache \
218 build-gtk-debug-stamp
:
220 mkdir
$(objdir_gtk_debug
)
221 cd
$(objdir_gtk_debug
) \
222 && ..
/configure
--prefix=/usr \
223 --cache-file
=..
/config_deb.cache \
227 --enable-burnt_name \
235 build-contrib-shared-stamp
: build-gtk-shared-stamp
237 cd
$(objdir_gtk_shared
)/contrib
/src \
241 build-contrib-static-stamp
: build-gtk-static-stamp
243 cd
$(objdir_gtk_static
)/contrib
/src \
247 build-gtk-py-stamp
: build-gtk-shared-stamp
251 && .
/setup.py build IN_CVS_TREE
=1 WX_CONFIG
='$(wxconfig)'
254 build-doc-stamp
: build-gtk-shared-stamp
256 cd
$(objdir_gtk_shared
)/utils
/tex2rtf
/src \
259 mkdir
$(objdir_doc_cruft
)
260 cd
$(objdir_doc_cruft
) \
261 && LD_LIBRARY_PATH
=..
/$(objdir_gtk_shared
)/lib \
262 ..
/$(objdir_gtk_shared
)/utils
/tex2rtf
/src
/tex2rtf \
263 ..
/docs
/latex
/wx
/manual.
tex ..
/$(objdir_doc
)/wxwin.htm
-twice
-html
264 cp docs
/latex
/wx
/*.gif
$(objdir_doc
)
265 rm -rf
$(objdir_doc_cruft
)
266 rm -f
$(objdir_doc
)/wxwin.con
$(objdir_doc
)/wxwin.hh
* \
267 $(objdir_doc
)/wxwin.htx
$(objdir_doc
)/wxwin.ref
270 build-examples-stamp
:
272 mkdir
$(objdir_examples
)
273 cp
-a samples
$(objdir_examples
)
274 cp
-a demos
$(objdir_examples
)
275 cp
-a wxPython
/demo
$(objdir_examples
)/wxPython
276 @for d in
$(objdir_examples
)/demos
$(objdir_examples
)/samples
; do \
278 && mv Makefile.in Makefile \
279 && rm -f configure
* \
280 && find
-name
'Makefile.in' -exec
rm -f
'{}' ';' \
281 && for f in
$$(find
-type d
); do \
282 if
[ -f
$$f/makefile.unx
]; then \
283 mv
$$f/makefile.unx
$$f/Makefile
; \
289 build-i18n-stamp
: build-gtk-shared-stamp
295 clean: debian
/control
298 rm -rf config_deb.cache control-files-stamp
$(build_stamps
) $(objdirs
)
300 cd wxPython
&& .
/setup.py
clean
302 rm -f debian
/$(package_wxbase_lib
).
*
303 rm -f debian
/$(package_wxbase_dev
).
*
304 rm -f debian
/$(package_wxbase_dbg
).
*
305 rm -f debian
/$(package_gtk_lib
).
*
306 rm -f debian
/$(package_gtk_dev
).
*
307 rm -f debian
/$(package_gtk_dbg
).
*
308 rm -f debian
/$(package_gtk_py
).
*
309 rm -f debian
/$(package_gtk_contrib
).
*
310 rm -f debian
/$(package_gtk_contrib_dev
).
*
311 rm -f debian
/$(package_headers
).
*
312 rm -f debian
/$(package_i18n
).
*
313 rm -f debian
/$(package_doc
).
*
314 rm -f debian
/$(package_examples
).
*
316 install_arch
: build_arch
$(install_all_arch
)
318 install: build_all
$(install_all
)
320 install-wxbase-lib
: DH_OPTIONS
=-p
$(package_wxbase_lib
)
321 install-wxbase-lib
: build-wxbase-shared-stamp
326 cp
-a
$(objdir_wxbase_shared
)/lib
/* debian
/$(package_wxbase_lib
)/usr
/lib
327 cp
$(objdir_wxbase_shared
)/wxbase-config debian
/$(package_wxbase_lib
)/usr
/bin
/
329 install-wxbase-dev
: DH_OPTIONS
=-p
$(package_wxbase_dev
)
330 install-wxbase-dev
: build-wxbase-static-stamp install-wxbase-lib
335 dh_movefiles
--sourcedir
=debian
/$(package_wxbase_lib
)
336 cp
$(objdir_wxbase_static
)/lib
/*.a debian
/$(package_wxbase_dev
)/usr
/lib
338 install-wxbase-dbg
: DH_OPTIONS
=-p
$(package_wxbase_dbg
)
339 install-wxbase-dbg
: build-wxbase-debug-stamp
344 cp
-a
$(objdir_wxbase_debug
)/lib
/* debian
/$(package_wxbase_dbg
)/usr
/lib
345 cp
$(objdir_wxbase_debug
)/wxbased-config debian
/$(package_wxbase_dbg
)/usr
/bin
/
346 cp debian
/lintian-override debian
/$(package_wxbase_dbg
)/usr
/share
/lintian
/overrides
/$(package_wxbase_dbg
)
348 install-gtk-lib
: DH_OPTIONS
=-p
$(package_gtk_lib
)
349 install-gtk-lib
: build-gtk-shared-stamp
354 cd
$(objdir_gtk_shared
) \
355 && $(MAKE
) install prefix=`pwd`/..
/debian
/$(package_gtk_lib
)/usr
356 rm -f debian
/$(package_gtk_lib
)/usr
/bin
/wx-config
358 install-gtk-dev
: DH_OPTIONS
=-p
$(package_gtk_dev
)
359 install-gtk-dev
: build-gtk-static-stamp install-gtk-lib
364 dh_movefiles
--sourcedir
=debian
/$(package_gtk_lib
)
365 cp
$(objdir_gtk_static
)/lib
/libwx_gtk
*.a debian
/$(package_gtk_dev
)/usr
/lib
367 install-gtk-dbg
: DH_OPTIONS
=-p
$(package_gtk_dbg
)
368 install-gtk-dbg
: build-gtk-debug-stamp
373 cp
-a
$(objdir_gtk_debug
)/lib
/* debian
/$(package_gtk_dbg
)/usr
/lib
374 cp
$(objdir_gtk_debug
)/wxgtkd-config debian
/$(package_gtk_dbg
)/usr
/bin
/
375 cp debian
/lintian-override debian
/$(package_gtk_dbg
)/usr
/share
/lintian
/overrides
/$(package_gtk_dbg
)
377 install-gtk-contrib
: DH_OPTIONS
=-p
$(package_gtk_contrib
)
378 install-gtk-contrib
: build-contrib-shared-stamp
383 cd
$(objdir_gtk_shared
)/contrib
/src \
384 && $(MAKE
) install prefix=`pwd`/..
/..
/..
/debian
/$(package_gtk_contrib
)/usr
386 install-gtk-contrib-dev
: DH_OPTIONS
=-p
$(package_gtk_contrib_dev
)
387 install-gtk-contrib-dev
: build-contrib-static-stamp install-gtk-dev
392 dh_movefiles
--sourcedir
=debian
/$(package_gtk_contrib
)
393 cp
$(objdir_gtk_static
)/lib
/*.a debian
/$(package_gtk_contrib_dev
)/usr
/lib
394 rm -f debian
/$(package_gtk_contrib_dev
)/usr
/lib
/libwx_gtk
*.a
396 install-gtk-py
: DH_OPTIONS
=-p
$(package_gtk_py
)
397 install-gtk-py
: build-gtk-py-stamp
403 && .
/setup.py
install --prefix=`pwd`/..
/debian
/$(package_gtk_py
)/usr
404 find debian
/$(package_gtk_py
)/usr
/lib
/$(python_dir
)/site-packages
/wxPython \
405 -name
'*.py?' -exec
rm '{}' ';'
407 install-headers
: DH_OPTIONS
=-p
$(package_headers
)
408 install-headers
: install-gtk-lib
413 dh_movefiles
--sourcedir
=debian
/$(package_gtk_lib
)
422 install-i18n
: DH_OPTIONS
=-p
$(package_i18n
)
423 install-i18n
: build-i18n-stamp install-gtk-lib
428 dh_movefiles
--sourcedir
=debian
/$(package_gtk_lib
)
430 install-doc
: DH_OPTIONS
=-p
$(package_doc
)
431 install-doc
: build-doc-stamp
437 install-examples
: DH_OPTIONS
=-p
$(package_examples
)
438 install-examples
: build-examples-stamp
451 dh_strip
-N
$(package_gtk_dbg
) -N
$(package_wxbase_dbg
)
454 dh_makeshlibs
-N
$(package_gtk_py
) -V
456 dh_shlibdeps
-ldebian
/$(package_gtk_lib
)/usr
/lib
461 # Build architecture-independent files here.
462 # Note that you currently can't build the indep packages without first
463 # building the arch specific package files needed to create them.
464 binary-indep
: build_all
install
465 $(MAKE
) -f debian
/rules DH_OPTIONS
=-i binary-common
467 # Build just the architecture-dependent files here.
468 binary-arch
: build_arch install_arch
469 $(MAKE
) -f debian
/rules DH_OPTIONS
=-a binary-common
471 # Build all packages target.
472 binary
: binary-arch binary-indep
475 ############################################################################
477 # Some rules to build a subset of the complete list of packages that can be
478 # built from CVS. Beware that packages produced with these rules may *NOT*
479 # be compatible with packages built using the 'binary' target or even with
480 # Debian policy. Do not distribute packages built with these rules, they
481 # are currently useful for rapid in-house testing by developers only.
483 # libwxgtk shared lib package
484 binary-gtk
: control-files-stamp install-gtk-lib install-headers
485 $(MAKE
) -f debian
/rules DH_OPTIONS
="-p$(package_gtk_lib) -p$(package_headers)" binary-common
487 binary-gtk-dev
: control-files-stamp install-gtk-dev install-headers
488 $(MAKE
) -f debian
/rules \
489 DH_OPTIONS
="-p$(package_gtk_lib) -p$(package_gtk_dev) -p$(package_headers)" \
492 binary-gtk-dbg
: control-files-stamp install-gtk-dbg install-headers
493 $(MAKE
) -f debian
/rules DH_OPTIONS
="-p$(package_gtk_dbg) -p$(package_headers)" binary-common
495 # libwxbase shared lib package
496 binary-wxbase
: control-files-stamp install-wxbase-lib install-headers
497 $(MAKE
) -f debian
/rules DH_OPTIONS
="-p$(package_wxbase_lib) -p$(package_headers)" binary-common
499 binary-wxbase-dev
: control-files-stamp install-wxbase-dev install-headers
500 $(MAKE
) -f debian
/rules \
501 DH_OPTIONS
="-p$(package_wxbase_lib) -p$(package_wxbase_dev) -p$(package_headers)" \
504 binary-wxbase-dbg
: control-files-stamp install-wxbase-dbg install-headers
505 $(MAKE
) -f debian
/rules DH_OPTIONS
="-p$(package_wxbase_dbg) -p$(package_headers)" binary-common
508 binary-doc
: control-files-stamp install-doc
509 $(MAKE
) -f debian
/rules DH_OPTIONS
=-p
$(package_doc
) binary-common
512 .PHONY
: build build_all build_arch
clean binary-indep binary-arch binary binary-common \
513 binary-gtk binary-gtk-dev binary-gtk-dbg binary-wxbase binary-wxbase-dev \
514 binary-wxbase-dbg binary-doc
install install_arch install-wxbase-lib \
515 install-wxbase-dev install-wxbase-dbg install-gtk-lib install-gtk-dev \
516 install-gtk-dbg install-gtk-contrib install-gtk-contrib-dev \
517 install-gtk-py install-headers install-i18n install-doc install-examples