#!/usr/bin/make -f SHELL := /bin/bash DEB_BUILD_MAINT_OPTIONS += hardening=+all include /usr/share/dpkg/architecture.mk include /usr/share/dpkg/buildflags.mk export ARCH_OPTS := $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) %: dh $@ override_dh_testdir: dh_testdir stalin.sc # Symlink the prebuilt file for the current architecture. It may be # that if the ./stalin-architecture output matches for two # architectures, then the .c files will be the same, but all of the # following matches were determined by creating the relevant # stalin-arch-ARCH.c file (via "make stalin-arch-ARCH.c" after adding # the entry to include/stalin.architectures) and then diffing it # against existing prebuilt files. stalin-arch-amd64.c: ln -sf debian/prebuilt-src/stalin-arch-amd64.c $@ stalin-arch-arm64.c: ln -sf debian/prebuilt-src/stalin-arch-amd64.c $@ stalin-arch-ia64.c: ln -sf debian/prebuilt-src/stalin-arch-amd64.c $@ stalin-arch-i386.c: ln -sf debian/prebuilt-src/stalin-arch-i386.c $@ stalin-arch-sparc.c: cp -a debian/prebuilt-src/stalin-arch-sparc.c $@.tmp patch $@.tmp debian/prebuilt-src/stalin-arch-sparc-from-i386.diff mv $@.tmp $@ override_dh_auto_build: stalin-arch-$(DEB_HOST_ARCH).c ./build ./build-gl-fpi override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) rm -rf debian/tmp-test mkdir debian/tmp-test echo '(display "hello") (newline)' > debian/tmp-test/hello.scm cd debian/tmp-test && $(CURDIR)/stalin -On hello.scm test -x debian/tmp-test/hello test $$(debian/tmp-test/hello) = "hello" cd benchmarks && ./make-clean ./compile-and-run-stalin-old-benchmarks endif override_dh_clean: dh_clean rm -rf debian/tmp-test stalin-arch-$(DEB_HOST_ARCH).c