2 # debian/rules file to build packages from wx 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.
12 ifdef CONCURRENCY_LEVEL
14 # A user who knows what they want, that's like gold...
15 # respect their precious opinion of how much blue smoke to use.
16 JOB_COUNT
:= $(CONCURRENCY_LEVEL
)
18 else ifdef DISTCC_HOSTS
20 # Otherwise, if they have a cluster, try to put it to good use.
21 JOB_COUNT
:= $(shell set
$${DISTCC_HOSTS} > /dev
/null
2>&1 ; echo
$$\
#)
23 # Not much faster, but it might keep you warm in winter...
24 #JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$(($$\# + $$\#)))
29 FAST_MAKE
= $(MAKE
) -j
$(JOB_COUNT
)
34 -include debian
/python-version
37 # If another source package is to supply the common binary packages
38 # for a particular Debian release, then define this variable to indicate
39 # the $(release) that is expected to provide it. Do not define it at
40 # all if this is to be the default (or only) wx source package for the
44 #DEBIAN_WX_DEFAULT_VERSION = 2.6
47 # This will extract a flavour out of the name of the source directory
48 # and flavour the packages and binaries with it. 'Official' builds
49 # should use a source dir of the form wxwidgets$RELEASE-$VERSION.
50 # Flavoured builds may use wxwidgets$RELEASE-$FLAVOUR-$VERSION, where
51 # any descriptive alphanumeric name will do for FLAVOUR. This will
52 # allow a custom build to be installed alongside the mainline ones
53 # without conflict. You will also need to make a corresponding
54 # changelog entry for your flavour source package using:
55 # wxwidget$RELEASE-$FLAVOUR ($VERSION) to satify dpkg-source and
56 # to correctly set the release below.
57 DEBIAN_WXFLAVOUR
:= $(shell pwd | sed
-e
's@.*/wxwidgets[0-9.]\+-\?\(.*\)-[0-9.]\+-\?.*@\1@')
60 wx_major_version_number
:= $(shell sed
-n
's/^wx_major_version_number=//p' configure.in
)
61 wx_minor_version_number
:= $(shell sed
-n
's/^wx_minor_version_number=//p' configure.in
)
62 wx_release_number
:= $(shell sed
-n
's/^wx_release_number=//p' configure.in
)
63 wx_subrelease_number
:= $(shell sed
-n
's/^wx_subrelease_number=//p' configure.in
)
65 ##release := $(shell dpkg-parsechangelog | sed -n 's/^Source: wxwidgets//p' | sed 's/-ansi//')
66 release
:= $(wx_major_version_number
).
$(wx_minor_version_number
)
68 # This is broken completely now by bakefiles changes. Until we add
69 # some hocus pocus to the main tree, to export these values from it
70 # again, we approximate its behaviour (fairly precisely fwiw) to
71 # specify $soversion below. Re-automate if incompatible changes
72 # result in it actually changing.
73 #soversion := $(shell grep '^WX_CURRENT=' configure.in | sed 's/WX_CURRENT=\([0-9]\+\).*/\1/')
75 sorelease
:= $(release
:%-$(DEBIAN_WXFLAVOUR
)=%)-$(soversion
)$(addprefix -,$(DEBIAN_WXFLAVOUR
))
77 # In some places we use the full version number, including the micro version,
78 # for the development releases (which can be incompatible for the same major
79 # and minor version) but just the major.minor for the stable releases (which
80 # are supposed to be compatible), this variable contains the appropriate value
81 ifeq ($(shell echo
`echo $(release) | sed 's/.\+\.\(.\+\)/\1/'`%2 | bc
),1)
83 compatible_release
:= $(release
).
$(wx_release_number
)
85 compatible_release
:= $(release
)
88 # Base value for alternative priorities.
89 alt_prio
:= $(subst .
,,$(release
))
92 pydir
:= usr
/lib
/$(python_ver
)/site-packages
93 wxpydir
:= $(pydir
)/wx-
$(compatible_release
)-$(pytoolkit
)
95 cross_host
:= i586-mingw32msvc
96 cross_build
:= $(shell .
/config.guess
)
98 config_cache
= ..
/config_deb.cache
99 config_cache_cross
= ..
/config_deb_cross.cache
103 COMMON_CONFIGURE_OPTIONS
= \
105 --cache-file
=$(config_cache
) \
106 --with-flavour
=$(DEBIAN_WXFLAVOUR
) \
108 --disable-reserved_virtual \
110 BASE_CONFIGURE_OPTIONS
= $(COMMON_CONFIGURE_OPTIONS
) \
113 GTK_CONFIGURE_OPTIONS
= $(COMMON_CONFIGURE_OPTIONS
) \
121 --enable-graphics_ctx \
127 PY_WX_CONFIG_OPTIONS
= --version
=$(release
) --toolkit
=$(pytoolkit
) --static
=no
132 ifeq ($(WX_UNICODE
),1)
133 COMMON_CONFIGURE_OPTIONS
+= --enable-unicode
134 PY_WX_CONFIG_OPTIONS
+= --unicode
135 PY_UNICODE
="UNICODE=1"
136 wxpydir
:= $(pydir
)/wx-
$(compatible_release
)-$(pytoolkit
)-unicode
138 # for compatibility with the existing 2.6 packages, we don't use "u" in
139 # the Unicode (default) package names
142 # but we do need to use something for non-Unicode packages to distinguish
144 unicode_suffix
:= -ansi
147 ifeq ($(WX_OPENGL
),1)
148 GTK_CONFIGURE_OPTIONS
+= --with-opengl
150 GTK_CONFIGURE_OPTIONS
+= --without-opengl
154 package_wxbase_lib
:= libwxbase
$(sorelease
)$(unicode_suffix
)
155 package_wxbase_dev
:= libwxbase
$(release
)$(unicode_suffix
)-dev
156 package_wxbase_dbg
:= libwxbase
$(release
)$(unicode_suffix
)-dbg
158 package_gtk_lib
:= libwxgtk
$(sorelease
)$(unicode_suffix
)
159 package_gtk_dev
:= libwxgtk
$(release
)$(unicode_suffix
)-dev
160 package_gtk_dbg
:= libwxgtk
$(release
)$(unicode_suffix
)-dbg
165 package_gtk_py_lib
:= python-wxgtk
$(release
)$(unicode_suffix
)
166 package_gtk_py_ver
= python-wxversion
167 package_gtk_py_tools
= python-wxtools
168 package_gtk_py_addons
= python-wxaddons
170 package_headers
:= wx
$(release
)-headers
171 package_i18n
:= wx
$(release
)-i18n
172 package_doc
:= wx
$(release
)-doc
173 package_examples
:= wx
$(release
)-examples
174 package_common
= wx-common
176 # The packages listed here are common to all wx versions, and may be provided
177 # by another source package if more than one is in the release simultaneously.
178 common_packages
:= $(package_common
) $(package_gtk_py_ver
) $(package_gtk_py_tools
) $(package_gtk_py_addons
)
181 package_gtk_dbg_py
:= python-wxgtk
$(release
)$(unicode_suffix
)-dbg
185 package_msw_dev
:= libwxmsw
$(release
)$(unicode_suffix
)-dev
186 package_msw_dbg
:= libwxmsw
$(release
)$(unicode_suffix
)-dbg
187 package_headers_msw
:= wx
$(release
)-headers-msw
189 # The packages listed here will not be built by default.
190 extra_packages
:= $(package_gtk_dbg_py
) \
191 $(package_msw_dev
) $(package_msw_dbg
) $(package_headers_msw
)
193 ifdef DEBIAN_WX_DEFAULT_VERSION
195 extra_packages
+= $(common_packages
)
201 objdir_wxbase_shared
= objs_wxbase_sh
202 objdir_wxbase_debug
= objs_wxbase_d
203 objdir_gtk_shared
= objs_gtk_sh
204 objdir_gtk_debug
= objs_gtk_d
205 objdir_gtk_install
= objs_gtk_install
206 objdir_doc_cruft
= objs_doc_con
207 objdir_doc
= docs
/wx-manual.html
208 objdir_examples
= docs
/examples
211 objdir_msw_shared
= objs_msw_sh
212 objdir_msw_static
= objs_msw_st
213 objdir_msw_dbg
= objs_msw_d
214 objdir_msw_install
= objs_msw_install
216 objdirs
:= $(objdir_wxbase_shared
) $(objdir_wxbase_debug
) \
217 $(objdir_gtk_shared
) $(objdir_gtk_debug
) $(objdir_gtk_install
) \
218 $(objdir_doc_cruft
) $(objdir_doc
) $(objdir_examples
) \
219 $(objdir_msw_shared
) $(objdir_msw_static
) $(objdir_msw_dbg
) \
220 $(objdir_msw_install
)
222 # note that the i18n package is actually arch indep (once built)
223 # but must be built (and installed) during the arch any phase as
224 # it's pulled out of the wxGTK shared lib package.
226 # similarly some of the wxpython packages are arch indep too, but
227 # all files for it are installed during the arch any phase.
231 build_arch_stamps
= build-wxbase-shared-stamp build-wxbase-debug-stamp \
232 build-gtk-shared-stamp build-gtk-shared-contrib-stamp \
233 build-gtk-debug-stamp build-gtk-debug-contrib-stamp \
234 build-i18n-stamp build-gtk-py-stamp
236 build_indep_stamps
= build-examples-stamp build-doc-stamp
238 build_cross_stamps
= build-msw-shared-stamp build-msw-static-stamp build-msw-dbg-stamp
240 build_stamps_native
:= $(build_arch_stamps
) $(build_indep_stamps
)
242 build_stamps
:= $(build_stamps_native
) $(build_cross_stamps
)
246 install_all_arch
= install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
247 install-gtk-lib install-gtk-dev install-gtk-dbg \
248 install-headers install-i18n \
251 ifndef DEBIAN_WX_DEFAULT_VERSION
253 install_all_arch
+= install-common
257 install_all_indep
= install-examples install-doc
259 install_all_cross
= install-msw-dev install-msw-dbg install-headers-msw
261 install_all_native
:= $(install_all_arch
) $(install_all_indep
)
263 install_all
:= $(install_all_native
) $(install_all_cross
)
266 # wxPython uses this to build in-tree
267 wxconfig
:= $(shell pwd
)/$(objdir_gtk_shared
)/wx-config
--no_rpath
268 wxconfig-dbg
:= $(shell pwd
)/$(objdir_gtk_debug
)/wx-config
--no_rpath
270 # and this after it is installed.
271 py_wxconfig
:= wx-config
$(PY_WX_CONFIG_OPTIONS
) --debug
=no
272 pyd_wxconfig
:= wx-config
$(PY_WX_CONFIG_OPTIONS
) --debug
275 #contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*)))
280 debian
/python-version
:
281 echo python_ver
:= python
$(shell python
-c
"import sys;print sys.version[:3]") > $@
283 debian
/control
: $(addprefix debian
/,control.in python-version
)
284 sed
-e
's/=V/$(release)/g;s/=SOV/$(sorelease)/g;s/=PY/$(python_ver)/g;s/=U/$(unicode_suffix)/g'\
285 < debian
/control.in
> debian
/control
287 control-files-stamp
: debian
/control
289 @for f in postinst prerm
; do \
290 echo
"generating control file $(package_wxbase_dev).$$f"; \
291 sed
-e
's/=V/$(release)/g; '\
292 ' s/=PRIO/$(alt_prio)/g' \
293 < debian
/libwxbase-dev.
$$f \
294 > debian
/$(package_wxbase_dev
).
$$f; \
296 @for f in postinst prerm
; do \
297 echo
"generating control file $(package_wxbase_dbg).$$f"; \
298 sed
-e
's/=V/$(release)/g; '\
299 ' s/=PRIO/$(alt_prio)/g' \
300 < debian
/libwxbase-dbg.
$$f \
301 > debian
/$(package_wxbase_dbg
).
$$f; \
303 @for f in postinst prerm
; do \
304 echo
"generating control file $(package_gtk_dev).$$f"; \
305 sed
-e
's/=V/$(release)/g; '\
306 ' s/=PRIO/$(alt_prio)/g' \
307 < debian
/libwxgtk-dev.
$$f \
308 > debian
/$(package_gtk_dev
).
$$f; \
310 @for f in postinst prerm
; do \
311 echo
"generating control file $(package_gtk_dbg).$$f"; \
312 sed
-e
's/=V/$(release)/g; '\
313 ' s/=PRIO/$(alt_prio)/g' \
314 < debian
/libwxgtk-dbg.
$$f \
315 > debian
/$(package_gtk_dbg
).
$$f; \
317 @for f in docs postinst prerm
; do \
318 echo
"generating control file $(package_gtk_py_lib).$$f"; \
319 sed
-e
's/=PY/$(python_ver)/g; '\
320 ' s|=WXPYDIR|$(wxpydir)|g; '\
321 ' s/=V/$(release)/g; '\
322 ' s/=PRIO/$(alt_prio)/g' \
323 < debian
/python-wxgtk.
$$f \
324 > debian
/$(package_gtk_py_lib
).
$$f; \
326 @for f in postinst prerm
; do \
327 echo
"generating control file $(package_gtk_dbg_py).$$f"; \
328 sed
-e
's/=PY/$(python_ver)/g; '\
329 ' s/=V/$(release)/g; '\
330 ' s/=PRIO/$(alt_prio)/g' \
331 < debian
/python-wxgtk-dbg.
$$f \
332 > debian
/$(package_gtk_dbg_py
).
$$f; \
334 @echo
"generating control file $(package_gtk_dbg_py).docs";
335 @cp debian
/python-wxgtk.docs debian
/$(package_gtk_dbg_py
).docs
;
336 @for f in docs doc-base
; do \
337 echo
"generating control file $(package_doc).$$f"; \
338 sed
-e
's/=V/$(release)/g' < debian
/wx-doc.
$$f \
339 > debian
/$(package_doc
).
$$f; \
341 @for f in examples
; do \
342 echo
"generating control file $(package_examples).$$f"; \
343 cp debian
/wx-examples.
$$f debian
/$(package_examples
).
$$f; \
345 @for f in postinst prerm
; do \
346 echo
"generating control file $(package_msw_dev).$$f"; \
347 sed
-e
's/=V/$(release)/g; '\
348 ' s/=H/$(cross_host)/g; '\
349 ' s/=PRIO/$(alt_prio)/g' \
350 < debian
/libwxmsw-dev.
$$f \
351 > debian
/$(package_msw_dev
).
$$f; \
353 @for f in postinst prerm
; do \
354 echo
"generating control file $(package_msw_dbg).$$f"; \
355 sed
-e
's/=V/$(release)/g; '\
356 ' s/=H/$(cross_host)/g; '\
357 ' s/=PRIO/$(alt_prio)/g' \
358 < debian
/libwxmsw-dbg.
$$f \
359 > debian
/$(package_msw_dbg
).
$$f; \
361 # @echo "generating control file $(package_common).menu"; \
362 # sed -e 's/=V/$(release)/g' < debian/wx-common.menu \
363 # > debian/$(package_common).menu;
364 @echo
"generating control file lintian-override"; \
365 sed
-e
's/=V/$(release)/g; '\
366 ' s/=SOV/$(sorelease)/g' \
367 < debian
/lintian-override.in \
368 > debian
/lintian-override
; \
371 build_arch
: control-files-stamp
$(build_arch_stamps
)
372 build_all
: control-files-stamp
$(build_stamps_native
)
374 # Really we should probably do nothing here until we know which
375 # binary target is being called, but alpha builds were exploding
376 # (compiler segfaults) in random places when building under fakeroot
377 # from the binary-arch target. Build all -arch files here then, and
378 # let the -indep stuff fend for itself later.
383 # The wx2.6 build system makes us run around in circles to get a separate
384 # libwxbase. We need to configure it here in order to get the correct
385 # config files to use it alone, but there is no point building it as the
386 # wxgtk build is going to do that again anyway. We'll move the relevant
387 # files out when that is done.
389 configure-wxbase-shared-stamp
:
391 mkdir
-p
$(objdir_wxbase_shared
)
392 cd
$(objdir_wxbase_shared
) \
393 && ..
/configure
$(BASE_CONFIGURE_OPTIONS
)
396 build-wxbase-shared-stamp
: configure-wxbase-shared-stamp
398 # Nothing to build here, move along...
399 #cd $(objdir_wxbase_shared) && $(FAST_MAKE)
402 configure-wxbase-debug-stamp
:
404 mkdir
-p
$(objdir_wxbase_debug
)
405 cd
$(objdir_wxbase_debug
) \
406 && ..
/configure
$(BASE_CONFIGURE_OPTIONS
) --enable-debug
409 build-wxbase-debug-stamp
: configure-wxbase-debug-stamp
411 # Nothing to build here, move along...
412 #cd $(objdir_wxbase_debug) && $(FAST_MAKE)
415 configure-gtk-shared-stamp
:
417 mkdir
-p
$(objdir_gtk_shared
)
418 cd
$(objdir_gtk_shared
) \
419 && ..
/configure
$(GTK_CONFIGURE_OPTIONS
)
422 build-gtk-shared-stamp
: configure-gtk-shared-stamp
424 cd
$(objdir_gtk_shared
) && $(FAST_MAKE
)
428 configure-gtk-debug-stamp
:
430 mkdir
-p
$(objdir_gtk_debug
)
431 cd
$(objdir_gtk_debug
) \
432 && ..
/configure
$(GTK_CONFIGURE_OPTIONS
) --enable-debug
435 build-gtk-debug-stamp
: configure-gtk-debug-stamp
437 cd
$(objdir_gtk_debug
) && $(FAST_MAKE
)
441 build-gtk-shared-contrib-stamp
: build-gtk-shared-stamp
443 cd
$(objdir_gtk_shared
)/contrib
/src
&& $(FAST_MAKE
)
444 cd
$(objdir_gtk_shared
)/utils
/wxrc
&& $(FAST_MAKE
)
448 build-gtk-debug-contrib-stamp
: build-gtk-debug-stamp
450 cd
$(objdir_gtk_debug
)/contrib
/src
&& $(FAST_MAKE
)
455 @if
[ ! -e build-gtk-py-stamp
]; then \
456 $(MAKE
) -f debian
/rules clean-py
; \
458 $(RM
) build-gtk-dbg-py-stamp
460 build-gtk-py-stamp
: build-gtk-shared-stamp purge-dbg-py
464 && $(python_ver
) .
/setup.py build \
465 WX_CONFIG
='$(wxconfig)' \
466 WXPORT
=$(pytoolkit
) \
468 FLAVOUR
=$(DEBIAN_WXFLAVOUR
)
471 build-doc-stamp
: build-gtk-shared-stamp
474 # the tarball may already have the generated docs in it
475 if
[ ! -e docs
/html
/wx
/index.html
]; then \
476 cd
$(objdir_gtk_shared
)/utils
/tex2rtf
/src
&& $(FAST_MAKE
); \
477 rm -rf
$(objdir_doc
); \
478 rm -rf
$(objdir_doc_cruft
); \
479 mkdir
$(objdir_doc_cruft
); \
480 cd
$(objdir_doc_cruft
); \
481 LD_LIBRARY_PATH
=..
/$(objdir_gtk_shared
)/lib
:$(LD_LIBRARY_PATH
) \
482 ..
/$(objdir_gtk_shared
)/utils
/tex2rtf
/src
/tex2rtf \
483 ..
/docs
/latex
/wx
/manual.
tex \
484 ..
/$(objdir_doc
)/wx
$(release
)-manual.html \
486 cp docs
/latex
/wx
/*.gif
$(objdir_doc
); \
487 rm -rf
$(objdir_doc_cruft
); \
488 rm -f
$(objdir_doc
)/wx
$(release
)-manual.
{con
,hh
*,htx
,ref
}; \
490 cp docs
/html
/wx
/* $(objdir_doc
); \
491 mv
$(objdir_doc
)/index.html
$(objdir_doc
)/wx-
$(release
)-manual_contents.html
; \
495 build-examples-stamp
: build-gtk-shared-stamp
497 mkdir
-p
$(objdir_examples
)
499 # copy all samples and the Makefile generated for libwxgtk.
500 cp
-a samples
$(objdir_examples
)
501 rm -f
$(objdir_examples
)/samples
/Makefile
502 cp
-a
$(objdir_gtk_shared
)/samples
/Makefile
$(objdir_examples
)/samples
504 cd
$(objdir_examples
)/samples \
505 && find
-name
'Makefile.in' -exec
rm -f
'{}' ';' \
506 && for d in
$$(find
-type d
); do \
507 if
[ -f
$$d/makefile.unx
]; then \
508 mv
$$d/makefile.unx
$$d/Makefile
; \
512 cp
-a wxPython
/demo
$(objdir_examples
)/wxPython
514 echo
"generating install_examples.sh script";
515 sed
-e
's/=V/$(release)/g' < debian
/unpack_examples.sh.in \
516 > debian
/unpack_examples.sh
517 chmod
755 debian
/unpack_examples.sh
521 build-i18n-stamp
: build-gtk-shared-stamp
524 # touch .po files first, since if they are not already up
525 # to date then _now_ is not the time to fix it.
526 # That should have been been done before cvs was tagged.
533 @if
[ ! -e build-gtk-dbg-py-stamp
]; then \
534 $(MAKE
) -f debian
/rules clean-py
; \
536 $(RM
) build-gtk-py-stamp
538 build-gtk-dbg-py-stamp
: build-gtk-debug-stamp purge-release-py
542 && $(python_ver
) .
/setup.py build \
543 WX_CONFIG
='$(wxconfig-dbg)' \
544 WXPORT
=$(pytoolkit
) \
546 FLAVOUR
=$(addsuffix -,$(DEBIAN_WXFLAVOUR
))dbg
550 configure-msw-shared-stamp
:
552 mkdir
-p
$(objdir_msw_shared
)
553 cd
$(objdir_msw_shared
) \
554 && ..
/configure
--prefix=/usr
/$(cross_host
) \
555 --cache-file
=$(config_cache_cross
) \
556 --host
=$(cross_host
) \
557 --build
=$(cross_build
) \
558 --with-flavour
=$(DEBIAN_WXFLAVOUR
)
561 build-msw-shared-stamp
: configure-msw-shared-stamp
563 cd
$(objdir_msw_shared
) && $(FAST_MAKE
)
566 configure-msw-static-stamp
:
568 mkdir
-p
$(objdir_msw_static
)
569 cd
$(objdir_msw_static
) \
570 && ..
/configure
--prefix=/usr
/$(cross_host
) \
571 --cache-file
=$(config_cache_cross
) \
572 --host
=$(cross_host
) \
573 --build
=$(cross_build
) \
574 --with-flavour
=$(DEBIAN_WXFLAVOUR
) \
578 build-msw-static-stamp
: configure-msw-static-stamp
580 cd
$(objdir_msw_static
) && $(FAST_MAKE
)
583 configure-msw-dbg-stamp
:
585 mkdir
-p
$(objdir_msw_dbg
)
586 cd
$(objdir_msw_dbg
) \
587 && ..
/configure
--prefix=/usr
/$(cross_host
) \
588 --cache-file
=$(config_cache_cross
) \
589 --host
=$(cross_host
) \
590 --build
=$(cross_build
) \
591 --with-flavour
=$(DEBIAN_WXFLAVOUR
) \
595 build-msw-dbg-stamp
: configure-msw-dbg-stamp
597 cd
$(objdir_msw_dbg
) && $(FAST_MAKE
)
602 cd wxPython
&& rm -rf licence build
* docs
/xml-raw wx
/*.py
604 # What to do about src/__version__.py ???
607 # We do the equivalent of this above by removing build, unfortunately
608 # its not enough by itself to get the tree properly clean again.
609 # && ./setup.py clean
611 clean: debian
/control clean-py
615 rm -rf config_deb.cache config_deb_cross.cache
*-stamp
$(objdirs
)
617 rm -f
$(objdir_i18n
)/*.mo
620 rm -f debian
/$(package_wxbase_lib
).
*
621 rm -f debian
/$(package_wxbase_dev
).
*
622 rm -f debian
/$(package_wxbase_dbg
).
*
623 rm -f debian
/$(package_gtk_lib
).
*
624 rm -f debian
/$(package_gtk_dev
).
*
625 rm -f debian
/$(package_gtk_dbg
).
*
626 rm -f debian
/$(package_gtk_py_lib
).
*
627 rm -f debian
/$(package_headers
).
*
628 rm -f debian
/$(package_i18n
).
*
629 rm -f debian
/$(package_doc
).
*
630 rm -f debian
/$(package_examples
).
*
631 rm -f debian
/$(package_gtk_dbg_py
).
*
632 rm -f debian
/$(package_msw_dev
).
*
633 rm -f debian
/$(package_msw_dbg
).
*
634 rm -f debian
/lintian-override
635 rm -f debian
/unpack_examples.sh
637 install_arch
: build_arch
$(install_all_arch
)
639 install: build_all
$(install_all_native
)
642 install-wxbase-lib
: DH_OPTIONS
=-p
$(package_wxbase_lib
)
643 install-wxbase-lib
: build-wxbase-shared-stamp install-gtk-shared-stamp
647 @
# No, this is not a typo, we steal these libs from the gtk build.
648 dh_install
$(objdir_gtk_install
)/lib
/libwx_base
*.so.
* usr
/lib
649 dh_installdirs usr
/share
/lintian
/overrides
650 cp debian
/lintian-override debian
/$(package_wxbase_lib
)/usr
/share
/lintian
/overrides
/$(package_wxbase_lib
)
652 install-wxbase-dev
: DH_OPTIONS
=-p
$(package_wxbase_dev
)
653 install-wxbase-dev
: build-wxbase-shared-stamp install-gtk-shared-stamp
657 @
# No, this is not a typo, we steal these libs from the gtk build.
658 dh_install
$(objdir_gtk_install
)/lib
/libwx_base
*.so usr
/lib
659 dh_install
$(objdir_wxbase_shared
)/lib
/wx
/include usr
/lib
/wx
660 dh_install
$(objdir_wxbase_shared
)/lib
/wx
/config
/base
* usr
/lib
/wx
/config
662 install-wxbase-dbg
: DH_OPTIONS
=-p
$(package_wxbase_dbg
)
663 install-wxbase-dbg
: build-wxbase-debug-stamp
667 @
# No, this is not a typo, we steal these libs from the gtk debug build.
668 dh_install
$(objdir_gtk_debug
)/lib
/libwx_base
* usr
/lib
669 dh_install
$(objdir_wxbase_debug
)/lib
/wx
/include usr
/lib
/wx
670 dh_install
$(objdir_wxbase_debug
)/lib
/wx
/config
/base
* usr
/lib
/wx
/config
671 dh_installdirs usr
/share
/lintian
/overrides
672 cp debian
/lintian-override debian
/$(package_wxbase_dbg
)/usr
/share
/lintian
/overrides
/$(package_wxbase_dbg
)
674 install-gtk-shared-stamp
: build-gtk-shared-stamp build-gtk-shared-contrib-stamp
676 mkdir
-p
$(objdir_gtk_install
)
677 cd
$(objdir_gtk_shared
) \
678 && $(MAKE
) install prefix=`pwd`/..
/$(objdir_gtk_install
)
679 cd
$(objdir_gtk_shared
)/contrib
/src \
680 && $(MAKE
) install prefix=`pwd`/..
/..
/..
/$(objdir_gtk_install
)
683 install-gtk-lib
: DH_OPTIONS
=-p
$(package_gtk_lib
)
684 install-gtk-lib
: install-gtk-shared-stamp
688 dh_install
$(objdir_gtk_install
)/lib
/libwx_gtk
*.so.
* usr
/lib
689 dh_installdirs usr
/share
/lintian
/overrides
690 cp debian
/lintian-override debian
/$(package_gtk_lib
)/usr
/share
/lintian
/overrides
/$(package_gtk_lib
)
692 install-gtk-dev
: DH_OPTIONS
=-p
$(package_gtk_dev
)
693 install-gtk-dev
: install-gtk-shared-stamp
697 dh_install
$(objdir_gtk_install
)/lib
/libwx_gtk
*.so usr
/lib
698 dh_install
$(objdir_gtk_install
)/lib
/wx
/include usr
/lib
/wx
699 dh_install
$(objdir_gtk_install
)/lib
/wx
/config
/gtk
* usr
/lib
/wx
/config
701 install-gtk-dbg
: DH_OPTIONS
=-p
$(package_gtk_dbg
)
702 install-gtk-dbg
: build-gtk-debug-stamp build-gtk-debug-contrib-stamp
706 dh_install
$(objdir_gtk_debug
)/lib
/libwx_gtk
* usr
/lib
707 dh_install
$(objdir_gtk_debug
)/lib
/wx
/include usr
/lib
/wx
708 dh_install
$(objdir_gtk_debug
)/lib
/wx
/config
/gtk
* usr
/lib
/wx
/config
709 dh_installdirs usr
/share
/lintian
/overrides
710 cp debian
/lintian-override debian
/$(package_gtk_dbg
)/usr
/share
/lintian
/overrides
/$(package_gtk_dbg
)
713 install-gtk-py-lib
: DH_OPTIONS
=-p
$(package_gtk_py_lib
)
714 install-gtk-py-lib
: build-gtk-py-stamp
718 dh_installdirs usr
/lib
/wx
/python
720 && $(python_ver
) .
/setup.py
install \
721 --prefix=`pwd`/..
/debian
/$(package_gtk_py_lib
)/usr \
722 WX_CONFIG
='$(wxconfig)' \
723 SYS_WX_CONFIG
='$(py_wxconfig)' \
724 WXPORT
=$(pytoolkit
) \
726 FLAVOUR
=$(DEBIAN_WXFLAVOUR
)
728 mv debian
/$(package_gtk_py_lib
)/$(pydir
)/wx.pth \
729 debian
/$(package_gtk_py_lib
)/usr
/lib
/wx
/python
/wx
$(release
).pth
731 find debian
/$(package_gtk_py_lib
)/$(pydir
) -name
'*.py?' -exec
rm '{}' ';'
733 # This is rather bogus, its included in the main copyright file now though.
734 rm -f debian
/$(package_gtk_py_lib
)/$(wxpydir
)/wx
/tools
/XRCed
/license.txt
736 install-gtk-py-ver
: DH_OPTIONS
=-p
$(package_gtk_py_ver
)
737 install-gtk-py-ver
: install-gtk-py-lib
742 ifndef DEBIAN_WX_DEFAULT_VERSION
744 dh_movefiles
--sourcedir
=debian
/$(package_gtk_py_lib
) $(pydir
)/wxversion.py
746 rm debian
/$(package_gtk_py_lib
)/$(pydir
)/wxversion.py
751 install-gtk-py-tools
: DH_OPTIONS
=-p
$(package_gtk_py_tools
)
752 install-gtk-py-tools
: install-gtk-py-ver
757 ifndef DEBIAN_WX_DEFAULT_VERSION
759 dh_movefiles
--sourcedir
=debian
/$(package_gtk_py_lib
) usr
/bin
761 dh_installman debian
/wxPython-tools
.1
762 dh_link usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/img2py
.1 \
763 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/img2xpm
.1 \
764 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/img2png
.1 \
765 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/pycrust
.1 \
766 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/pyshell
.1 \
767 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/xrced
.1 \
768 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/helpviewer
.1 \
769 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/pyalacarte
.1 \
770 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/pyalamode
.1 \
771 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/pywrap
.1 \
772 usr
/share
/man
/man1
/wxPython-tools
.1 usr
/share
/man
/man1
/pywxrc
.1
774 dh_installdirs usr
/share
/lintian
/overrides
775 cp debian
/lintian-override debian
/$(package_gtk_py_tools
)/usr
/share
/lintian
/overrides
/$(package_gtk_py_tools
)
777 mkdir
-p debian
/$(package_gtk_py_tools
)/usr
/share
/pixmaps
778 mkdir
-p debian
/$(package_gtk_py_tools
)/usr
/share
/applications
780 cp wxPython
/wx
/py
/PyCrust_32.png debian
/$(package_gtk_py_tools
)/usr
/share
/pixmaps
/pycrust.png
781 cp wxPython
/wx
/py
/PyCrust_32.png debian
/$(package_gtk_py_tools
)/usr
/share
/pixmaps
/pyshell.png
782 cp wxPython
/wx
/tools
/XRCed
/XRCed_32.png debian
/$(package_gtk_py_tools
)/usr
/share
/pixmaps
/xrced.png
783 cp debian
/pycrust.desktop debian
/$(package_gtk_py_tools
)/usr
/share
/applications
784 cp debian
/pyshell.desktop debian
/$(package_gtk_py_tools
)/usr
/share
/applications
785 cp debian
/xrced.desktop debian
/$(package_gtk_py_tools
)/usr
/share
/applications
787 rm -r debian
/$(package_gtk_py_lib
)/usr
/bin
789 install-gtk-py-addons
: DH_OPTIONS
=-p
$(package_gtk_py_addons
)
790 install-gtk-py-addons
: install-gtk-py-tools
794 ifndef DEBIAN_WX_DEFAULT_VERSION
796 dh_movefiles
--sourcedir
=debian
/$(package_gtk_py_lib
) $(pydir
)/wxaddons
798 rm -r debian
/$(package_gtk_py_lib
)/$(pydir
)/wxaddons
802 install-gtk-py
: install-gtk-py-addons
805 install-common
: DH_OPTIONS
=-p
$(package_common
)
806 install-common
: install-gtk-shared-stamp
811 dh_install
$(objdir_gtk_install
)/share
/bakefile
/presets usr
/share
/bakefile
812 dh_install
$(objdir_gtk_install
)/share
/bakefile
/presets
/wx
*.bkl usr
/share
/bakefile
/presets
814 dh_install
$(objdir_gtk_install
)/share
/aclocal usr
/share
815 dh_installman debian
/wx-config
.1
817 dh_install
$(objdir_gtk_shared
)/utils
/wxrc
/wxrc usr
/bin
818 dh_installman debian
/wxrc-tools
.1
819 dh_link usr
/share
/man
/man1
/wxrc-tools
.1 usr
/share
/man
/man1
/wxrc
.1
822 install-headers
: DH_OPTIONS
=-p
$(package_headers
)
823 install-headers
: install-gtk-shared-stamp
828 # The only way to be really sure we get the univ headers correct is to install
829 # them. Do that in a scratch dirs, and move the gtk ones last, so at least
830 # they win in the result of any uncaught conflict.
832 # cd $(objdir_gtk_univ) \
833 # && $(MAKE) install prefix=`pwd`/../$(objdir_univ_install)/usr
835 # dh_movefiles --sourcedir=$(objdir_univ_install)
836 dh_install
$(objdir_gtk_install
)/include usr
838 install-i18n
: DH_OPTIONS
=-p
$(package_i18n
)
839 install-i18n
: build-i18n-stamp install-gtk-shared-stamp
843 dh_install
$(objdir_gtk_install
)/share
/locale usr
/share
845 install-doc
: DH_OPTIONS
=-p
$(package_doc
)
846 install-doc
: build-doc-stamp
851 @
# Link this monstrosity with an overly obfuscated name
852 @
# to something that both people and browsers can expect to find.
853 dh_link usr
/share
/doc
/$(package_doc
)/wx-manual.html
/wx-
$(release
)-manual_contents.html \
854 usr
/share
/doc
/$(package_doc
)/wx-manual.html
/index.html
856 install-examples
: DH_OPTIONS
=-p
$(package_examples
)
857 install-examples
: build-examples-stamp
862 install-gtk-dbg-py
: DH_OPTIONS
=-p
$(package_gtk_dbg_py
)
863 install-gtk-dbg-py
: build-gtk-dbg-py-stamp
867 dh_installdirs usr
/lib
/wx
/python
869 && $(python_ver
) .
/setup.py
install \
870 --prefix=`pwd`/..
/debian
/$(package_gtk_dbg_py
)/usr \
871 WX_CONFIG
='$(wxconfig-dbg)' \
872 SYS_WX_CONFIG
='$(pyd_wxconfig)' \
873 WXPORT
=$(pytoolkit
) \
875 FLAVOUR
=$(addsuffix -,$(DEBIAN_WXFLAVOUR
))dbg
877 mv debian
/$(package_gtk_py_lib
)/$(pydir
)/wx.pth \
878 debian
/$(package_gtk_py_lib
)/usr
/lib
/wx
/python
/wx
$(release
)-dbg.pth
880 find debian
/$(package_gtk_dbg_py
)/$(pydir
) -name
'*.py?' -exec
rm '{}' ';'
881 rm -rf usr
/bin
$(pydir
)/{wxversion.py
,wx.pth
}
883 # This is rather bogus, its included in the main copyright file now though.
884 rm -f debian
/$(package_gtk_dbg_py
)/$(wxpydir
)/wx
/tools
/XRCed
/license.txt
887 install-msw-dev
: DH_OPTIONS
=-p
$(package_msw_dev
)
888 install-msw-dev
: build-msw-shared-stamp build-msw-static-stamp
892 dh_install
$(objdir_msw_shared
)/lib
/*.dll
* usr
/$(cross_host
)/lib
893 dh_install
$(objdir_msw_shared
)/lib
/wx
/include usr
/$(cross_host
)/lib
/wx
894 dh_install
$(objdir_msw_shared
)/lib
/wx
/config
/$(cross_host
)* usr
/$(cross_host
)/lib
/wx
/config
895 dh_install
$(objdir_msw_static
)/lib
/*.a usr
/$(cross_host
)/lib
896 dh_install
$(objdir_msw_static
)/lib
/wx
/include usr
/$(cross_host
)/lib
/wx
897 dh_install
$(objdir_msw_static
)/lib
/wx
/config
/$(cross_host
)* usr
/$(cross_host
)/lib
/wx
/config
898 $(cross_host
)-strip --strip-debug debian
/$(package_msw_dev
)/usr
/$(cross_host
)/lib
/*.a
900 @
# As a special case for the cross packages, we link their config
901 @
# under /usr as well as under the normal cross prefix. This way
902 @
# --prefix=/usr/$(cross_host) and --prefix=/usr --host=$(cross_host)
903 @
# will have a congruent effect on wx-config.
904 @
( for f in
`ls -1 debian/$(package_msw_dev)/usr/$(cross_host)/lib/wx/config`; do \
905 all_cfg
="$${all_cfg} usr/$(cross_host)/lib/wx/config/$$f usr/lib/wx/config/$$f"; \
906 echo
"linking cross config /usr/$(cross_host)/lib/wx/config/$$f"; \
908 dh_link
$${all_cfg}; \
911 install-msw-dbg
: DH_OPTIONS
=-p
$(package_msw_dbg
)
912 install-msw-dbg
: build-msw-dbg-stamp
916 dh_install
$(objdir_msw_dbg
)/lib
/*.dll
* usr
/$(cross_host
)/lib
917 dh_install
$(objdir_msw_dbg
)/lib
/wx
/include usr
/$(cross_host
)/lib
/wx
918 dh_install
$(objdir_msw_dbg
)/lib
/wx
/config
/$(cross_host
)* usr
/$(cross_host
)/lib
/wx
/config
919 # No static lib, they're freakin' huge!
920 #$(cross_host)-strip --strip-debug debian/$(package_msw_dbg)/usr/$(cross_host)/lib/*.a
922 @
( for f in
`ls -1 debian/$(package_msw_dbg)/usr/$(cross_host)/lib/wx/config`; do \
923 all_cfg
="$${all_cfg} usr/$(cross_host)/lib/wx/config/$$f usr/lib/wx/config/$$f"; \
924 echo
"linking cross config /usr/$(cross_host)/lib/wx/config/$$f"; \
926 dh_link
$${all_cfg}; \
929 install-headers-msw
: DH_OPTIONS
=-p
$(package_headers_msw
)
935 cd
$(objdir_msw_shared
) \
936 && $(MAKE
) install prefix=`pwd`/..
/$(objdir_msw_install
)
938 # Symlink all the headers that will be installed by the main -headers
939 # package to where the cross compiler will expect them.
940 @
( for f in
`ls -1 $(objdir_msw_install)/include/wx-$(release)/wx`; do \
941 all_h
="$${all_h} usr/include/wx-$(release)/wx/$$f usr/$(cross_host)/include/wx-$(release)/wx/$$f"; \
942 echo
"linking header /usr/include/wx-$(release)/wx/$$f"; \
947 # But install this lot for real.
948 rm -f debian
/$(package_headers_msw
)/usr
/$(cross_host
)/include/wx-
$(release
)/wx
/msw
949 dh_install
$(objdir_msw_install
)/include/wx-
$(release
)/wx
/msw usr
/$(cross_host
)/include/wx-
$(release
)/wx
961 @
# Don't strip debug libs at all, and strip cross libs elsewhere
962 @
# with the cross host tools until dh_strip gets smarter.
963 dh_strip
-N
$(package_gtk_dbg
) -N
$(package_wxbase_dbg
) \
964 -N
$(package_msw_dev
) -N
$(package_msw_dbg
)
969 @
# Don't do this for the dbg-py special build because dh_makeshlibs
970 @
# will crap out if it is called with no packages to act on.
971 @if
[ "x$(DH_OPTIONS)" != "-p$(package_gtk_dbg_py)" ]; then \
972 echo
"dh_makeshlibs -N$(package_gtk_py_lib) -V"; \
973 dh_makeshlibs
-N
$(package_gtk_py_lib
) -V
; \
977 dh_shlibdeps
-ldebian
/$(package_wxbase_lib
)/usr
/lib
:debian
/$(package_wxbase_dbg
)/usr
/lib
:debian
/$(package_gtk_lib
)/usr
/lib
:debian
/$(package_gtk_dbg
)/usr
/lib
982 # Build architecture-independent files here.
983 # Note that you currently can't build the indep packages without first
984 # building the arch specific package files needed to create them.
985 binary-indep
: build_all
install
986 $(MAKE
) -f debian
/rules \
987 DH_OPTIONS
="-i $(addprefix -N,$(extra_packages))" \
990 # Build just the architecture-dependent files here.
991 binary-arch
: build_arch install_arch
992 $(MAKE
) -f debian
/rules \
993 DH_OPTIONS
="-a $(addprefix -N,$(extra_packages))" \
996 # Build all packages target.
997 binary
: binary-arch binary-indep
1000 # This is a special target for building the wxMSW-cross packages.
1001 # It's not currently called during the official package build run
1002 # but may be run separately to build the extra packages.
1003 # There is an implied build dep on the mingw32 cross compiler
1004 # that is not in the control file.
1005 binary-cross
: control-files-stamp
$(install_all_cross
)
1006 $(MAKE
) -f debian
/rules \
1007 DH_OPTIONS
="-p$(package_msw_dev) -p$(package_msw_dbg) -p$(package_headers_msw)" \
1011 # Build wxPython against libwxgtk-dbg. This package will conflict
1012 # with the release build one, but may be useful to some people.
1013 binary-dbg-py
: control-files-stamp install-gtk-dbg-py
1014 $(MAKE
) -f debian
/rules DH_OPTIONS
="-p$(package_gtk_dbg_py)" binary-common
1017 ############################################################################
1019 # Some rules to build a subset of the complete list of packages that can be
1020 # built from CVS. Beware that packages produced with these rules may *NOT*
1021 # be compatible with packages built using the 'binary' target or even with
1022 # Debian policy. Do not distribute packages built with these rules, they
1023 # are currently useful for rapid in-house testing by developers only.
1025 DH_OPTIONS_GTK
:= -p
$(package_wxbase_lib
) -p
$(package_gtk_lib
) -p
$(package_headers
)
1027 # libwxgtk shared lib package
1028 binary-gtk
: control-files-stamp install-gtk-lib install-wxbase-lib install-headers
1029 $(MAKE
) -f debian
/rules DH_OPTIONS
="$(DH_OPTIONS_GTK)" binary-common
1031 binary-gtk-dev
: control-files-stamp install-gtk-dev install-wxbase-dev install-headers
1032 $(MAKE
) -f debian
/rules \
1033 DH_OPTIONS
="-p$(package_wxbase_dev) -p$(package_gtk_dev) $(DH_OPTIONS_GTK)" \
1036 binary-gtk-dbg
: control-files-stamp install-gtk-dbg install-wxbase-dbg install-headers
1037 $(MAKE
) -f debian
/rules \
1038 DH_OPTIONS
="-p$(package_wxbase_dbg) -p$(package_gtk_dbg) -p$(package_headers)" \
1043 binary-doc
: control-files-stamp install-doc
1044 $(MAKE
) -f debian
/rules DH_OPTIONS
=-p
$(package_doc
) binary-common
1046 binary-fast
:control-files-stamp install-gtk-dbg install-msw-dev install-headers install-headers-msw
1047 $(MAKE
) -f debian
/rules DH_OPTIONS
="-p$(package_gtk_dbg) -p$(package_msw_dev) -p$(package_headers) -p$(package_headers_msw)" binary-common
1050 .PHONY
: build build_all build_arch \
1051 clean clean-py purge-release-py purge-dbg-py \
1052 binary-indep binary-arch binary binary-common \
1053 binary-gtk binary-gtk-dev binary-gtk-dbg \
1054 binary-wxbase binary-wxbase-dev binary-wxbase-dbg \
1055 binary-doc binary-cross binary-dbg-py \
1056 install install_arch install-gtk-lib install-gtk-dev \
1058 install-gtk-py install-gtk-py-tools install-gtk-py-ver \
1059 install-gtk-py-lib install-gtk-dbg-py \
1060 install-common install-headers install-i18n install-doc \
1061 install-examples install-msw-dev install-msw-dbg install-headers-msw