123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #!/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
|