Files
scst/debian/rules
Konstantin Kharlamov 65ef5e0627 debian: make sure KVER and KDIR are visible to dpkg build
The debuild clears up the environment, thus the essential SCST variables
KVER and KDIR are cleared out. This patch fixes it.

Note: technically, `debild` supports `--preserve-env` option. But in
reality making use of it makes no difference, variables still do not
appear. Work around it by using DEB_foo_SET from `man dpkg-buildflags`
2021-05-19 16:09:28 +03:00

109 lines
3.2 KiB
Makefile
Executable File

#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
SUBDIRS=scst fcst iscsi-scst qla2x00t/qla2x00-target scst_local scstadmin srpt
DESTDIR=$(CURDIR)/debian/tmp
VERSION:=$(shell head -n1 debian/changelog | sed 's/.*(\([0-9.]*\).*).*/\1/')
# rules won't see variables unless they're using DEB_foo_SET syntax. So use that as
# an intermediary. Also, export variables for sub-makes to be able to see them.
export KVER=$(DEB_KVER_SET)
export KDIR=$(DEB_KDIR_SET)
%:
echo "*** dh $@ ***"
dh $@
clean:
dh_testdir && \
dh_prep -Xqla_isp/TAGS -Xdebian/changelog && \
scripts/clean-source-tree -x debian/changelog -x debian/compat
build:
make 2release && \
export BUILD_2X_MODULE=y && \
export CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && \
for d in $(SUBDIRS); do $(MAKE) -C $$d; done && \
{ \
echo dkms.conf && \
echo Makefile && \
for d in fcst iscsi-scst qla2x00t scst scst_local srpt; do\
echo $$d; \
done; \
} | sed "s,^,usr/src/scst-$(VERSION)/," >debian/scst-dkms.install
build-indep: build
build-arch: build
install:
[ -n "$(VERSION)" ] && \
dh_testdir && \
export PREFIX=/usr && \
export DESTDIR="$(DESTDIR)" && \
export BUILD_2X_MODULE=y && \
export CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && \
for d in $(SUBDIRS); do \
if [ $$d = scst ]; then \
{ $(MAKE) -C $$d install || break; } \
else \
{ INSTALL_MOD_PATH="$(DESTDIR)" $(MAKE) -C $$d install; } ||\
break; \
fi; \
done && \
make 2debug && \
rm -f "$(DESTDIR)"/lib/modules/*/[Mm]odule* && \
mkdir -p $(DESTDIR)/usr/src/scst-$(VERSION) && \
for f in scst.dkms scst-dkms.postinst scst-dkms.prerm; do \
sed "s/\$${PACKAGE_VERSION}/$(VERSION)/" \
< debian/$$f.in >debian/$$f || exit $?; \
done && \
cp debian/scst.dkms \
$(DESTDIR)/usr/src/scst-$(VERSION)/dkms.conf && \
scripts/list-source-files | \
grep -E '^Makefile$$|^(fcst|iscsi-scst|qla2x00t|scst|scst_local|srpt)/'|\
tar -T- -cf- | \
tar -C $(DESTDIR)/usr/src/scst-$(VERSION) -xf- && \
find $(DESTDIR) -type f -print0 | xargs -0 -r chmod 0644 && \
find $(DESTDIR) -type d -print0 | xargs -0 -r chmod 0755 && \
mv "$(DESTDIR)"/usr/man "$(DESTDIR)"/usr/share/man && \
dh_install && \
dh_installman && \
dh_installchangelogs && \
dh_compress && \
dh_fixperms && \
dh_strip && \
dh_makeshlibs && \
dh_shlibdeps && \
dh_installdeb && \
dh_gencontrol && \
dh_md5sums && \
dh_builddeb
binary-indep: install
binary-arch: install
binary: binary-indep binary-arch
override_dh_installinit:
dh_installinit --onlyscripts
override_dh_auto_configure:
true
.PHONY: clean binary binary-arch binary-indep build build-arch build-indep \
install