#!/usr/bin/make -f include /usr/share/dpkg/pkg-info.mk include /usr/share/dpkg/buildopts.mk CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%d %B %Y") export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed BUILDDIR=$(CURDIR)/debian/build ARCH=generic;ice40;ecp5;himbaechel HIMBAECHEL_UARCH=gowin HIMBAECHEL_GOWIN_DEVICES=all %: dh $@ NO_GUI_PACKAGES = \ -Nnextpnr-ice40-qt \ -Nnextpnr-ecp5-qt \ -Nnextpnr-himbaechel-qt CMAKE_FLAGS := \ -GNinja \ -DCURRENT_GIT_VERSION="$(DEB_VERSION)" \ -DBUILD_PYTHON=ON \ -DBUILD_TESTS=ON \ -DEXTERNAL_CHIPDB=ON \ -DARCH='$(ARCH)' \ -DICEBOX_DATADIR=/usr/share/fpga-icestorm/chipdb \ -DICESTORM_INSTALL_PREFIX=/usr/share/fpga-icestorm/chipdb \ -DTRELLIS_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/trellis/ \ -DTRELLIS_DATADIR=/usr/share/trellis/ \ -DHIMBAECHEL_UARCH=$(HIMBAECHEL_UARCH) \ -DHIMBAECHEL_SPLIT=ON \ -DHIMBAECHEL_GOWIN_DEVICES=$(HIMBAECHEL_GOWIN_DEVICES) HELP2MAN_FLAGS = \ --name="Next Generation Place and Route" \ --version-string="$(DEB_VERSION)" \ --section=1 \ --manual="General Commands" \ --no-info \ --no-discard-stderr override_dh_auto_clean: rm -rf $(BUILDDIR) rm -f debian/nextpnr-*.1 dh_auto_clean override_dh_auto_configure: dh_auto_configure \ --arch \ $(NO_GUI_PACKAGES) \ -B$(BUILDDIR)/cli \ -- \ $(CMAKE_FLAGS) \ -DBUILD_GUI=OFF \ -DEXPORT_BBA_FILES=$(BUILDDIR)/bba dh_auto_configure \ --arch \ --remaining-packages \ -B$(BUILDDIR)/gui \ -- \ $(CMAKE_FLAGS) \ -DBUILD_GUI=ON \ -DIMPORT_BBA_FILES=$(BUILDDIR)/bba override_dh_auto_build: dh_auto_build \ --arch \ $(NO_GUI_PACKAGES) \ -B$(BUILDDIR)/cli dh_auto_build \ --arch \ --remaining-packages \ -B$(BUILDDIR)/gui override_dh_auto_test: dh_auto_test \ --arch \ -B$(BUILDDIR)/cli #dh_auto_test -B$(BUILDDIR)/gui override_dh_auto_install: dh_auto_install \ --arch \ $(NO_GUI_PACKAGES) \ -B$(BUILDDIR)/cli \ --destdir=debian/tmp/cli dh_auto_install \ --arch \ --remaining-packages \ -B$(BUILDDIR)/gui \ --destdir=debian/tmp/gui override_dh_install: dh_install \ --arch \ $(NO_GUI_PACKAGES) \ --sourcedir=debian/tmp/cli dh_install \ --arch \ --remaining-packages \ --sourcedir=debian/tmp/gui mkdir -p debian/nextpnr-generic/usr/share/man/man1/ [ ! -x debian/nextpnr-generic/usr/bin/nextpnr-generic ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-generic/usr/bin/nextpnr-generic \ > debian/nextpnr-generic/usr/share/man/man1/nextpnr-generic.1 mkdir -p debian/nextpnr-ice40/usr/share/man/man1/ [ ! -x debian/nextpnr-ice40/usr/bin/nextpnr-ice40 ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-ice40/usr/bin/nextpnr-ice40 \ > debian/nextpnr-ice40/usr/share/man/man1/nextpnr-ice40.1 mkdir -p debian/nextpnr-ecp5/usr/share/man/man1/ [ ! -x debian/nextpnr-ecp5/usr/bin/nextpnr-ecp5 ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-ecp5/usr/bin/nextpnr-ecp5 \ > debian/nextpnr-ecp5/usr/share/man/man1/nextpnr-ecp5.1 mkdir -p debian/nextpnr-himbaechel/usr/share/man/man1/ [ ! -x debian/nextpnr-himbaechel/usr/bin/nextpnr-himbaechel-gowin ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-himbaechel/usr/bin/nextpnr-himbaechel-gowin \ > debian/nextpnr-himbaechel/usr/share/man/man1/nextpnr-himbaechel-gowin.1 mkdir -p debian/nextpnr-ice40-qt/usr/share/man/man1/ [ ! -x debian/nextpnr-ice40-qt/usr/bin/nextpnr-ice40 ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-ice40-qt/usr/bin/nextpnr-ice40 \ > debian/nextpnr-ice40-qt/usr/share/man/man1/nextpnr-ice40.1 mkdir -p debian/nextpnr-ecp5-qt/usr/share/man/man1/ [ ! -x debian/nextpnr-ecp5-qt/usr/bin/nextpnr-ecp5 ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-ecp5-qt/usr/bin/nextpnr-ecp5 \ > debian/nextpnr-ecp5-qt/usr/share/man/man1/nextpnr-ecp5.1 mkdir -p debian/nextpnr-himbaechel-qt/usr/share/man/man1/ [ ! -x debian/nextpnr-himbaechel-qt/usr/bin/nextpnr-himbaechel-gowin ] || \ help2man \ $(HELP2MAN_FLAGS) \ debian/nextpnr-himbaechel-qt/usr/bin/nextpnr-himbaechel-gowin \ > debian/nextpnr-himbaechel-qt/usr/share/man/man1/nextpnr-himbaechel-gowin.1 override_dh_installexamples: dh_installexamples --exclude=.gitignore