| #!/usr/bin/make -f |
| |
| # Uncomment this to turn on verbose mode. |
| #export DH_VERBOSE=1 |
| |
| DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) |
| DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) |
| DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM) |
| |
| VERSION = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2) |
| |
| ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) |
| CONFIG_DEBUG = true |
| endif |
| ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) |
| endif |
| |
| PACKAGE_PREFIX = busybox-cvs |
| |
| ARCH_FLOPPY_UDEB = $(shell sh debian/control-extract Architecture $(PACKAGE_PREFIX)-floppy-udeb) |
| |
| PACKAGES_DEB = $(PACKAGE_PREFIX) $(PACKAGE_PREFIX)-static |
| PACKAGES_UDEB = $(PACKAGE_PREFIX)-udeb |
| ifneq ($(filter $(DEB_HOST_ARCH),$(ARCH_FLOPPY_UDEB)),) |
| PACKAGES_UDEB += $(PACKAGE_PREFIX)-floppy-udeb |
| endif |
| PACKAGES = $(PACKAGES_DEB) $(PACKAGES_UDEB) |
| |
| DEBHELPER_PACKAGES_DEB = $(patsubst %,-p%,$(PACKAGES_DEB)) |
| DEBHELPER_PACKAGES_UDEB = $(patsubst %,-p%,$(PACKAGES_UDEB)) |
| |
| CONFIG = $(firstword $(wildcard ./debian/config-$(1)-$(DEB_HOST_GNU_SYSTEM)-$(DEB_HOST_GNU_CPU) ./debian/config-$(1)-$(DEB_HOST_GNU_SYSTEM) ./debian/config-$(1))) |
| CONFIG_DEB = $(call CONFIG,deb) |
| CONFIG_STATIC = $(call CONFIG,static) |
| CONFIG_UDEB = $(call CONFIG,udeb) |
| CONFIG_FLOPPY_UDEB = $(call CONFIG,floppy-udeb) |
| |
| configure: configure-stamp |
| configure-stamp: |
| sh ./configure |
| |
| touch $@ |
| |
| build-arch: build-arch-deb-all build-arch-udeb-all |
| build-arch-deb-all: build-arch-deb build-arch-static build-arch-doc |
| build-arch-udeb-all: build-arch-udeb build-arch-floppy-udeb |
| |
| build-arch-deb: build-arch-deb-stamp |
| build-arch-deb-stamp: configure-stamp |
| $(MAKE) clean |
| |
| cp $(CONFIG_DEB) .config |
| |
| $(MAKE) dep |
| $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) |
| |
| install -d install-$(PACKAGE_PREFIX)/bin |
| install busybox install-$(PACKAGE_PREFIX)/bin/busybox |
| |
| touch $@ |
| |
| build-arch-static: build-arch-static-stamp |
| build-arch-static-stamp: configure-stamp |
| $(MAKE) clean |
| |
| cp $(CONFIG_STATIC) .config |
| |
| $(MAKE) dep |
| $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) |
| |
| install -d install-$(PACKAGE_PREFIX)-static/bin |
| install busybox install-$(PACKAGE_PREFIX)-static/bin/busybox |
| |
| touch $@ |
| |
| build-arch-udeb: build-arch-udeb-stamp |
| build-arch-udeb-stamp: configure-stamp |
| $(MAKE) clean |
| |
| cp $(CONFIG_UDEB) .config |
| |
| $(MAKE) dep |
| $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) |
| |
| $(MAKE) PREFIX=$(CURDIR)/install-$(PACKAGE_PREFIX)-udeb install |
| # Remove init link, but init support is still compiled in to be |
| # used. |
| rm -f $(CURDIR)/install-$(PACKAGE_PREFIX)-udeb/sbin/init |
| |
| touch $@ |
| |
| build-arch-floppy-udeb: build-arch-floppy-udeb-stamp |
| build-arch-floppy-udeb-stamp: configure-stamp |
| ifneq ($(filter $(DEB_HOST_ARCH),$(ARCH_FLOPPY_UDEB)),) |
| $(MAKE) clean |
| |
| cp $(CONFIG_FLOPPY_UDEB) .config |
| |
| $(MAKE) dep |
| $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) |
| |
| $(MAKE) PREFIX=$(CURDIR)/install-$(PACKAGE_PREFIX)-floppy-udeb install |
| endif |
| |
| touch $@ |
| |
| build-arch-doc: build-arch-doc-stamp |
| build-arch-doc-stamp: configure-stamp |
| $(MAKE) docs/BusyBox.1 |
| |
| cp docs/BusyBox.1 busybox.1 |
| |
| touch $@ |
| |
| build: build-arch |
| |
| clean: |
| dh_testdir |
| dh_testroot |
| rm -f build-*-stamp configure-stamp debian/files~ |
| |
| -$(MAKE) distclean |
| -rm -rf busybox-deb busybox-static install* busybox.1 |
| |
| dh_clean |
| |
| install-deb: build-arch-deb-all |
| dh_testdir |
| dh_testroot |
| dh_clean -k $(DEBHELPER_PACKAGES_DEB) |
| dh_installdirs $(DEBHELPER_PACKAGES_DEB) |
| |
| for i in $(PACKAGES_DEB); do \ |
| ( \ |
| cd install-$$i; \ |
| find -type d -exec install -d $(CURDIR)/debian/$$i/{} \;; \ |
| find \( -type f -o -type l \) -exec cp -a {} $(CURDIR)/debian/$$i/{} \;; \ |
| ); \ |
| done |
| |
| install -m644 debian/$(PACKAGE_PREFIX)-static.override \ |
| debian/$(PACKAGE_PREFIX)-static/usr/share/lintian/overrides/$(PACKAGE_PREFIX)-static |
| |
| install-udeb: build-arch-udeb-all |
| dh_testdir |
| dh_testroot |
| dh_clean -k $(DEBHELPER_PACKAGES_UDEB) |
| dh_installdirs $(DEBHELPER_PACKAGES_UDEB) |
| |
| for i in $(PACKAGES_UDEB); do \ |
| ( \ |
| cd install-$$i; \ |
| find -type d -exec install -d $(CURDIR)/debian/$$i/{} \;; \ |
| find \( -type f -o -type l \) -exec cp -a {} $(CURDIR)/debian/$$i/{} \;; \ |
| ); \ |
| done |
| |
| binary-arch: binary-arch-deb binary-arch-udeb |
| |
| # Build architecture-dependent files here. |
| binary-arch-deb: build-arch-deb-all install-deb |
| dh_testdir |
| dh_testroot |
| dh_installdocs $(DEBHELPER_PACKAGES_DEB) |
| dh_installman $(DEBHELPER_PACKAGES_DEB) |
| dh_installchangelogs Changelog $(DEBHELPER_PACKAGES_DEB) |
| dh_strip $(DEBHELPER_PACKAGES_DEB) |
| dh_link $(DEBHELPER_PACKAGES_DEB) |
| dh_compress $(DEBHELPER_PACKAGES_DEB) |
| dh_fixperms $(DEBHELPER_PACKAGES_DEB) |
| dh_installdeb $(DEBHELPER_PACKAGES_DEB) |
| dh_shlibdeps $(DEBHELPER_PACKAGES_DEB) |
| dh_gencontrol $(DEBHELPER_PACKAGES_DEB) |
| dh_md5sums $(DEBHELPER_PACKAGES_DEB) |
| dh_builddeb $(DEBHELPER_PACKAGES_DEB) |
| |
| # Build architecture-dependent files here. |
| binary-arch-udeb: build-arch-udeb-all install-udeb |
| dh_testdir |
| dh_testroot |
| dh_strip $(DEBHELPER_PACKAGES_UDEB) |
| dh_link $(DEBHELPER_PACKAGES_UDEB) |
| dh_compress $(DEBHELPER_PACKAGES_UDEB) |
| dh_fixperms $(DEBHELPER_PACKAGES_UDEB) |
| dh_installdeb $(DEBHELPER_PACKAGES_UDEB) |
| dh_shlibdeps $(DEBHELPER_PACKAGES_UDEB) |
| dh_gencontrol $(DEBHELPER_PACKAGES_DEB) |
| |
| $(foreach PACKAGE, $(PACKAGES_UDEB), \ |
| dh_gencontrol -p$(PACKAGE) -- -fdebian/files~; \ |
| dpkg-distaddfile $(PACKAGE)_$(VERSION)_$(DEB_HOST_ARCH).udeb debian-installer extra; \ |
| dh_builddeb -p$(PACKAGE) --filename=$(PACKAGE)_$(VERSION)_$(DEB_HOST_ARCH).udeb; \ |
| ) |
| |
| binary: binary-arch |
| .PHONY: build clean binary-indep binary-arch binary install |