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