+# Compile a list of raw source code listings (*.listing) and their
+# associated output files (*.py) that will be tested by check-sage.
+SAGE_LISTING_SRCS = $(wildcard sage_listings/*.listing)
+SAGE_LISTING_DSTS = $(patsubst %.listing,%.py,$(SAGE_LISTING_SRCS))
+
+# A space-separated list of indices (just their names). Usually you'll
+# have just one, and it will be named the same thing as your document,
+# because that's what the makeidx package does.
+#
+# Leave commented if you don't use an index.
+#
+INDICES = $(PN)
+
+# We have to rebuild the index whenever the contents of the document
+# change, because page numbers get moved around. But when no INDICES
+# are defined, rebuilding them should be a no-op. This next definition
+# ensures that.
+ifdef INDICES
+REMAKE_INDICES = makeindex $(INDEX_SRCS)
+else
+REMAKE_INDICES = true
+endif
+