197 lines
5.3 KiB
Makefile
Executable File
197 lines
5.3 KiB
Makefile
Executable File
#!/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
|