#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This is the debhelper compatibility version to use. export DH_COMPAT=3 DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) VERSION = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2) ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) DODEBUG = true endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) endif PACKAGE_PREFIX = busybox-cvs PACKAGES_DEB = $(PACKAGE_PREFIX) $(PACKAGE_PREFIX)-static PACKAGES_UDEB = $(PACKAGE_PREFIX)-udeb ifneq ($(wildcard ./debian/config-net-udeb-$(DEB_HOST_ARCH)),) PACKAGES_UDEB += $(PACKAGE_PREFIX)-net-udeb endif PACKAGES = $(PACKAGES_DEB) $(PACKAGES_UDEB) DEBHELPER_PACKAGES_DEB = $(patsubst %,-p%,$(PACKAGES_DEB)) build-arch: build-arch-deb build-arch-static build-arch-udeb build-arch-net-udeb build-arch-doc build-arch-deb: build-arch-deb-stamp build-arch-deb-stamp: $(MAKE) clean ifeq ($(wildcard ./debian/config-deb-$(DEB_HOST_ARCH)),) cp ./debian/config-deb .config else cp ./debian/config-deb-$(DEB_HOST_ARCH) .config endif $(MAKE) dep $(MAKE) DODEBUG=$(DODEBUG) 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: $(MAKE) clean ifeq ($(wildcard ./debian/config-static-$(DEB_HOST_ARCH)),) cp ./debian/config-static .config else cp ./debian/config-static-$(DEB_HOST_ARCH) .config endif $(MAKE) dep $(MAKE) DODEBUG=$(DODEBUG) 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: $(MAKE) clean ifeq ($(wildcard ./debian/config-udeb-$(DEB_HOST_ARCH)),) cp ./debian/config-udeb .config else cp ./debian/config-udeb-$(DEB_HOST_ARCH) .config endif $(MAKE) dep $(MAKE) DODEBUG=$(DODEBUG) $(MAKE) PREFIX=$(CURDIR)/install-$(PACKAGE_PREFIX)-udeb install touch $@ build-arch-net-udeb: build-arch-net-udeb-stamp build-arch-net-udeb-stamp: ifneq ($(wildcard ./debian/config-net-udeb-$(DEB_HOST_ARCH)),) $(MAKE) clean cp ./debian/config-net-udeb-$(DEB_HOST_ARCH) .config $(MAKE) dep $(MAKE) DODEBUG=$(DODEBUG) $(MAKE) PREFIX=$(CURDIR)/install-$(PACKAGE_PREFIX)-net-udeb install endif touch $@ build-arch-doc: build-arch-doc-stamp build-arch-doc-stamp: $(MAKE) docs/BusyBox.1 cp docs/BusyBox.1 busybox.1 touch $@ build: build-arch clean: dh_testdir dh_testroot rm -f build-*-stamp debian/files~ $(MAKE) distclean -rm -rf busybox-deb busybox-static install* busybox.1 dh_clean install: build-arch dh_testdir dh_testroot dh_clean -k dh_installdirs for i in $(PACKAGES); 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 # Build architecture-dependent files here. binary-arch: build-arch install dh_testdir -a dh_testroot -a # dh_installdebconf -a dh_installdocs $(DEBHELPER_PACKAGES_DEB) # dh_installexamples -a # dh_installmenu -a # dh_installlogrotate -a # dh_installemacsen -a # dh_installpam -a # dh_installmime -a # dh_installinit -a # dh_installcron -a dh_installman $(DEBHELPER_PACKAGES_DEB) # dh_installinfo -a # dh_undocumented -a dh_installchangelogs Changelog $(DEBHELPER_PACKAGES_DEB) dh_strip -a dh_link -a dh_compress -a dh_fixperms -a # dh_makeshlibs -a dh_installdeb -a # dh_perl -a dh_shlibdeps -a dh_gencontrol $(DEBHELPER_PACKAGES_DEB) dh_md5sums $(DEBHELPER_PACKAGES_DEB) dh_builddeb $(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