1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
#!/usr/bin/make -f
#export DH_VERBOSE=1
export NV_VERBOSE=1
# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/pkg-info.mk
PKG_CONFIG_XORG_XSERVER_LIBDIR = $(shell pkg-config --variable=libdir xorg-server)
CPPFLAGS += -DPKG_CONFIG_XORG_XSERVER_LIBDIR='\"$(PKG_CONFIG_XORG_XSERVER_LIBDIR)\"'
export PREFIX = /usr
export DO_STRIP =
export CC_ONLY_CFLAGS = $(CPPFLAGS)
# reproducible builds: instead of _out/$(uname)_($uname -m) use a fixed directory
export OUTPUTDIR = _out/debian
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
export DEBUG = 1
endif
export NV_USE_BUNDLED_LIBJANSSON = 0
include debian/rules.defs
NVIDIA_LEGACY ?=
NVIDIA_ALTERNATIVE ?= nvidia$(legacy)-alternative
NVIDIA_RELEASE = $(DEB_VERSION_UPSTREAM)
legacy = $(if $(NVIDIA_LEGACY),-legacy-$(NVIDIA_LEGACY)xx)
legacy_description = $(if $(NVIDIA_LEGACY), ($(NVIDIA_LEGACY)xx legacy version))
nvidia_private = nvidia$(if $(legacy),/$(patsubst -%,%,$(legacy)),/current)
watch_version ?= $(NVIDIA_LEGACY)
ALL_CONTROL := $(wildcard debian/nvidia-settings.*)
LEGACY_CONTROL := $(wildcard debian/nvidia-settings$(legacy).*)
RENAME_CONTROL = $(filter-out $(LEGACY_CONTROL),$(ALL_CONTROL))
RENAMED_CONTROL = $(patsubst debian/nvidia-settings.%,debian/nvidia-settings$(legacy).%,$(RENAME_CONTROL))
TEMPLATES := $(wildcard debian/*.in)
AUTOGEN += $(patsubst %.in,%,$(TEMPLATES))
AUTOGEN += $(patsubst %.in,%,$(RENAMED_CONTROL))
AUTOGEN += debian/substvars
AUTOKEEP = debian/watch
AUTOCLEAN = $(filter-out $(AUTOKEEP),$(AUTOGEN))
%:
dh $@
ifneq (amd64,$(DEB_HOST_ARCH))
override_dh_auto_build: $(AUTOGEN)
CC_ONLY_CFLAGS="$(CPPFLAGS)" dh_auto_build --sourcedirectory=src/libXNVCtrl
override_dh_auto_install:
else
override_dh_auto_build: $(AUTOGEN)
CC_ONLY_CFLAGS="$(CPPFLAGS)" dh_auto_build -O--parallel
$(MAKE) -C samples
override_dh_auto_install:
dh_auto_install --destdir=debian/tmp
install -m 0755 samples/$(OUTPUTDIR)/nv-control-dpy debian/tmp/usr/bin/
install -m 0644 doc/nvidia-settings.png debian/tmp/nvidia-settings$(legacy).png
override_dh_strip:
dh_strip -Nnvidia-settings
dh_strip --remaining-packages --no-automatic-dbgsym
override_dh_dwz:
dh_strip -Nnvidia-settings
endif
override_dh_missing:
dh_missing --fail-missing
override_dh_auto_clean:
dh_auto_clean
$(RM) src/libXNVCtrl/libXNVCtrl.a
$(RM) src/libXNVCtrl/libXNVCtrl.so*
$(MAKE) -C samples clean
$(RM) -r doc/_out samples/_out src/_out src/libXNVCtrl/_out
$(RM) $(AUTOCLEAN)
$(MAKE) -f debian/rules $(AUTOKEEP)
override_dh_gencontrol:
set -ex; \
if [ -f debian/nvidia-settings$(legacy).substvars ]; then \
sed -ri -e 's/(^[^:]*:Depends=)/\1 GTK3 | GTK2, /' \
-e 's/(GTK2)(.*)(libgtk2.0-0 \([^\)]*\))/\3\2/' \
-e 's/(GTK3)(.*)(libgtk-3-0 \([^\)]*\))/\3\2/' \
debian/nvidia-settings$(legacy).substvars ; \
! grep GTK debian/nvidia-settings$(legacy).substvars ; \
fi
dh_gencontrol -- -V'nvidia:Legacy=$(legacy)' \
-V'nvidia:LegacyDesc=$(legacy_description)' \
-V'nvidia:Version=$(NVIDIA_RELEASE)' \
-V'nvidia-alternative=$(NVIDIA_ALTERNATIVE)'
# used by dpkg-genchanges
debian/substvars:
echo 'nvidia:LegacyDesc=$(legacy_description)' > $@
# Generating control files
debian/%:: debian/%.in debian/rules debian/rules.defs
perl -p \
-e 's{#LEGACY#}{$(legacy)}g;' \
-e 's{#LEGACY_DESC#}{$(legacy_description)}g;' \
-e 's{#PRIVATE#}{$(nvidia_private)}g;' \
-e 's{#WATCH_VERSION#}{$(watch_version)}g;' \
< $< > $@
# Renaming control files for legacy packaging
ifneq (,$(legacy))
nvidia-settings$(legacy).%: nvidia-settings.%
cp -a $< $@
endif
|