#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/pkg-info.mk # for SOURCE_DATE_EPOCH

export DEB_BUILD_MAINT_OPTIONS=hardening=+all optimize=-lto

ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
export VERBOSE=1
endif

# needed for reproducible-version.patch
export CURDIR

VERSION := $(shell cat M2/VERSION)

%:
	dh $@ --sourcedirectory=M2 --with linktree

# use exec_prefix instead of prefix in libdir, as that's what's needed
# to properly substitute paths in Layout#2
LIBDIR := \$${exec_prefix}/lib/$(DEB_HOST_MULTIARCH)

# set emacs lisp file installation directory so that the documentation
# matches where dh_elpa installs them
EMACSDIR := \
	\$${prefix}/share/emacs/site-lisp/elpa/macaulay2-$(VERSION)

# fix TBB linking issue on armel (https://github.com/Macaulay2/M2/pull/2528)
ifeq ($(DEB_HOST_ARCH),armel)
	LIBS = -latomic
endif

ifeq ($(DEB_HOST_ARCH),armhf)
	LIBS = -latomic
endif

WITH_PYTHON := $(if $(filter nopython, $(DEB_BUILD_PROFILES)),, --with-python)

#ifneq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
DISABLE_DOCUMENTATION = --disable-documentation
#else
#DISABLE_DOCUMENTATION := $(if $(shell dh_listpackages -i),,\
#	--disable-documentation)
#endif

override_dh_auto_configure:
	dh_auto_configure --                \
		--libdir=$(LIBDIR)          \
		--with-emacsdir=$(EMACSDIR) \
		--with-system-memtailor     \
		--with-system-mathic        \
		--with-system-mathicgb      \
		--with-system-gc            \
		LIBS="$(LIBS)"              \
		$(WITH_PYTHON)              \
		$(DISABLE_DOCUMENTATION)    \
		$(if $(DISABLE_DOCUMENTATION),,--enable-syntax-highlighting)
ifeq ($(DISABLE_DOCUMENTATION),)
	dh_auto_configure --buildsystem=nodejs
	mv node_modules M2/Macaulay2/editors/highlightjs
endif

# copy cached example output files (for examples known to fail on
# various architectures) to source directory
# see generateExamples in debian/scripts/Debian.m2
EXAMPLE_SRC := $(wildcard $(CURDIR)/debian/examples/*)
EXAMPLE_DEST := $(patsubst $(CURDIR)/debian/examples/%, \
	$(CURDIR)/M2/Macaulay2/packages/%/examples, $(EXAMPLE_SRC))

$(CURDIR)/M2/Macaulay2/packages/%/examples: $(CURDIR)/debian/examples/%
	mkdir -p $@
	cp -v $</*.out $@

execute_before_dh_auto_build: $(EXAMPLE_DEST)
	mkdir -p M2/Macaulay2/packages/Style/katex

# since a "test" target exists, dh_auto_test defaults to using that, but
# it just prints the values of some variables.  we want the "check" target
# instead to run the test suite
# related: https://bugs.debian.org/924052
override_dh_auto_test-arch:
#	$(MAKE) -C M2 check ArgumentMode="defaultMode - SetUlimit" LIMIT=

ifeq ($(DISABLE_DOCUMENTATION),)
override_dh_auto_test-indep:
	$(MAKE) -C M2 validate-html
endif

# create dumps of package documentation databases to ship with macaulay2-common
# and then load during postinst
PKGLIBDIR := debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/Macaulay2
PKGDOCDIR := debian/tmp/usr/share/doc/Macaulay2
DB_FILENAME := rawdocumentation-$(if \
	$(filter little, $(DEB_HOST_ARCH_ENDIAN)),dcba,abcd)-$(if \
	$(filter 64, $(DEB_HOST_ARCH_BITS)),8,4).db

DB_FILES = $(wildcard $(PKGLIBDIR)/*/cache/$(DB_FILENAME))
DUMP_FILES = $(DB_FILES:$(PKGLIBDIR)/%/cache/$(DB_FILENAME)=\
	$(PKGDOCDIR)/%/dump/rawdocumentation.dump)

$(PKGDOCDIR)/%/dump/rawdocumentation.dump: $(PKGLIBDIR)/%/cache/$(DB_FILENAME)
	mkdir -p $(dir $@)
# gdbm_load records the path of the database file and the timestamp in the
# dump file, so use a relative path and faketime for reproducibility
	cd $(dir $<) && \
		faketime '@$(SOURCE_DATE_EPOCH)' \
		gdbm_dump $(notdir $<) $(CURDIR)/$@

execute_after_dh_auto_install-indep: $(DUMP_FILES)
	rm -rf $(EXAMPLE_DEST)
	for DIR in $(subst /examples,,$(EXAMPLE_DEST)); \
	do if [ -z "$$(ls -A $$DIR)" ]; then rm -rf $$DIR; fi; \
	done
	rm -rf $(PKGLIBDIR) # remove package documentation database files

# https://github.com/Macaulay2/M2/issues/1144
execute_before_dh_link-indep:
	jdupes -rl debian/macaulay2-common/usr/share/doc/Macaulay2

# example output, package test files, and database dumps must be plain text
override_dh_compress:
	dh_compress -Xexample-output -X.m2 -X.dump

execute_before_dh_elpa: debian/macaulay2-pkg.el

debian/macaulay2-pkg.el: debian/macaulay2-pkg.el.in
	sed -e 's|@VERSION@|$(VERSION)|g' $< > $@

# prevent dh_missing from failing when only building arch-dependent packages
execute_before_dh_missing:
	if [ ! -f debian/macaulay2-pkg.el ]; \
	then \
		rm -rf debian/tmp/usr/share/emacs; \
	fi

