| #!/usr/bin/make -f |
| |
| # This is a bit unusual, in that I have to completely recompile everything |
| # for each package I build (obviously static and dynamic builds require |
| # things to be recompiled...) |
| |
| # This is the debhelper compatability version to use. |
| #export DH_COMPAT=1 |
| |
| bbbd=debian/busybox_builddir |
| bb=debian/tmp |
| bbsbd=debian/busybox_static_builddir |
| bbs=debian/busybox-static |
| bbubd=debian/busybox_udeb_builddir |
| bbu=debian/busybox-udeb |
| |
| clean: |
| dh_testdir |
| dh_testroot |
| rm -f debian/build-stamp-busybox debian/build-stamp-busybox-static debian/build-stamp-busybox-udeb |
| -$(MAKE) clean |
| -rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd) $(bbubd) $(bbu) |
| dh_clean |
| |
| build: debian/build-stamp-busybox |
| debian/build-stamp-busybox: |
| dh_testdir |
| mkdir -p $(bbbd) |
| cp Makefile $(bbbd) |
| cp debian/Config.h-deb $(bbbd)/Config.h |
| (cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../") |
| touch debian/build-stamp-busybox |
| |
| install: build |
| dh_testdir |
| dh_testroot |
| dh_clean -k |
| dh_installdirs |
| # Do not run 'make install', since we do not want all the symlinks. |
| # This just installes the busybox binary... |
| #(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bb)" install) |
| mkdir -p $(bb)/bin/ |
| cp $(bbbd)/busybox $(bb)/bin/busybox |
| mkdir -p $(bb)/usr/share/doc/busybox/busybox.lineo.com |
| cp $(bbbd)/docs/busybox.lineo.com/BusyBox.html $(bb)/usr/share/doc/busybox/busybox.lineo.com/ |
| mkdir -p $(bb)/usr/share/man/man1 |
| cp $(bbbd)/docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1 |
| |
| # Now for the statically linked stuff |
| build-static: debian/build-stamp-busybox-static |
| debian/build-stamp-busybox-static: |
| dh_testdir |
| mkdir -p $(bbsbd) |
| cp Makefile $(bbsbd) |
| cp debian/Config.h-deb $(bbsbd)/Config.h |
| (cd $(bbsbd); $(MAKE) DOSTATIC=true "BB_SRC_DIR=../../") |
| touch debian/build-stamp-busybox-static |
| |
| install-static: build |
| dh_testdir |
| dh_testroot |
| dh_clean -k |
| dh_installdirs |
| # Do not run 'make install', since we do not want all the symlinks. |
| # This just installes the busybox binary... |
| #(cd $(bbsbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bbs)" install) |
| mkdir -p $(bbs)/bin/ |
| cp $(bbsbd)/busybox $(bbs)/bin/busybox |
| mkdir -p $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com |
| cp $(bbsbd)/docs/busybox.lineo.com/BusyBox.html $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/ |
| mkdir -p $(bbs)/usr/share/man/man1/ |
| cp $(bbsbd)/docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1 |
| |
| half_clean: |
| dh_testdir |
| dh_testroot |
| rm -rf $(bbs) debian/build-stamp-busybox-static |
| -$(MAKE) clean |
| |
| do_static: half_clean build-static install-static |
| |
| |
| |
| # Now for the .udeb stuff |
| PACKAGE=busybox |
| VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2) |
| ARCH=$(shell dpkg --print-architecture) |
| FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb |
| PRIORITY=$(shell grep ^Priority: debian/control | cut -d ' ' -f 2) |
| |
| build-udeb: debian/build-stamp-busybox-udeb |
| debian/build-stamp-busybox-udeb: |
| dh_testdir |
| mkdir -p $(bbubd) |
| cp Makefile $(bbubd) |
| cp debian/Config.h-udeb $(bbubd)/Config.h |
| (cd $(bbubd); $(MAKE) "BB_SRC_DIR=../../") |
| touch debian/build-stamp-busybox-udeb |
| |
| install-udeb: build |
| dh_testdir |
| dh_testroot |
| dh_clean -k |
| dh_installdirs |
| (cd $(bbubd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bbu)" install) |
| mkdir -p $(bbu)/usr/share/man/man1/ |
| cp $(bbubd)/docs/BusyBox.1 $(bbu)/usr/share/man/man1/busybox.1 |
| |
| three_quarter_clean: |
| dh_testdir |
| dh_testroot |
| rm -rf $(bbu) debian/build-stamp-busybox-udeb |
| -$(MAKE) clean |
| |
| do_udeb: three_quarter_clean build-udeb install-udeb |
| |
| |
| |
| # Build architecture-independent files here. |
| binary-indep: |
| # We have nothing to do by default. |
| |
| # Build architecture-dependent files here. |
| binary-arch: busybox busybox-static busybox-udeb |
| |
| busybox: install |
| @echo "--- Building: $@" |
| dh_testdir |
| dh_testroot |
| dh_installdirs |
| dh_installdocs -p$@ $(bbbd)/docs/BusyBox.txt \ |
| $(bbbd)/docs/BusyBox.html docs/style-guide.txt \ |
| docs/busybox.lineo.com AUTHORS README TODO |
| rm -rf `find $(bb) -name CVS` |
| rm -f `find $(bb) -name .cvsignore` |
| dh_installchangelogs -p$@ Changelog |
| dh_undocumented -p$@ |
| dh_strip -p$@ |
| dh_compress -p$@ |
| dh_fixperms -p$@ |
| dh_installdeb -p$@ |
| dh_shlibdeps -p$@ |
| dh_gencontrol -p$@ |
| dh_md5sums -p$@ |
| dh_builddeb -p$@ |
| |
| |
| busybox-static: do_static |
| @echo "--- Building: $@" |
| dh_testdir |
| dh_testroot |
| dh_installdirs |
| dh_installdocs -p$@ $(bbsbd)/docs/BusyBox.txt \ |
| $(bbsbd)/docs/BusyBox.html docs/style-guide.txt \ |
| docs/busybox.lineo.com AUTHORS README TODO |
| rm -rf `find $(bbs) -name CVS` |
| rm -f `find $(bbs) -name .cvsignore` |
| dh_installchangelogs -p$@ Changelog |
| dh_undocumented -p$@ |
| dh_strip -p$@ |
| dh_compress -p$@ |
| dh_fixperms -p$@ |
| dh_installdeb -p$@ |
| dh_shlibdeps -p$@ |
| dh_gencontrol -p$@ |
| dh_md5sums -p$@ |
| dh_builddeb -p$@ |
| |
| |
| # Note that this builds a .udeb, which is not policy compliant or anything. |
| # |
| busybox-udeb: do_udeb |
| @echo "--- Building: $@" |
| dh_testdir |
| dh_testroot |
| dh_installdirs |
| dh_strip -p$@ |
| dh_compress -p$@ |
| dh_fixperms -p$@ |
| dh_installdeb -p$@ |
| dh_shlibdeps -p$@ |
| #Make _very_ sure there are no docs lurking about. |
| rm -rf $(bbu)/usr/share/man |
| #dh_gencontrol -p$@ |
| # Don't write your stupid guesses to debian/files. |
| dh_gencontrol -p$@ -- -fdebian/files~ |
| # Register file manually. |
| dpkg-distaddfile $(FILENAME) debian-installer $(PRIORITY) |
| dh_md5sums -p$@ |
| dh_builddeb -p$@ --filename=$(FILENAME) |
| |
| binary: binary-indep binary-arch |
| .PHONY: build clean binary-indep binary-arch binary install |