linux/debian/rules

74 lines
2.1 KiB
Makefile
Executable File

#!/usr/bin/make -f
SHELL := sh -e
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
srcver := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
VERSION := $(shell echo $(srcver) | sed -e 's,-[^-]*$$,,')
MAJOR := $(word 1,$(subst ., ,$(VERSION))).$(word 2,$(subst ., ,$(VERSION)))
include debian/rules.defs
build: debian/control $(STAMPS_DIR)/build-base
$(STAMPS_DIR)/build-base: $(BUILD_DIR) $(STAMPS_DIR)
dh_testdir
$(MAKE) -f debian/rules.gen build
touch $@
$(BUILD_DIR) $(STAMPS_DIR):
@[ -d $@ ] || mkdir $@
orig: ../orig/linux-kbuild-$(MAJOR)-$(VERSION)
rsync --delete --exclude debian --exclude .svn --link-dest=$^/ -av $^/ .
../orig/linux-kbuild-$(MAJOR)-$(VERSION):
if [ -f "../linux-kbuild-$(MAJOR)_$(VERSION).orig.tar.gz" ]; then \
mkdir -p ../orig; \
tar -C ../orig -xzf ../linux-kbuild-$(MAJOR)_$(VERSION).orig.tar.gz; \
else \
echo "Can't find orig tarball." >&2; \
exit 1; \
fi
maintainerclean:
-rm debian/control debian/control.md5sum debian/rules.gen
-rm -rf scripts
clean: debian/control
dh_testdir
rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc
dh_clean
binary-indep:
dh_testdir
$(MAKE) -f debian/rules.gen binary-indep
binary-arch:
dh_testdir
$(MAKE) -f debian/rules.gen binary-arch
binary: binary-indep binary-arch
CONTROL_FILES = debian/changelog $(wildcard debian/templates/control.*)
debian/control debian/rules.gen: debian/bin/gencontrol.py $(CONTROL_FILES)
if [ -f debian/control.md5sum ]; then \
if md5sum $^ | diff - debian/control.md5sum > /dev/null; then true; else \
$(MAKE) -f debian/rules debian/control-real; \
fi \
else \
$(MAKE) -f debian/rules debian/control-real; \
fi
debian/control-real: debian/bin/gencontrol.py $(CONTROL_FILES)
chmod +x $<
$<
md5sum $^ > debian/control.md5sum
@echo
@echo This target is made to fail intentionally, to make sure
@echo that it is NEVER run during the automated build. Please
@echo ignore the following error, the debian/control file has
@echo been generated SUCCESSFULLY.
@echo
exit 1
.PHONY: clean build setup binary-indep binary-arch binary