#!/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;gatemate HIMBAECHEL_GOWIN_DEVICES=all %: dh $@ NO_GUI_PACKAGES = \ -Nnextpnr-ice40-qt \ -Nnextpnr-ecp5-qt \ -Nnextpnr-himbaechel-gowin-qt \ -Nnextpnr-himbaechel-gatemate-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) \ -DHIMBAECHEL_PEPPERCORN_PATH=/usr/share/peppercorn 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 define help2man help2man \ $(HELP2MAN_FLAGS) \ debian/tmp/$(1)/usr/bin/$(2) \ > debian/tmp/$(1)/$(2).1 endef override_dh_installman: $(foreach prog,$(notdir $(wildcard debian/tmp/cli/usr/bin/nextpnr-*)),$(call help2man,cli,$(prog))) $(foreach prog,$(notdir $(wildcard debian/tmp/gui/usr/bin/nextpnr-*)),$(call help2man,gui,$(prog))) dh_installman \ --arch \ $(NO_GUI_PACKAGES) \ --sourcedir=debian/tmp/cli dh_installman \ --arch \ --remaining-packages \ --sourcedir=debian/tmp/gui override_dh_installexamples: dh_installexamples --exclude=.gitignore