override_dh_installdeb:
	dh_installdeb --define DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH) \
		--define DB_FILENAME=$(DB_FILENAME)

# we use uscan to check for the most recent version, but to create an
# orig tarball, we also need the contents of the M2-emacs submodule,
# so use this target instead of uscan directly
get-orig-source:
	debian/scripts/m2-get-orig-source.sh

override_dh_auto_clean:
	echo upstream clean target is borked
	rm -f M2/Macaulay2/m2/.gdbinit.root M2/Macaulay2/packages/Style/katex/contrib/auto-render.min.js M2/Macaulay2/packages/Style/katex/contrib/copy-tex.min.css M2/Macaulay2/packages/Style/katex/contrib/copy-tex.min.js M2/Macaulay2/packages/Style/katex/katex.min.css M2/Macaulay2/packages/Style/katex/katex.min.js
	rm -rf M2/usr-dist
	rm -f M2/Macaulay2/bin/M2.debug-info M2/Macaulay2/c/scc1 M2/Macaulay2/d/typecode.db M2/Macaulay2/util/echoout M2/Macaulay2/d/arithmetic.dep M2/Macaulay2/d/arithmetic.dep.tmp M2/Macaulay2/m2/.Macaulay2-made M2/Macaulay2/m2/.gdbinit  M2/Macaulay2/util/gc_test M2/Macaulay2/util/gc_tested M2/Macaulay2/util/timestmp
	find . -name '*.o' -delete
	sed -i s/python3.10/python3.9/ M2/Macaulay2/packages/Python/examples/_add__Py__To__M2__Function.out
	rm -f M2/GNUmakefile M2/M2 M2/Macaulay2/Makefile M2/Macaulay2/README M2/Macaulay2/bin/M2 M2/Macaulay2/bin/Makefile M2/Macaulay2/c/.gdbinit M2/Macaulay2/c/Makefile M2/Macaulay2/c/grammar.c M2/Macaulay2/d/M2-exports.h M2/Macaulay2/d/M2-exports.h.tmp M2/Macaulay2/d/M2-tmp.c M2/Macaulay2/d/M2.dep M2/Macaulay2/d/M2.dep.tmp M2/Macaulay2/d/M2.sig M2/Macaulay2/d/M2.sig.tmp M2/Macaulay2/d/Makefile M2/Macaulay2/d/Makefile.files M2/Macaulay2/d/actors-exports.h M2/Macaulay2/d/actors-exports.h.tmp M2/Macaulay2/d/actors-tmp.c M2/Macaulay2/d/actors.dep M2/Macaulay2/d/actors.dep.tmp M2/Macaulay2/d/actors.sig M2/Macaulay2/d/actors.sig.tmp M2/Macaulay2/d/actors2-exports.h M2/Macaulay2/d/actors2-exports.h.tmp M2/Macaulay2/d/actors2-tmp.cc M2/Macaulay2/d/actors2.dep M2/Macaulay2/d/actors2.dep.tmp M2/Macaulay2/d/actors2.sig M2/Macaulay2/d/actors2.sig.tmp M2/Macaulay2/d/actors3-exports.h M2/Macaulay2/d/actors3-exports.h.tmp M2/Macaulay2/d/actors3-tmp.c M2/Macaulay2/d/actors3.dep M2/Macaulay2/d/actors3.dep.tmp M2/Macaulay2/d/actors3.sig M2/Macaulay2/d/actors3.sig.tmp M2/Macaulay2/d/actors4-exports.h M2/Macaulay2/d/actors4-exports.h.tmp M2/Macaulay2/d/actors4-tmp.c M2/Macaulay2/d/actors4.dep M2/Macaulay2/d/actors4.dep.tmp M2/Macaulay2/d/actors4.sig M2/Macaulay2/d/actors4.sig.tmp M2/Macaulay2/d/actors5-exports.h M2/Macaulay2/d/actors5-exports.h.tmp M2/Macaulay2/d/actors5-tmp.c M2/Macaulay2/d/actors5.dep M2/Macaulay2/d/actors5.dep.tmp M2/Macaulay2/d/actors5.sig M2/Macaulay2/d/actors5.sig.tmp M2/Macaulay2/d/actors6-exports.h M2/Macaulay2/d/actors6-exports.h.tmp M2/Macaulay2/d/actors6-tmp.cc M2/Macaulay2/d/actors6.dep M2/Macaulay2/d/actors6.dep.tmp M2/Macaulay2/d/actors6.sig M2/Macaulay2/d/actors6.sig.tmp M2/Macaulay2/d/arithmetic-exports.h M2/Macaulay2/d/arithmetic-exports.h.tmp M2/Macaulay2/d/arithmetic-tmp.c M2/Macaulay2/d/arithmetic.sig M2/Macaulay2/d/arithmetic.sig.tmp M2/Macaulay2/d/atomic-exports.h M2/Macaulay2/d/atomic-exports.h.tmp M2/Macaulay2/d/atomic-tmp.c M2/Macaulay2/d/atomic.dep M2/Macaulay2/d/atomic.dep.tmp M2/Macaulay2/d/atomic.sig M2/Macaulay2/d/atomic.sig.tmp M2/Macaulay2/d/basic-exports.h M2/Macaulay2/d/basic-exports.h.tmp M2/Macaulay2/d/basic-tmp.c M2/Macaulay2/d/basic.dep M2/Macaulay2/d/basic.dep.tmp M2/Macaulay2/d/basic.sig M2/Macaulay2/d/basic.sig.tmp M2/Macaulay2/d/binding-exports.h M2/Macaulay2/d/binding-exports.h.tmp M2/Macaulay2/d/binding-tmp.c M2/Macaulay2/d/binding.dep M2/Macaulay2/d/binding.dep.tmp M2/Macaulay2/d/binding.sig M2/Macaulay2/d/binding.sig.tmp M2/Macaulay2/d/buckets-exports.h M2/Macaulay2/d/buckets-exports.h.tmp M2/Macaulay2/d/buckets-tmp.cc M2/Macaulay2/d/buckets.dep M2/Macaulay2/d/buckets.dep.tmp M2/Macaulay2/d/buckets.sig M2/Macaulay2/d/buckets.sig.tmp M2/Macaulay2/d/classes-exports.h M2/Macaulay2/d/classes-exports.h.tmp M2/Macaulay2/d/classes-tmp.cc M2/Macaulay2/d/classes.dep M2/Macaulay2/d/classes.dep.tmp M2/Macaulay2/d/classes.sig M2/Macaulay2/d/classes.sig.tmp M2/Macaulay2/d/common-exports.h M2/Macaulay2/d/common-exports.h.tmp M2/Macaulay2/d/common-tmp.c M2/Macaulay2/d/common.dep M2/Macaulay2/d/common.dep.tmp M2/Macaulay2/d/common.sig M2/Macaulay2/d/common.sig.tmp M2/Macaulay2/d/convertr-exports.h M2/Macaulay2/d/convertr-exports.h.tmp M2/Macaulay2/d/convertr-tmp.c M2/Macaulay2/d/convertr.dep M2/Macaulay2/d/convertr.dep.tmp M2/Macaulay2/d/convertr.sig M2/Macaulay2/d/convertr.sig.tmp M2/Macaulay2/d/ctype-exports.h M2/Macaulay2/d/ctype-exports.h.tmp M2/Macaulay2/d/ctype-tmp.c M2/Macaulay2/d/ctype.dep M2/Macaulay2/d/ctype.dep.tmp M2/Macaulay2/d/ctype.sig M2/Macaulay2/d/ctype.sig.tmp M2/Macaulay2/d/distributed-packages.h M2/Macaulay2/d/engine-exports.h M2/Macaulay2/d/engine-exports.h.tmp M2/Macaulay2/d/engine-tmp.cc M2/Macaulay2/d/engine.dep M2/Macaulay2/d/engine.dep.tmp M2/Macaulay2/d/engine.sig M2/Macaulay2/d/engine.sig.tmp M2/Macaulay2/d/equality-exports.h M2/Macaulay2/d/equality-exports.h.tmp M2/Macaulay2/d/equality-tmp.cc M2/Macaulay2/d/equality.dep M2/Macaulay2/d/equality.dep.tmp M2/Macaulay2/d/equality.sig M2/Macaulay2/d/equality.sig.tmp M2/Macaulay2/d/err-exports.h M2/Macaulay2/d/err-exports.h.tmp M2/Macaulay2/d/err-tmp.c M2/Macaulay2/d/err.dep M2/Macaulay2/d/err.dep.tmp M2/Macaulay2/d/err.sig M2/Macaulay2/d/err.sig.tmp M2/Macaulay2/d/errio-exports.h M2/Macaulay2/d/errio-exports.h.tmp M2/Macaulay2/d/errio-tmp.c M2/Macaulay2/d/errio.dep M2/Macaulay2/d/errio.dep.tmp M2/Macaulay2/d/errio.sig M2/Macaulay2/d/errio.sig.tmp M2/Macaulay2/d/evaluate-exports.h M2/Macaulay2/d/evaluate-exports.h.tmp M2/Macaulay2/d/evaluate-tmp.c M2/Macaulay2/d/evaluate.dep M2/Macaulay2/d/evaluate.dep.tmp M2/Macaulay2/d/evaluate.sig M2/Macaulay2/d/evaluate.sig.tmp M2/Macaulay2/d/expr-exports.h M2/Macaulay2/d/expr-exports.h.tmp M2/Macaulay2/d/expr-tmp.c M2/Macaulay2/d/expr.dep M2/Macaulay2/d/expr.dep.tmp M2/Macaulay2/d/expr.sig M2/Macaulay2/d/expr.sig.tmp M2/Macaulay2/d/getline-exports.h M2/Macaulay2/d/getline-exports.h.tmp M2/Macaulay2/d/getline-tmp.c M2/Macaulay2/d/getline.dep M2/Macaulay2/d/getline.dep.tmp M2/Macaulay2/d/getline.sig M2/Macaulay2/d/getline.sig.tmp M2/Macaulay2/d/gmp-exports.h M2/Macaulay2/d/gmp-exports.h.tmp M2/Macaulay2/d/gmp-tmp.c M2/Macaulay2/d/gmp.dep M2/Macaulay2/d/gmp.dep.tmp M2/Macaulay2/d/gmp.sig M2/Macaulay2/d/gmp.sig.tmp M2/Macaulay2/d/gmp1-exports.h M2/Macaulay2/d/gmp1-exports.h.tmp M2/Macaulay2/d/gmp1-tmp.c M2/Macaulay2/d/gmp1.dep M2/Macaulay2/d/gmp1.dep.tmp M2/Macaulay2/d/gmp1.sig M2/Macaulay2/d/gmp1.sig.tmp M2/Macaulay2/d/hashtables-exports.h M2/Macaulay2/d/hashtables-exports.h.tmp M2/Macaulay2/d/hashtables-tmp.cc M2/Macaulay2/d/hashtables.dep M2/Macaulay2/d/hashtables.dep.tmp M2/Macaulay2/d/hashtables.sig M2/Macaulay2/d/hashtables.sig.tmp M2/Macaulay2/d/interface-exports.h M2/Macaulay2/d/interface-exports.h.tmp M2/Macaulay2/d/interface-tmp.cc M2/Macaulay2/d/interface.dep M2/Macaulay2/d/interface.dep.tmp M2/Macaulay2/d/interface.sig M2/Macaulay2/d/interface.sig.tmp M2/Macaulay2/d/interface2-exports.h M2/Macaulay2/d/interface2-exports.h.tmp M2/Macaulay2/d/interface2-tmp.c M2/Macaulay2/d/interface2.dep M2/Macaulay2/d/interface2.dep.tmp M2/Macaulay2/d/interface2.sig M2/Macaulay2/d/interface2.sig.tmp M2/Macaulay2/d/interp-exports.h M2/Macaulay2/d/interp-exports.h.tmp M2/Macaulay2/d/interp-tmp.cc M2/Macaulay2/d/interp.dep M2/Macaulay2/d/interp.dep.tmp M2/Macaulay2/d/interp.sig M2/Macaulay2/d/interp.sig.tmp M2/Macaulay2/d/interrupts-exports.h M2/Macaulay2/d/interrupts-exports.h.tmp M2/Macaulay2/d/interrupts-tmp.c M2/Macaulay2/d/interrupts.dep M2/Macaulay2/d/interrupts.dep.tmp M2/Macaulay2/d/interrupts.sig M2/Macaulay2/d/interrupts.sig.tmp M2/Macaulay2/d/lex-exports.h M2/Macaulay2/d/lex-exports.h.tmp M2/Macaulay2/d/lex-tmp.c M2/Macaulay2/d/lex.dep M2/Macaulay2/d/lex.dep.tmp M2/Macaulay2/d/lex.sig M2/Macaulay2/d/lex.sig.tmp M2/Macaulay2/d/mysqldummy-exports.h M2/Macaulay2/d/mysqldummy-exports.h.tmp M2/Macaulay2/d/mysqldummy-tmp.c M2/Macaulay2/d/mysqldummy.dep M2/Macaulay2/d/mysqldummy.dep.tmp M2/Macaulay2/d/mysqldummy.sig M2/Macaulay2/d/mysqldummy.sig.tmp M2/Macaulay2/d/nets-exports.h M2/Macaulay2/d/nets-exports.h.tmp M2/Macaulay2/d/nets-tmp.c M2/Macaulay2/d/nets.dep M2/Macaulay2/d/nets.dep.tmp M2/Macaulay2/d/nets.sig M2/Macaulay2/d/nets.sig.tmp M2/Macaulay2/d/parse-exports.h M2/Macaulay2/d/parse-exports.h.tmp M2/Macaulay2/d/parse-tmp.c M2/Macaulay2/d/parse.dep M2/Macaulay2/d/parse.dep.tmp M2/Macaulay2/d/parse.sig M2/Macaulay2/d/parse.sig.tmp M2/Macaulay2/d/parser-exports.h M2/Macaulay2/d/parser-exports.h.tmp M2/Macaulay2/d/parser-tmp.c M2/Macaulay2/d/parser.dep M2/Macaulay2/d/parser.dep.tmp M2/Macaulay2/d/parser.sig M2/Macaulay2/d/parser.sig.tmp M2/Macaulay2/d/pthread-exports.h M2/Macaulay2/d/pthread-exports.h.tmp M2/Macaulay2/d/pthread-tmp.c M2/Macaulay2/d/pthread.dep M2/Macaulay2/d/pthread.dep.tmp M2/Macaulay2/d/pthread.sig M2/Macaulay2/d/pthread.sig.tmp M2/Macaulay2/d/pthread0-exports.h M2/Macaulay2/d/pthread0-exports.h.tmp M2/Macaulay2/d/pthread0-tmp.c M2/Macaulay2/d/pthread0.dep M2/Macaulay2/d/pthread0.dep.tmp M2/Macaulay2/d/pthread0.sig M2/Macaulay2/d/pthread0.sig.tmp M2/Macaulay2/d/python-exports.h M2/Macaulay2/d/python-exports.h.tmp M2/Macaulay2/d/python-tmp.c M2/Macaulay2/d/python.dep M2/Macaulay2/d/python.dep.tmp M2/Macaulay2/d/python.sig M2/Macaulay2/d/python.sig.tmp M2/Macaulay2/d/regex-exports.h M2/Macaulay2/d/regex-exports.h.tmp M2/Macaulay2/d/regex-tmp.cc M2/Macaulay2/d/regex.dep M2/Macaulay2/d/regex.dep.tmp M2/Macaulay2/d/regex.sig M2/Macaulay2/d/regex.sig.tmp M2/Macaulay2/d/sets-exports.h M2/Macaulay2/d/sets-exports.h.tmp M2/Macaulay2/d/sets-tmp.cc M2/Macaulay2/d/sets.dep M2/Macaulay2/d/sets.dep.tmp M2/Macaulay2/d/sets.sig M2/Macaulay2/d/sets.sig.tmp M2/Macaulay2/d/startup.c M2/Macaulay2/d/stdio-exports.h M2/Macaulay2/d/stdio-exports.h.tmp M2/Macaulay2/d/stdio-tmp.c M2/Macaulay2/d/stdio.dep M2/Macaulay2/d/stdio.dep.tmp M2/Macaulay2/d/stdio.sig M2/Macaulay2/d/stdio.sig.tmp M2/Macaulay2/d/stdio0-exports.h M2/Macaulay2/d/stdio0-exports.h.tmp M2/Macaulay2/d/stdio0-tmp.c M2/Macaulay2/d/stdio0.dep M2/Macaulay2/d/stdio0.dep.tmp M2/Macaulay2/d/stdio0.sig M2/Macaulay2/d/stdio0.sig.tmp M2/Macaulay2/d/stdiop-exports.h M2/Macaulay2/d/stdiop-exports.h.tmp M2/Macaulay2/d/stdiop-tmp.c M2/Macaulay2/d/stdiop.dep M2/Macaulay2/d/stdiop.dep.tmp M2/Macaulay2/d/stdiop.sig M2/Macaulay2/d/stdiop.sig.tmp M2/Macaulay2/d/stdiop0-exports.h M2/Macaulay2/d/stdiop0-exports.h.tmp M2/Macaulay2/d/stdiop0-tmp.c M2/Macaulay2/d/stdiop0.dep M2/Macaulay2/d/stdiop0.dep.tmp M2/Macaulay2/d/stdiop0.sig M2/Macaulay2/d/stdiop0.sig.tmp M2/Macaulay2/d/strings-exports.h M2/Macaulay2/d/strings-exports.h.tmp M2/Macaulay2/d/strings-tmp.c M2/Macaulay2/d/strings.dep M2/Macaulay2/d/strings.dep.tmp M2/Macaulay2/d/strings.sig M2/Macaulay2/d/strings.sig.tmp M2/Macaulay2/d/strings1-exports.h M2/Macaulay2/d/strings1-exports.h.tmp M2/Macaulay2/d/strings1-tmp.c M2/Macaulay2/d/strings1.dep M2/Macaulay2/d/strings1.dep.tmp M2/Macaulay2/d/strings1.sig M2/Macaulay2/d/strings1.sig.tmp M2/Macaulay2/d/struct-exports.h M2/Macaulay2/d/struct-exports.h.tmp M2/Macaulay2/d/struct-tmp.c M2/Macaulay2/d/struct.dep M2/Macaulay2/d/struct.dep.tmp M2/Macaulay2/d/struct.sig M2/Macaulay2/d/struct.sig.tmp M2/Macaulay2/d/system-exports.h M2/Macaulay2/d/system-exports.h.tmp M2/Macaulay2/d/system-tmp.c M2/Macaulay2/d/system.dep M2/Macaulay2/d/system.dep.tmp M2/Macaulay2/d/system.sig M2/Macaulay2/d/system.sig.tmp M2/Macaulay2/d/texmacs-exports.h M2/Macaulay2/d/texmacs-exports.h.tmp M2/Macaulay2/d/texmacs-tmp.c M2/Macaulay2/d/texmacs.dep M2/Macaulay2/d/texmacs.dep.tmp M2/Macaulay2/d/texmacs.sig M2/Macaulay2/d/texmacs.sig.tmp M2/Macaulay2/d/threads-exports.h M2/Macaulay2/d/threads-exports.h.tmp M2/Macaulay2/d/threads-tmp.cc M2/Macaulay2/d/threads.dep M2/Macaulay2/d/threads.dep.tmp M2/Macaulay2/d/threads.sig M2/Macaulay2/d/threads.sig.tmp M2/Macaulay2/d/tokens-exports.h M2/Macaulay2/d/tokens-exports.h.tmp M2/Macaulay2/d/tokens-tmp.c M2/Macaulay2/d/tokens.dep M2/Macaulay2/d/tokens.dep.tmp M2/Macaulay2/d/tokens.sig M2/Macaulay2/d/tokens.sig.tmp M2/Macaulay2/d/util-exports.h M2/Macaulay2/d/util-exports.h.tmp M2/Macaulay2/d/util-tmp.c M2/Macaulay2/d/util.dep M2/Macaulay2/d/util.dep.tmp M2/Macaulay2/d/util.sig M2/Macaulay2/d/util.sig.tmp M2/Macaulay2/d/vararray-exports.h M2/Macaulay2/d/vararray-exports.h.tmp M2/Macaulay2/d/vararray-tmp.c M2/Macaulay2/d/vararray.dep M2/Macaulay2/d/vararray.dep.tmp M2/Macaulay2/d/vararray.sig M2/Macaulay2/d/vararray.sig.tmp M2/Macaulay2/d/varnets-exports.h M2/Macaulay2/d/varnets-exports.h.tmp M2/Macaulay2/d/varnets-tmp.c M2/Macaulay2/d/varnets.dep M2/Macaulay2/d/varnets.dep.tmp M2/Macaulay2/d/varnets.sig M2/Macaulay2/d/varnets.sig.tmp M2/Macaulay2/d/varstrin-exports.h M2/Macaulay2/d/varstrin-exports.h.tmp M2/Macaulay2/d/varstrin-tmp.c M2/Macaulay2/d/varstrin.dep M2/Macaulay2/d/varstrin.dep.tmp M2/Macaulay2/d/varstrin.sig M2/Macaulay2/d/varstrin.sig.tmp M2/Macaulay2/d/version-exports.h M2/Macaulay2/d/version-exports.h.tmp M2/Macaulay2/d/version-tmp.cc M2/Macaulay2/d/version.dep M2/Macaulay2/d/version.dep.tmp M2/Macaulay2/d/version.sig M2/Macaulay2/d/version.sig.tmp M2/Macaulay2/d/xml-exports.h M2/Macaulay2/d/xml-exports.h.tmp M2/Macaulay2/d/xml-tmp.c M2/Macaulay2/d/xml.dep M2/Macaulay2/d/xml.dep.tmp M2/Macaulay2/d/xml.sig M2/Macaulay2/d/xml.sig.tmp M2/Macaulay2/d/xmlactors-exports.h M2/Macaulay2/d/xmlactors-exports.h.tmp M2/Macaulay2/d/xmlactors-tmp.c M2/Macaulay2/d/xmlactors.dep M2/Macaulay2/d/xmlactors.dep.tmp M2/Macaulay2/d/xmlactors.sig M2/Macaulay2/d/xmlactors.sig.tmp M2/Macaulay2/e/Eschreyer.dep M2/Macaulay2/e/GF.dep M2/Macaulay2/e/LLL.dep M2/Macaulay2/e/M2FreeAlgebra.dep M2/Macaulay2/e/M2FreeAlgebraQuotient.dep M2/Macaulay2/e/Makefile M2/Macaulay2/e/Makefile.common M2/Macaulay2/e/NAG.dep M2/Macaulay2/e/NCAlgebras/FreeAlgebra.dep M2/Macaulay2/e/NCAlgebras/FreeAlgebraQuotient.dep M2/Macaulay2/e/NCAlgebras/FreeMonoid.dep M2/Macaulay2/e/NCAlgebras/NCF4.dep M2/Macaulay2/e/NCAlgebras/NCGroebner.dep M2/Macaulay2/e/NCAlgebras/NCReduction.dep M2/Macaulay2/e/NCAlgebras/OverlapTable.dep M2/Macaulay2/e/NCAlgebras/SuffixTree.dep M2/Macaulay2/e/NCAlgebras/Word.dep M2/Macaulay2/e/NCAlgebras/WordTable.dep M2/Macaulay2/e/NCResolutions/nc-res-computation.dep M2/Macaulay2/e/Polynomial.dep M2/Macaulay2/e/SLP.dep M2/Macaulay2/e/ZZ.dep M2/Macaulay2/e/ZZp.dep M2/Macaulay2/e/aring-CC.dep M2/Macaulay2/e/aring-CCC.dep M2/Macaulay2/e/aring-RR.dep M2/Macaulay2/e/aring-RRR.dep M2/Macaulay2/e/aring-RRi.dep M2/Macaulay2/e/aring-gf-flint-big.dep M2/Macaulay2/e/aring-gf-flint.dep M2/Macaulay2/e/aring-gf-givaro.dep M2/Macaulay2/e/aring-m2-gf.dep M2/Macaulay2/e/aring-qq-flint.dep M2/Macaulay2/e/aring-qq-gmp.dep M2/Macaulay2/e/aring-tower.dep M2/Macaulay2/e/aring-zz-flint.dep M2/Macaulay2/e/aring-zz-gmp.dep M2/Macaulay2/e/aring-zzp-ffpack.dep M2/Macaulay2/e/aring-zzp-flint.dep M2/Macaulay2/e/aring-zzp.dep M2/Macaulay2/e/aring.dep M2/Macaulay2/e/assprime.dep M2/Macaulay2/e/betti.dep M2/Macaulay2/e/bibasis/allocator.dep M2/Macaulay2/e/bibasis/bibasis.dep M2/Macaulay2/e/bibasis/launcher.dep M2/Macaulay2/e/bibasis/monom.dep M2/Macaulay2/e/bibasis/monomDL.dep M2/Macaulay2/e/bibasis/monomDRL.dep M2/Macaulay2/e/bibasis/monomLex.dep M2/Macaulay2/e/bibasis/settings-manager.dep M2/Macaulay2/e/buffer.dep M2/Macaulay2/e/coeffrings.dep M2/Macaulay2/e/comb.dep M2/Macaulay2/e/comp-gb-declared.dep M2/Macaulay2/e/comp-gb-proxy.dep M2/Macaulay2/e/comp-gb.dep M2/Macaulay2/e/comp-res.dep M2/Macaulay2/e/comp.dep M2/Macaulay2/e/complex.dep M2/Macaulay2/e/cra.dep M2/Macaulay2/e/debug.dep M2/Macaulay2/e/det.dep M2/Macaulay2/e/dmat.dep M2/Macaulay2/e/dpoly.dep M2/Macaulay2/e/eigen.dep M2/Macaulay2/e/engine.dep M2/Macaulay2/e/error.dep M2/Macaulay2/e/exptable.dep M2/Macaulay2/e/f4/f4-computation.dep M2/Macaulay2/e/f4/f4-m2-interface.dep M2/Macaulay2/e/f4/f4-mem.dep M2/Macaulay2/e/f4/f4-monlookup.dep M2/Macaulay2/e/f4/f4-spairs.dep M2/Macaulay2/e/f4/f4.dep M2/Macaulay2/e/f4/gausser.dep M2/Macaulay2/e/f4/hilb-fcn.dep M2/Macaulay2/e/f4/monhashtable.dep M2/Macaulay2/e/f4/moninfo.dep M2/Macaulay2/e/f4/ntuple-monomial.dep M2/Macaulay2/e/f4/varpower-monomial.dep M2/Macaulay2/e/finalize.dep M2/Macaulay2/e/fplll-interface.dep M2/Macaulay2/e/frac.dep M2/Macaulay2/e/fractionfreeLU.dep M2/Macaulay2/e/franzi-brp.dep M2/Macaulay2/e/franzi-gb.dep M2/Macaulay2/e/franzi-interface.dep M2/Macaulay2/e/freemod.dep M2/Macaulay2/e/gauss.dep M2/Macaulay2/e/gb-default.dep M2/Macaulay2/e/gb-homog2.dep M2/Macaulay2/e/gb-sugarless.dep M2/Macaulay2/e/gb-test1.dep M2/Macaulay2/e/gb-toric.dep M2/Macaulay2/e/gb-walk.dep M2/Macaulay2/e/gbring.dep M2/Macaulay2/e/gbweight.dep M2/Macaulay2/e/hermite.dep M2/Macaulay2/e/hilb.dep M2/Macaulay2/e/imonorder.dep M2/Macaulay2/e/int-bag.dep M2/Macaulay2/e/intarray.dep M2/Macaulay2/e/interface/aring.dep M2/Macaulay2/e/interface/cra.dep M2/Macaulay2/e/interface/factory.dep M2/Macaulay2/e/interface/flint.dep M2/Macaulay2/e/interface/freemodule.dep M2/Macaulay2/e/interface/groebner.dep M2/Macaulay2/e/interface/matrix.dep M2/Macaulay2/e/interface/monoid.dep M2/Macaulay2/e/interface/monomial-ideal.dep M2/Macaulay2/e/interface/monomial-ordering.dep M2/Macaulay2/e/interface/mutable-matrix.dep M2/Macaulay2/e/interface/polyroots.dep M2/Macaulay2/e/interface/random.dep M2/Macaulay2/e/interface/ring.dep M2/Macaulay2/e/interface/ringelement.dep M2/Macaulay2/e/interface/ringmap.dep M2/Macaulay2/e/interreduce.dep M2/Macaulay2/e/interrupted.dep M2/Macaulay2/e/lapack.dep M2/Macaulay2/e/localring.dep M2/Macaulay2/e/mat.dep M2/Macaulay2/e/matrix-con.dep M2/Macaulay2/e/matrix-kbasis.dep M2/Macaulay2/e/matrix-ncbasis.dep M2/Macaulay2/e/matrix-sort.dep M2/Macaulay2/e/matrix-stream.dep M2/Macaulay2/e/matrix-symm.dep M2/Macaulay2/e/matrix.dep M2/Macaulay2/e/mem.dep M2/Macaulay2/e/memory-status.dep M2/Macaulay2/e/monideal-minprimes.dep M2/Macaulay2/e/monideal.dep M2/Macaulay2/e/monoid.dep M2/Macaulay2/e/monomial-collection.dep M2/Macaulay2/e/monomial-sets.dep M2/Macaulay2/e/monomial.dep M2/Macaulay2/e/monsort.dep M2/Macaulay2/e/montable.dep M2/Macaulay2/e/montableZZ.dep M2/Macaulay2/e/mutablecomplex.dep M2/Macaulay2/e/myalloc.dep M2/Macaulay2/e/ntl-debugio.dep M2/Macaulay2/e/ntl-interface.dep M2/Macaulay2/e/ntl-internal.dep M2/Macaulay2/e/ntuple.dep M2/Macaulay2/e/overflow.dep M2/Macaulay2/e/pfaff.dep M2/Macaulay2/e/poly.dep M2/Macaulay2/e/polyquotient.dep M2/Macaulay2/e/polyring.dep M2/Macaulay2/e/qring.dep M2/Macaulay2/e/reader.dep M2/Macaulay2/e/reducedgb-ZZ.dep M2/Macaulay2/e/reducedgb-field-local.dep M2/Macaulay2/e/reducedgb-field.dep M2/Macaulay2/e/reducedgb-marked.dep M2/Macaulay2/e/reducedgb.dep M2/Macaulay2/e/relem.dep M2/Macaulay2/e/res-a0-poly.dep M2/Macaulay2/e/res-a0.dep M2/Macaulay2/e/res-a1-poly.dep M2/Macaulay2/e/res-a1.dep M2/Macaulay2/e/res-a2-gb.dep M2/Macaulay2/e/res-a2.dep M2/Macaulay2/e/ring-vecs.dep M2/Macaulay2/e/ring.dep M2/Macaulay2/e/ringmap.dep M2/Macaulay2/e/sagbi.dep M2/Macaulay2/e/schorder.dep M2/Macaulay2/e/schreyer-resolution/res-f4-computation.dep M2/Macaulay2/e/schreyer-resolution/res-f4-m2-interface.dep M2/Macaulay2/e/schreyer-resolution/res-f4-monlookup.dep M2/Macaulay2/e/schreyer-resolution/res-f4.dep M2/Macaulay2/e/schreyer-resolution/res-gausser-QQ-hybrid.dep M2/Macaulay2/e/schreyer-resolution/res-gausser-QQ.dep M2/Macaulay2/e/schreyer-resolution/res-gausser-ZZp.dep M2/Macaulay2/e/schreyer-resolution/res-gausser.dep M2/Macaulay2/e/schreyer-resolution/res-moninfo-dense.dep M2/Macaulay2/e/schreyer-resolution/res-moninfo-sparse.dep M2/Macaulay2/e/schreyer-resolution/res-moninfo.dep M2/Macaulay2/e/schreyer-resolution/res-monomial-sorter.dep M2/Macaulay2/e/schreyer-resolution/res-poly-ring.dep M2/Macaulay2/e/schreyer-resolution/res-schreyer-frame.dep M2/Macaulay2/e/schreyer-resolution/res-varpower-monomial.dep M2/Macaulay2/e/schur.dep M2/Macaulay2/e/schur2.dep M2/Macaulay2/e/schurSn.dep M2/Macaulay2/e/skew.dep M2/Macaulay2/e/skewpoly.dep M2/Macaulay2/e/solvable.dep M2/Macaulay2/e/spair.dep M2/Macaulay2/e/table.dep M2/Macaulay2/e/text-io.dep M2/Macaulay2/e/tower.dep M2/Macaulay2/e/unit-tests/Makefile M2/Macaulay2/e/util.dep M2/Macaulay2/e/varpower.dep M2/Macaulay2/e/weylalg.dep M2/Macaulay2/editors/Makefile M2/Macaulay2/html-check-links/Makefile M2/Macaulay2/m2/.gdb-directories M2/Macaulay2/m2/.gdb-files M2/Macaulay2/m2/Makefile M2/Macaulay2/m2/startup.m2 M2/Macaulay2/m2/tvalues.m2 M2/Macaulay2/m2/version.m2 M2/Macaulay2/man/M2.1 M2/Macaulay2/man/Makefile M2/Macaulay2/packages/Macaulay2Doc/examples/_application__Directory.out M2/Macaulay2/packages/Macaulay2Doc/examples/_application__Directory__Suffix.out M2/Macaulay2/packages/Macaulay2Doc/examples/_getenv.out M2/Macaulay2/packages/Macaulay2Doc/examples/_home__Directory.out M2/Macaulay2/packages/Makefile M2/Macaulay2/packages/SCSCP/docinput/Makefile M2/Macaulay2/packages/Style/Makefile M2/Macaulay2/srcdir M2/Macaulay2/system/Makefile M2/Macaulay2/system/m2file.dep M2/Macaulay2/system/supervisor.dep M2/Macaulay2/system/tests.dep M2/Macaulay2/tests/ComputationsBook/Makefile M2/Macaulay2/tests/ComputationsBook/Makefile.chapter M2/Macaulay2/tests/ComputationsBook/completeIntersections/Makefile M2/Macaulay2/tests/ComputationsBook/constructions/Makefile M2/Macaulay2/tests/ComputationsBook/d-modules/Makefile M2/Macaulay2/tests/ComputationsBook/exterior-algebra/Makefile M2/Macaulay2/tests/ComputationsBook/geometry/Makefile M2/Macaulay2/tests/ComputationsBook/monomialIdeals/Makefile M2/Macaulay2/tests/ComputationsBook/preface/Makefile M2/Macaulay2/tests/ComputationsBook/programming/Makefile M2/Macaulay2/tests/ComputationsBook/schemes/Makefile M2/Macaulay2/tests/ComputationsBook/solving/Makefile M2/Macaulay2/tests/ComputationsBook/toricHilbertScheme/Makefile M2/Macaulay2/tests/ComputationsBook/varieties/Makefile M2/Macaulay2/tests/Makefile M2/Macaulay2/tests/Makefile.test M2/Macaulay2/tests/engine/Makefile M2/Macaulay2/tests/gigantic/Makefile M2/Macaulay2/tests/goals/Makefile M2/Macaulay2/tests/normal/Makefile M2/Macaulay2/tests/quarantine/Makefile M2/Macaulay2/tests/rationality/Makefile M2/Macaulay2/tests/slow/Makefile M2/Macaulay2/tests/threads/Makefile M2/Macaulay2/util/Makefile M2/check-configure/Makefile M2/config.args M2/config.log M2/config.status M2/distributions/Makefile M2/distributions/deb/Makefile M2/distributions/deb/macaulay2-common/postinst M2/distributions/deb/macaulay2-common/postrm M2/distributions/deb/macaulay2-common/preinst M2/distributions/deb/macaulay2-common/prerm M2/distributions/deb/macaulay2/postinst M2/distributions/deb/macaulay2/postrm M2/distributions/deb/macaulay2/preinst M2/distributions/deb/macaulay2/prerm M2/distributions/dmg/Makefile M2/distributions/freebsd/Makefile M2/distributions/freebsd/post-deinstall M2/distributions/freebsd/post-install M2/distributions/install/Makefile M2/distributions/rpm/Macaulay2-body.spec M2/distributions/rpm/Macaulay2-common-body.spec M2/distributions/rpm/Makefile M2/distributions/tar/Makefile M2/distributions/top/INSTALL M2/distributions/top/Makefile M2/distributions/top/postinstall M2/distributions/top/preremove M2/include/M2/config.h M2/include/config.Makefile M2/include/configuration M2/libraries/4ti2/Makefile M2/libraries/M2/Makefile M2/libraries/Makefile M2/libraries/Makefile.library M2/libraries/atomic_ops/Makefile M2/libraries/cddlib/Makefile M2/libraries/cddplus/Makefile M2/libraries/cohomcalg/Makefile M2/libraries/csdp/Makefile M2/libraries/factory/Makefile M2/libraries/fflas_ffpack/Makefile M2/libraries/flint/Makefile M2/libraries/fplll/Makefile M2/libraries/frobby/Makefile M2/libraries/gc/Makefile M2/libraries/gdbm/Makefile M2/libraries/gfan/Makefile M2/libraries/gftables/Makefile M2/libraries/givaro/Makefile M2/libraries/glpk/Makefile M2/libraries/gmp/Makefile M2/libraries/gtest/Makefile M2/libraries/lapack/Makefile M2/libraries/libtool/Makefile M2/libraries/linbox/Makefile M2/libraries/lrslib/Makefile M2/libraries/mpfi/Makefile M2/libraries/mpfr/Makefile M2/libraries/mpir/Makefile M2/libraries/mpsolve/Makefile M2/libraries/nauty/Makefile M2/libraries/normaliz/Makefile M2/libraries/ntl/Makefile M2/libraries/pari/Makefile M2/libraries/polymake/Makefile M2/libraries/readline/Makefile M2/libraries/topcom/Makefile M2/srcdir 
	rm -f M2/Macaulay2/html-check-links/html-check-links

override_dh_installinfo:
	echo documentation disabled
