]> git.saurik.com Git - wxWidgets.git/blame_incremental - debian/rules
out of memory for strdup handled
[wxWidgets.git] / debian / rules
... / ...
CommitLineData
1#!/usr/bin/make -f
2# debian/rules file to build packages from wxWindows CVS source
3#
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.
8
9#export DH_VERBOSE=1
10export DH_COMPAT=2
11export DH_OPTIONS
12
13release:=$(shell dpkg-parsechangelog | sed -n 's/^Source: wxwindows//p')
14python_dir:=python$(shell python -c "import sys;print sys.version[:3]")
15
16cross_host=i586-mingw32msvc
17cross_build=$(shell ./config.guess)
18
19config_cache=../config_deb.cache
20config_cache_cross=../config_deb_cross.cache
21
22# Packages to build:
23package_wxbase_lib=libwxbase$(release)
24package_wxbase_dev=libwxbase$(release)-dev
25package_wxbase_dbg=libwxbase$(release)-dbg
26package_gtk_lib=libwxgtk$(release)
27package_gtk_dev=libwxgtk$(release)-dev
28package_gtk_dbg=libwxgtk$(release)-dbg
29package_gtk_py=libwxgtk$(release)-python
30package_gtk_contrib=libwxgtk$(release)-contrib
31package_gtk_contrib_dev=libwxgtk$(release)-contrib-dev
32package_headers=wxwin$(release)-headers
33package_i18n=wxwin$(release)-i18n
34package_doc=wxwin$(release)-doc
35package_examples=wxwin$(release)-examples
36
37package_gtk_univ=libwxgtk$(release)-univ
38
39package_wxbase_msw_dev=libwxbase-msw$(release)-dev
40package_wxbase_msw_dbg=libwxbase-msw$(release)-dbg
41package_msw_dev=libwxmsw$(release)-dev
42package_msw_dbg=libwxmsw$(release)-dbg
43package_headers_msw=wxwin$(release)-headers-msw
44
45# Build directories:
46objdir_wxbase_shared=objs_wxbase_sh
47objdir_wxbase_static=objs_wxbase_st
48objdir_wxbase_debug=objs_wxbase_d
49objdir_gtk_shared=objs_gtk_sh
50objdir_gtk_static=objs_gtk_st
51objdir_gtk_debug=objs_gtk_d
52objdir_gtk_install=objs_gtk_install
53objdir_gtk_contrib_install=objs_gtk_contrib_install
54objdir_doc_cruft=objs_doc_con
55objdir_doc=docs/wxWindows-manual.html
56objdir_examples=docs/examples
57objdir_i18n=locale
58
59objdir_gtk_univ=objs_gtk_univ
60objdir_univ_install=objs_univ_install
61
62objdir_wxbase_msw_shared=objs_wxbase_msw_sh
63objdir_wxbase_msw_static=objs_wxbase_msw_st
64objdir_wxbase_msw_dbg=objs_wxbase_msw_d
65objdir_msw_shared=objs_msw_sh
66objdir_msw_static=objs_msw_st
67objdir_msw_dbg=objs_msw_d
68
69objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \
70 $(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) \
71 $(objdir_gtk_install) $(objdir_gtk_contrib_install) $(objdir_gtk_univ) \
72 $(objdir_univ_install) $(objdir_doc_cruft) $(objdir_doc) \
73 $(objdir_examples) \
74 $(objdir_wxbase_msw_shared) $(objdir_wxbase_msw_static) \
75 $(objdir_wxbase_msw_dbg) $(objdir_msw_shared) $(objdir_msw_static) \
76 $(objdir_msw_dbg)
77
78# note that the i18n package is actually arch indep (once built)
79# but must be built (and installed) during the arch any phase as
80# it's pulled out of the wxGtk shared lib package.
81
82# Build stamps:
83build_arch_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \
84 build-wxbase-debug-stamp build-gtk-shared-stamp \
85 build-gtk-static-stamp build-gtk-debug-stamp \
86 build-contrib-shared-stamp build-contrib-static-stamp \
87 build-gtk-py-stamp build-i18n-stamp
88
89# disable gtk-univ build, we'll replace it with x11-univ later.
90# build-gtk-univ-stamp
91
92build_indep_stamps=build-examples-stamp build-doc-stamp
93
94build_cross_stamps=build-wxbase-msw-shared-stamp build-wxbase-msw-static-stamp \
95 build-wxbase-msw-dbg-stamp build-msw-shared-stamp \
96 build-msw-static-stamp build-msw-dbg-stamp
97
98build_stamps_native=$(build_arch_stamps) $(build_indep_stamps)
99
100build_stamps=$(build_stamps_native) $(build_cross_stamps)
101
102# Install targets:
103install_all_arch=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
104 install-gtk-lib install-gtk-dev install-gtk-dbg \
105 install-gtk-contrib install-gtk-contrib-dev install-gtk-py \
106 install-headers install-i18n
107
108# disable gtk-univ build, we'll replace it with x11-univ later.
109# install-gtk-univ
110
111install_all_indep=install-examples install-doc
112
113install_all_cross=install-wxbase-msw-dev install-wxbase-msw-dbg install-msw-dev install-msw-dbg install-headers-msw
114
115install_all_native=$(install_all_arch) $(install_all_indep)
116
117install_all=$(install_all_native) $(install_all_cross)
118
119
120wxconfig:=$(shell pwd)/$(objdir_gtk_shared)/wx-config \
121 --prefix=$(shell pwd) \
122 --exec-prefix=$(shell pwd)/$(objdir_gtk_shared)
123
124
125# The Rules:
126
127debian/control: debian/control.in
128 sed -e 's/=V/$(release)/g' < debian/control.in > debian/control
129
130control-files-stamp: debian/control
131 dh_testdir
132 @for f in dirs postinst; do \
133 echo "generating control file $(package_wxbase_lib).$$f"; \
134 cp debian/libwxbase.$$f debian/$(package_wxbase_lib).$$f; \
135 done;
136 @for f in dirs links postinst prerm; do \
137 echo "generating control file $(package_wxbase_dev).$$f"; \
138 sed -e 's/=V/$(release)/g' < debian/libwxbase-dev.$$f \
139 > debian/$(package_wxbase_dev).$$f; \
140 done;
141 @for f in dirs links postinst prerm; do \
142 echo "generating control file $(package_wxbase_dbg).$$f"; \
143 sed -e 's/=V/$(release)/g' < debian/libwxbase-dbg.$$f \
144 > debian/$(package_wxbase_dbg).$$f; \
145 done;
146 @for f in dirs postinst; do \
147 echo "generating control file $(package_gtk_lib).$$f"; \
148 cp debian/libwxgtk.$$f debian/$(package_gtk_lib).$$f; \
149 done;
150 @for f in dirs links postinst prerm; do \
151 echo "generating control file $(package_gtk_dev).$$f"; \
152 sed -e 's/=V/$(release)/g' < debian/libwxgtk-dev.$$f \
153 > debian/$(package_gtk_dev).$$f; \
154 done;
155 @for f in dirs links postinst prerm; do \
156 echo "generating control file $(package_gtk_dbg).$$f"; \
157 sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \
158 > debian/$(package_gtk_dbg).$$f; \
159 done;
160 @for f in dirs docs menu postinst prerm; do \
161 echo "generating control file $(package_gtk_py).$$f"; \
162 sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python.$$f \
163 > debian/$(package_gtk_py).$$f; \
164 done;
165 @for f in dirs postinst; do \
166 echo "generating control file $(package_gtk_contrib).$$f"; \
167 cp debian/libwxgtk-contrib.$$f debian/$(package_gtk_contrib).$$f; \
168 done;
169 @for f in dirs; do \
170 echo "generating control file $(package_gtk_contrib_dev).$$f"; \
171 cp debian/libwxgtk-contrib-dev.$$f debian/$(package_gtk_contrib_dev).$$f; \
172 done;
173 @for f in dirs; do \
174 echo "generating control file $(package_headers).$$f"; \
175 cp debian/wxwin-headers.$$f debian/$(package_headers).$$f; \
176 done;
177 @for f in dirs; do \
178 echo "generating control file $(package_i18n).$$f"; \
179 cp debian/wxwin-i18n.$$f debian/$(package_i18n).$$f; \
180 done;
181 @for f in dirs docs doc-base; do \
182 echo "generating control file $(package_doc).$$f"; \
183 sed -e 's/=V/$(release)/g' < debian/wxwin-doc.$$f \
184 > debian/$(package_doc).$$f; \
185 done;
186 @for f in examples; do \
187 echo "generating control file $(package_examples).$$f"; \
188 cp debian/wxwin-examples.$$f debian/$(package_examples).$$f; \
189 done;
190 @for f in dirs links postinst prerm; do \
191 echo "generating control file $(package_wxbase_msw_dev).$$f"; \
192 sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxbase-msw-dev.$$f \
193 > debian/$(package_wxbase_msw_dev).$$f; \
194 done;
195 @for f in dirs links postinst prerm; do \
196 echo "generating control file $(package_wxbase_msw_dbg).$$f"; \
197 sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxbase-msw-dbg.$$f \
198 > debian/$(package_wxbase_msw_dbg).$$f; \
199 done;
200 @for f in dirs links postinst prerm; do \
201 echo "generating control file $(package_msw_dev).$$f"; \
202 sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dev.$$f \
203 > debian/$(package_msw_dev).$$f; \
204 done;
205 @for f in dirs links postinst prerm; do \
206 echo "generating control file $(package_msw_dbg).$$f"; \
207 sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dbg.$$f \
208 > debian/$(package_msw_dbg).$$f; \
209 done;
210 @for f in dirs; do \
211 echo "generating control file $(package_headers_msw).$$f"; \
212 sed -e 's/=H/$(cross_host)/g' < debian/wxwin-headers-msw.$$f \
213 > debian/$(package_headers_msw).$$f; \
214 done;
215 @for f in dirs links postinst prerm; do \
216 echo "generating control file $(package_gtk_univ).$$f"; \
217 sed -e 's/=V/$(release)/g' < debian/libwxgtk-univ.$$f \
218 > debian/$(package_gtk_univ).$$f; \
219 done;
220 touch $@
221
222build_arch: control-files-stamp $(build_arch_stamps)
223build_all: control-files-stamp $(build_stamps_native)
224
225# Really we should probably do nothing here until we know which
226# binary target is being called, but alpha builds were exploding
227# (compiler segfaults) in random places when building under fakeroot
228# from the binary-arch target. Build all -arch files here then, and
229# let the -indep stuff fend for itself later.
230
231build: build_arch
232
233
234configure-wxbase-shared-stamp:
235 dh_testdir
236 mkdir -p $(objdir_wxbase_shared)
237 cd $(objdir_wxbase_shared) \
238 && ../configure --prefix=/usr \
239 --cache-file=$(config_cache) \
240 --disable-gui \
241 --enable-soname \
242 --with-zlib=sys
243 touch $@
244
245build-wxbase-shared-stamp: configure-wxbase-shared-stamp
246 dh_testdir
247 cd $(objdir_wxbase_shared) && $(MAKE)
248 touch $@
249
250configure-wxbase-static-stamp:
251 dh_testdir
252 mkdir -p $(objdir_wxbase_static)
253 cd $(objdir_wxbase_static) \
254 && ../configure --prefix=/usr \
255 --cache-file=$(config_cache) \
256 --disable-gui \
257 --disable-shared \
258 --with-zlib=sys
259 touch $@
260
261build-wxbase-static-stamp: configure-wxbase-static-stamp
262 dh_testdir
263 cd $(objdir_wxbase_static) && $(MAKE)
264 touch $@
265
266configure-wxbase-debug-stamp:
267 dh_testdir
268 mkdir -p $(objdir_wxbase_debug)
269 cd $(objdir_wxbase_debug) \
270 && ../configure --prefix=/usr \
271 --cache-file=$(config_cache) \
272 --disable-gui \
273 --enable-debug \
274 --enable-soname \
275 --with-zlib=sys
276 touch $@
277
278build-wxbase-debug-stamp: configure-wxbase-debug-stamp
279 dh_testdir
280 cd $(objdir_wxbase_debug) && $(MAKE)
281 touch $@
282
283configure-gtk-shared-stamp:
284 dh_testdir
285 mkdir -p $(objdir_gtk_shared)
286 cd $(objdir_gtk_shared) \
287 && ../configure --prefix=/usr \
288 --cache-file=$(config_cache) \
289 --with-gtk \
290 --with-opengl \
291 --enable-soname \
292 --with-zlib=sys \
293 --with-libjpeg=sys \
294 --with-libpng=sys \
295 --with-libtiff=sys \
296 --enable-dynamic-loader
297 touch $@
298
299build-gtk-shared-stamp: configure-gtk-shared-stamp
300 dh_testdir
301 cd $(objdir_gtk_shared) && $(MAKE)
302 touch $@
303
304configure-gtk-static-stamp:
305 dh_testdir
306 mkdir -p $(objdir_gtk_static)
307 cd $(objdir_gtk_static) \
308 && ../configure --prefix=/usr \
309 --cache-file=$(config_cache) \
310 --with-gtk \
311 --with-opengl \
312 --disable-shared \
313 --with-zlib=sys \
314 --with-libjpeg=sys \
315 --with-libpng=sys \
316 --with-libtiff=sys \
317 --enable-dynamic-loader
318 touch $@
319
320build-gtk-static-stamp: configure-gtk-static-stamp
321 dh_testdir
322 cd $(objdir_gtk_static) && $(MAKE)
323 touch $@
324
325configure-gtk-debug-stamp:
326 dh_testdir
327 mkdir -p $(objdir_gtk_debug)
328 cd $(objdir_gtk_debug) \
329 && ../configure --prefix=/usr \
330 --cache-file=$(config_cache) \
331 --with-gtk \
332 --with-opengl \
333 --enable-debug \
334 --enable-soname \
335 --with-zlib=sys \
336 --with-libjpeg=sys \
337 --with-libpng=sys \
338 --with-libtiff=sys \
339 --enable-dynamic-loader
340 touch $@
341
342build-gtk-debug-stamp: configure-gtk-debug-stamp
343 dh_testdir
344 cd $(objdir_gtk_debug) && $(MAKE)
345 touch $@
346
347configure-gtk-univ-stamp:
348 dh_testdir
349 mkdir -p $(objdir_gtk_univ)
350 cd $(objdir_gtk_univ) \
351 && ../configure --prefix=/usr \
352 --cache-file=$(config_cache) \
353 --with-gtk \
354 --with-opengl \
355 --enable-universal \
356 --enable-soname \
357 --with-zlib=sys \
358 --with-libjpeg=sys \
359 --with-libpng=sys \
360 --with-libtiff=sys \
361 --enable-dynamic-loader
362 touch $@
363
364build-gtk-univ-stamp: configure-gtk-univ-stamp
365 dh_testdir
366 cd $(objdir_gtk_univ) && $(MAKE)
367 touch $@
368
369build-contrib-shared-stamp: build-gtk-shared-stamp
370 dh_testdir
371 cd $(objdir_gtk_shared)/contrib/src \
372 && $(MAKE)
373 touch $@
374
375build-contrib-static-stamp: build-gtk-static-stamp
376 dh_testdir
377 cd $(objdir_gtk_static)/contrib/src \
378 && $(MAKE)
379 touch $@
380
381build-gtk-py-stamp: build-gtk-shared-stamp
382 dh_testdir
383 touch docs/lgpl.txt
384 cd wxPython \
385 && ./setup.py build IN_CVS_TREE=1 WX_CONFIG='$(wxconfig)'
386 touch $@
387
388build-doc-stamp: build-gtk-shared-stamp
389 dh_testdir
390 cd $(objdir_gtk_shared)/utils/tex2rtf/src \
391 && $(MAKE)
392 mkdir $(objdir_doc)
393 mkdir $(objdir_doc_cruft)
394 cd $(objdir_doc_cruft) \
395 && LD_LIBRARY_PATH=../$(objdir_gtk_shared)/lib:$(LD_LIBRARY_PATH) \
396 ../$(objdir_gtk_shared)/utils/tex2rtf/src/tex2rtf \
397 ../docs/latex/wx/manual.tex ../$(objdir_doc)/wxwin.htm -twice -html
398 cp docs/latex/wx/*.gif $(objdir_doc)
399 rm -rf $(objdir_doc_cruft)
400 rm -f $(objdir_doc)/wxwin.con $(objdir_doc)/wxwin.hh* \
401 $(objdir_doc)/wxwin.htx $(objdir_doc)/wxwin.ref
402 touch $@
403
404build-examples-stamp: build-gtk-shared-stamp
405 dh_testdir
406 mkdir -p $(objdir_examples)
407
408 # copy all samples and the Makefile generated for libwxgtk.
409 cp -a samples $(objdir_examples)
410 rm -f $(objdir_examples)/samples/Makefile
411 cp -a $(objdir_gtk_shared)/samples/Makefile $(objdir_examples)/samples
412
413 cp -a demos $(objdir_examples)
414 cp -a wxPython/demo $(objdir_examples)/wxPython
415 @for d in $(objdir_examples)/demos $(objdir_examples)/samples; do \
416 (cd $$d \
417 && mv Makefile.in Makefile \
418 && rm -f configure* \
419 && find -name 'Makefile.in' -exec rm -f '{}' ';' \
420 && for f in $$(find -type d); do \
421 if [ -f $$f/makefile.unx ]; then \
422 mv $$f/makefile.unx $$f/Makefile; \
423 fi; \
424 done) \
425 done;
426 touch $@
427
428build-i18n-stamp: build-gtk-shared-stamp
429 dh_testdir
430
431 # touch .po files first, since if they are not already up
432 # to date then _now_ is not the time to fix it.
433 # That should have been been done before cvs was tagged.
434 cd $(objdir_i18n) \
435 && touch *.po \
436 && $(MAKE) allmo
437 touch $@
438
439configure-wxbase-msw-shared-stamp:
440 dh_testdir
441 mkdir -p $(objdir_wxbase_msw_shared)
442 cd $(objdir_wxbase_msw_shared) \
443 && ../configure --prefix=/usr/$(cross_host) \
444 --cache-file=$(config_cache_cross) \
445 --host=$(cross_host) \
446 --build=$(cross_build) \
447 --disable-gui
448 touch $@
449
450build-wxbase-msw-shared-stamp: configure-wxbase-msw-shared-stamp
451 dh_testdir
452 cd $(objdir_wxbase_msw_shared) && $(MAKE)
453 touch $@
454
455configure-wxbase-msw-static-stamp:
456 dh_testdir
457 mkdir -p $(objdir_wxbase_msw_static)
458 cd $(objdir_wxbase_msw_static) \
459 && ../configure --prefix=/usr/$(cross_host) \
460 --cache-file=$(config_cache_cross) \
461 --host=$(cross_host) \
462 --build=$(cross_build) \
463 --disable-gui \
464 --disable-shared
465 touch $@
466
467build-wxbase-msw-static-stamp: configure-wxbase-msw-static-stamp
468 dh_testdir
469 cd $(objdir_wxbase_msw_static) && $(MAKE)
470 touch $@
471
472# Note this builds dll only, since wxmsw static debug is > 130MB !
473configure-wxbase-msw-dbg-stamp:
474 dh_testdir
475 mkdir -p $(objdir_wxbase_msw_dbg)
476 cd $(objdir_wxbase_msw_dbg) \
477 && ../configure --prefix=/usr/$(cross_host) \
478 --cache-file=$(config_cache_cross) \
479 --host=$(cross_host) \
480 --build=$(cross_build) \
481 --disable-gui \
482 --enable-debug
483 touch $@
484
485build-wxbase-msw-dbg-stamp: configure-wxbase-msw-dbg-stamp
486 dh_testdir
487 cd $(objdir_wxbase_msw_dbg) && $(MAKE)
488 touch $@
489
490configure-msw-shared-stamp:
491 dh_testdir
492 mkdir -p $(objdir_msw_shared)
493 cd $(objdir_msw_shared) \
494 && ../configure --prefix=/usr/$(cross_host) \
495 --cache-file=$(config_cache_cross) \
496 --host=$(cross_host) \
497 --build=$(cross_build)
498 touch $@
499
500build-msw-shared-stamp: configure-msw-shared-stamp
501 dh_testdir
502 cd $(objdir_msw_shared) && $(MAKE)
503 touch $@
504
505configure-msw-static-stamp:
506 dh_testdir
507 mkdir -p $(objdir_msw_static)
508 cd $(objdir_msw_static) \
509 && ../configure --prefix=/usr/$(cross_host) \
510 --cache-file=$(config_cache_cross) \
511 --host=$(cross_host) \
512 --build=$(cross_build) \
513 --disable-shared
514 touch $@
515
516build-msw-static-stamp: configure-msw-static-stamp
517 dh_testdir
518 cd $(objdir_msw_static) && $(MAKE)
519 touch $@
520
521configure-msw-dbg-stamp:
522 dh_testdir
523 mkdir -p $(objdir_msw_dbg)
524 cd $(objdir_msw_dbg) \
525 && ../configure --prefix=/usr/$(cross_host) \
526 --cache-file=$(config_cache_cross) \
527 --host=$(cross_host) \
528 --build=$(cross_build) \
529 --enable-debug
530 touch $@
531
532build-msw-dbg-stamp: configure-msw-dbg-stamp
533 dh_testdir
534 cd $(objdir_msw_dbg) && $(MAKE)
535 touch $@
536
537
538clean: debian/control
539 dh_testdir
540 dh_testroot
541
542 rm -rf config_deb.cache config_deb_cross.cache *-stamp $(objdirs)
543 rm -f docs/lgpl.txt
544 rm -f docs/latex/wx/manual.bb
545 rm -f $(objdir_i18n)/*.mo
546
547 cd wxPython \
548 && rm -rf licence \
549 && rm -rf build \
550 && rm -rf contrib/gizmos/contrib \
551 && rm -rf contrib/ogl/contrib \
552 && rm -rf contrib/stc/contrib \
553 && rm -rf contrib/xrc/contrib \
554 && rm -rf *.pyc
555
556# We do the equivalent of this above by removing build, unfortunately
557# its not enough by itself to get the tree properly clean again.
558# && ./setup.py clean
559
560 dh_clean
561 rm -f debian/$(package_wxbase_lib).*
562 rm -f debian/$(package_wxbase_dev).*
563 rm -f debian/$(package_wxbase_dbg).*
564 rm -f debian/$(package_gtk_lib).*
565 rm -f debian/$(package_gtk_dev).*
566 rm -f debian/$(package_gtk_dbg).*
567 rm -f debian/$(package_gtk_py).*
568 rm -f debian/$(package_gtk_contrib).*
569 rm -f debian/$(package_gtk_contrib_dev).*
570 rm -f debian/$(package_headers).*
571 rm -f debian/$(package_i18n).*
572 rm -f debian/$(package_doc).*
573 rm -f debian/$(package_examples).*
574 rm -f debian/$(package_gtk_univ).*
575 rm -f debian/$(package_wxbase_msw_dev).*
576 rm -f debian/$(package_wxbase_msw_dbg).*
577 rm -f debian/$(package_msw_dev).*
578 rm -f debian/$(package_msw_dbg).*
579 rm -f debian/$(package_headers_msw).*
580
581install_arch: build_arch $(install_all_arch)
582
583install: build_all $(install_all_native)
584
585install-wxbase-lib: DH_OPTIONS=-p$(package_wxbase_lib)
586install-wxbase-lib: build-wxbase-shared-stamp
587 dh_testdir
588 dh_testroot
589 dh_clean -k
590 dh_installdirs
591 dh_install $(objdir_wxbase_shared)/lib/*.so.* usr/lib
592
593install-wxbase-dev: DH_OPTIONS=-p$(package_wxbase_dev)
594install-wxbase-dev: build-wxbase-static-stamp
595 dh_testdir
596 dh_testroot
597 dh_clean -k
598 dh_installdirs
599 dh_install $(objdir_wxbase_shared)/wxbase-$(release)-config usr/bin
600 dh_install $(objdir_wxbase_shared)/lib/{wx,*.so} usr/lib
601 dh_install $(objdir_wxbase_static)/lib/*.a usr/lib
602
603install-wxbase-dbg: DH_OPTIONS=-p$(package_wxbase_dbg)
604install-wxbase-dbg: build-wxbase-debug-stamp
605 dh_testdir
606 dh_testroot
607 dh_clean -k
608 dh_installdirs
609 dh_install $(objdir_wxbase_debug)/wxbased-$(release)-config usr/bin
610 dh_install $(objdir_wxbase_debug)/lib usr
611 cp debian/lintian-override debian/$(package_wxbase_dbg)/usr/share/lintian/overrides/$(package_wxbase_dbg)
612
613install-gtk-shared-stamp:
614 dh_testdir
615 mkdir -p $(objdir_gtk_install)
616 cd $(objdir_gtk_shared) \
617 && $(MAKE) install prefix=`pwd`/../$(objdir_gtk_install)
618 touch $@
619
620install-gtk-lib: DH_OPTIONS=-p$(package_gtk_lib)
621install-gtk-lib: build-gtk-shared-stamp install-gtk-shared-stamp
622 dh_testdir
623 dh_testroot
624 dh_clean -k
625 dh_installdirs
626 dh_install $(objdir_gtk_install)/share/wx usr/share
627 dh_install $(objdir_gtk_install)/lib/*.so.* usr/lib
628
629install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev)
630install-gtk-dev: build-gtk-static-stamp install-gtk-shared-stamp
631 dh_testdir
632 dh_testroot
633 dh_clean -k
634 dh_installdirs
635 dh_install $(objdir_gtk_install)/bin/wxgtk-$(release)-config usr/bin
636 dh_install $(objdir_gtk_install)/lib/{wx,*.so} usr/lib
637 dh_install $(objdir_gtk_static)/lib/libwx_gtk{-,_gl}*.a usr/lib
638
639install-gtk-dbg: DH_OPTIONS=-p$(package_gtk_dbg)
640install-gtk-dbg: build-gtk-debug-stamp
641 dh_testdir
642 dh_testroot
643 dh_clean -k
644 dh_installdirs
645 dh_install $(objdir_gtk_debug)/wxgtkd-$(release)-config usr/bin
646 dh_install $(objdir_gtk_debug)/lib usr
647 cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg)
648
649install-gtk-univ: DH_OPTIONS=-p$(package_gtk_univ)
650install-gtk-univ: build-gtk-univ-stamp
651 dh_testdir
652 dh_testroot
653 dh_clean -k
654 dh_installdirs
655 dh_install $(objdir_gtk_univ)/wxgtkuniv-$(release)-config usr/bin
656 dh_install $(objdir_gtk_univ)/lib usr
657 cp debian/lintian-override debian/$(package_gtk_univ)/usr/share/lintian/overrides/$(package_gtk_univ)
658
659install-gtk-contrib-stamp:
660 dh_testdir
661 mkdir -p $(objdir_gtk_contrib_install)/lib
662 cd $(objdir_gtk_shared)/contrib/src \
663 && $(MAKE) install prefix=`pwd`/../../../$(objdir_gtk_contrib_install)
664 touch $@
665
666install-gtk-contrib: DH_OPTIONS=-p$(package_gtk_contrib)
667install-gtk-contrib: build-contrib-shared-stamp install-gtk-contrib-stamp
668 dh_testdir
669 dh_testroot
670 dh_clean -k
671 dh_installdirs
672 dh_install $(objdir_gtk_contrib_install)/lib/*.so.* usr/lib
673
674install-gtk-contrib-dev: DH_OPTIONS=-p$(package_gtk_contrib_dev)
675install-gtk-contrib-dev: build-contrib-static-stamp install-gtk-contrib-stamp
676 dh_testdir
677 dh_testroot
678 dh_clean -k
679 dh_installdirs
680 dh_install $(objdir_gtk_contrib_install)/include usr
681 dh_install $(objdir_gtk_contrib_install)/lib/*.so usr/lib
682 dh_install -Xlibwx_gtk- -Xlibwx_gtk_gl- \
683 $(objdir_gtk_static)/lib/*.a usr/lib
684
685install-gtk-py: DH_OPTIONS=-p$(package_gtk_py)
686install-gtk-py: build-gtk-py-stamp
687 dh_testdir
688 dh_testroot
689 dh_clean -k
690 dh_installdirs
691 cd wxPython \
692 && ./setup.py install \
693 --prefix=`pwd`/../debian/$(package_gtk_py)/usr \
694 WX_CONFIG='$(wxconfig)'
695 find debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython \
696 -name '*.py?' -exec rm '{}' ';'
697
698 dh_installman debian/wxPython-tools.1
699 dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \
700 usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2xpm.1 \
701 usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2png.1 \
702 usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pycrust.1 \
703 usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyshell.1 \
704 usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/xrced.1 \
705 usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1
706
707install-headers: DH_OPTIONS=-p$(package_headers)
708install-headers: install-gtk-shared-stamp
709 dh_testdir
710 dh_testroot
711 dh_clean -k
712 dh_installdirs
713
714# The only way to be really sure we get the univ headers correct is to install
715# them. Do that in a scratch dirs, and move the gtk ones last, so at least
716# they win in the result of any uncaught conflict.
717
718# cd $(objdir_gtk_univ) \
719# && $(MAKE) install prefix=`pwd`/../$(objdir_univ_install)/usr
720
721# dh_movefiles --sourcedir=$(objdir_univ_install)
722 dh_install $(objdir_gtk_install)/include usr
723 dh_install $(objdir_gtk_install)/share/aclocal usr/share
724
725 dh_installman debian/wx-config.1
726
727install-i18n: DH_OPTIONS=-p$(package_i18n)
728install-i18n: build-i18n-stamp install-gtk-shared-stamp
729 dh_testdir
730 dh_testroot
731 dh_clean -k
732 dh_installdirs
733 dh_install $(objdir_gtk_install)/share/locale usr/share
734
735install-doc: DH_OPTIONS=-p$(package_doc)
736install-doc: build-doc-stamp
737 dh_testdir
738 dh_testroot
739 dh_clean -k
740 dh_installdirs
741
742install-examples: DH_OPTIONS=-p$(package_examples)
743install-examples: build-examples-stamp
744 dh_testdir
745 dh_testroot
746 dh_clean -k
747 dh_installdirs
748
749install-wxbase-msw-dev: DH_OPTIONS=-p$(package_wxbase_msw_dev)
750install-wxbase-msw-dev: build-wxbase-msw-shared-stamp build-wxbase-msw-static-stamp
751 dh_testdir
752 dh_testroot
753 dh_clean -k
754 dh_installdirs
755 cp -a $(objdir_wxbase_msw_shared)/lib/* debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib
756 cp -a $(objdir_wxbase_msw_static)/lib/*.a debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib
757 cp $(objdir_wxbase_msw_shared)/wxbase-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dev)/usr/bin/
758 $(cross_host)-strip --strip-debug debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib/*.a
759
760install-wxbase-msw-dbg: DH_OPTIONS=-p$(package_wxbase_msw_dbg)
761install-wxbase-msw-dbg: build-wxbase-msw-dbg-stamp
762 dh_testdir
763 dh_testroot
764 dh_clean -k
765 dh_installdirs
766 cp -a $(objdir_wxbase_msw_dbg)/lib/* debian/$(package_wxbase_msw_dbg)/usr/$(cross_host)/lib
767 cp $(objdir_wxbase_msw_dbg)/wxbased-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dbg)/usr/bin/
768 # No static lib, they're freakin' huge!
769 #$(cross_host)-strip --strip-debug debian/$(package_wxbase_msw_dbg)/usr/$(cross_host)/lib/*.a
770
771install-msw-dev: DH_OPTIONS=-p$(package_msw_dev)
772install-msw-dev: build-msw-shared-stamp build-msw-static-stamp
773 dh_testdir
774 dh_testroot
775 dh_clean -k
776 dh_installdirs
777 cp -a $(objdir_msw_shared)/lib/* debian/$(package_msw_dev)/usr/$(cross_host)/lib
778 cp -a $(objdir_msw_static)/lib/*.a debian/$(package_msw_dev)/usr/$(cross_host)/lib
779 cp $(objdir_msw_shared)/wxmsw-$(release)-$(cross_host)-config debian/$(package_msw_dev)/usr/bin/
780 $(cross_host)-strip --strip-debug debian/$(package_msw_dev)/usr/$(cross_host)/lib/*.a
781
782install-msw-dbg: DH_OPTIONS=-p$(package_msw_dbg)
783install-msw-dbg: build-msw-dbg-stamp
784 dh_testdir
785 dh_testroot
786 dh_clean -k
787 dh_installdirs
788 cp -a $(objdir_msw_dbg)/lib/* debian/$(package_msw_dbg)/usr/$(cross_host)/lib
789 cp $(objdir_msw_dbg)/wxmswd-$(release)-$(cross_host)-config debian/$(package_msw_dbg)/usr/bin/
790 # No static lib, they're freakin' huge!
791 #$(cross_host)-strip --strip-debug debian/$(package_msw_dbg)/usr/$(cross_host)/lib/*.a
792
793install-headers-msw: DH_OPTIONS=-p$(package_headers_msw)
794install-headers-msw:
795 dh_testdir
796 dh_testroot
797 dh_clean -k
798 dh_installdirs
799 @# Symlink all the headers that will be installed by the main -headers
800 @# package to where the cross compiler will expect them.
801 @for f in `ls -1 include/wx`; do \
802 ln -s /usr/include/wx/$$f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx; \
803 echo "linking header /usr/include/wx/$$f"; \
804 done;
805 @# But install this lot for real.
806 rm -f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx/msw
807 cp -a include/wx/msw debian/$(package_headers_msw)/usr/$(cross_host)/include/wx
808 @# and remove this cruft(?)
809 rm -f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx/treelay.h
810
811
812binary-common:
813 dh_testdir
814 dh_testroot
815 dh_installdocs
816 dh_installchangelogs
817 dh_installexamples
818 dh_installmenu
819 dh_link
820
821 @# Don't strip debug libs at all, and strip cross libs elsewhere
822 @# with the cross host tools until dh_strip gets smarter.
823 dh_strip -N$(package_gtk_dbg) -N$(package_wxbase_dbg) \
824 -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) \
825 -N$(package_msw_dev) -N$(package_msw_dbg)
826
827 dh_compress
828 dh_fixperms
829 dh_makeshlibs -N$(package_gtk_py) -V
830 dh_installdeb
831 dh_shlibdeps -ldebian/$(package_gtk_lib)/usr/lib
832 dh_gencontrol
833 dh_md5sums
834 dh_builddeb
835
836# Build architecture-independent files here.
837# Note that you currently can't build the indep packages without first
838# building the arch specific package files needed to create them.
839binary-indep: build_all install
840 $(MAKE) -f debian/rules \
841 DH_OPTIONS="-i -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw) -N$(package_gtk_univ)" \
842 binary-common
843
844# Build just the architecture-dependent files here.
845binary-arch: build_arch install_arch
846 $(MAKE) -f debian/rules \
847 DH_OPTIONS="-a -N$(package_wxbase_msw_dev) -N$(package_wxbase_msw_dbg) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw) -N$(package_gtk_univ)" \
848 binary-common
849
850# Build all packages target.
851binary: binary-arch binary-indep
852
853# This is a special target for building the wxMSW-cross packages.
854# It's not currently called during the official package build run
855# but may be run separately to build the extra packages.
856# There is an implied build dep on the mingw32 cross compiler
857# that is not in the control file.
858binary-cross: control-files-stamp $(install_all_cross)
859 $(MAKE) -f debian/rules \
860 DH_OPTIONS="-p$(package_wxbase_msw_dev) -p$(package_wxbase_msw_dbg) -p$(package_msw_dev) -p$(package_msw_dbg) -p$(package_headers_msw)" \
861 binary-common
862
863
864############################################################################
865#
866# Some rules to build a subset of the complete list of packages that can be
867# built from CVS. Beware that packages produced with these rules may *NOT*
868# be compatible with packages built using the 'binary' target or even with
869# Debian policy. Do not distribute packages built with these rules, they
870# are currently useful for rapid in-house testing by developers only.
871
872# libwxgtk shared lib package
873binary-gtk: control-files-stamp install-gtk-lib install-headers
874 $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_lib) -p$(package_headers)" binary-common
875
876binary-gtk-dev: control-files-stamp install-gtk-dev install-headers
877 $(MAKE) -f debian/rules \
878 DH_OPTIONS="-p$(package_gtk_lib) -p$(package_gtk_dev) -p$(package_headers)" \
879 binary-common
880
881binary-gtk-dbg: control-files-stamp install-gtk-dbg install-headers
882 $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg) -p$(package_headers)" binary-common
883
884# libwxbase shared lib package
885binary-wxbase: control-files-stamp install-wxbase-lib install-headers
886 $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_wxbase_lib) -p$(package_headers)" binary-common
887
888binary-wxbase-dev: control-files-stamp install-wxbase-dev install-headers
889 $(MAKE) -f debian/rules \
890 DH_OPTIONS="-p$(package_wxbase_lib) -p$(package_wxbase_dev) -p$(package_headers)" \
891 binary-common
892
893binary-wxbase-dbg: control-files-stamp install-wxbase-dbg install-headers
894 $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_wxbase_dbg) -p$(package_headers)" binary-common
895
896binary-univ: control-files-stamp install-gtk-univ
897 $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_univ)" binary-common
898
899# docs package
900binary-doc: control-files-stamp install-doc
901 $(MAKE) -f debian/rules DH_OPTIONS=-p$(package_doc) binary-common
902
903binary-fast:control-files-stamp install-gtk-dbg install-msw-dev install-headers install-headers-msw
904 $(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg) -p$(package_msw_dev) -p$(package_headers) -p$(package_headers_msw)" binary-common
905
906
907.PHONY: build build_all build_arch clean binary-indep binary-arch binary binary-common \
908 binary-gtk binary-gtk-dev binary-gtk-dbg binary-wxbase binary-wxbase-dev \
909 binary-wxbase-dbg binary-doc binary-cross \
910 install install_arch install-wxbase-lib \
911 install-wxbase-dev install-wxbase-dbg install-gtk-lib install-gtk-dev \
912 install-gtk-dbg install-gtk-contrib install-gtk-contrib-dev \
913 install-gtk-py install-headers install-i18n install-doc install-examples \
914 install-wxbase-msw-dev install-msw-dev install-headers-msw \
915 install-wxbase-msw-dbg install-msw-dbg
916