Newer
Older
Handbook / makefile-templates / Makefile.misc
################################################################################
#
# Template makefile for building a general document.
#
################################################################################


SHELL = /bin/sh


################################################################################
#
# Required Environment Variables
#
# TEACHING_SHARED
#	This variable specifies the path to the top level of the teaching
#	shared directory hierarchy (e.g., /path/to/Teaching/Shared).
#
TEACHING_SHARED?=$(error The required environment variable TEACHING_SHARED has not been defined. It should point to the root level of the shared teaching directory (e.g., /path/to/Teaching/Shared))


################################################################################
#
# Set up paths to makefile include directories.
#
# GLOBAL_HANDBOOK_INCLUDE is the global include directory in the "Shared"
# hierarchy, and is defined relative to the root of that hierarchy.
#
GLOBAL_HANDBOOK_INCLUDE?=$(TEACHING_SHARED)/Authoring/Handbook/make-includes


################################################################################
#
# Include local system-specific configuration.
#
include $(GLOBAL_HANDBOOK_INCLUDE)/local_configuration.make


################################################################################
#
# Clear out the suffixes list. DO NOT ALTER THIS LINE!
#
.SUFFIXES:
#
# Add any custom suffixes here (uncomment the line below).
# The "standard" suffixes list currently includes:
# .svg .pdf .tex .dvi .png .tif .plo .jpg .pict .eps .ps .R .xml
#
# .SUFFIXES: 


################################################################################
#
# Define paths for various items here. The "standard" paths currently include:
#
# vpath %.pdf $(IMGDIR)
# vpath %.png $(IMGDIR)
# vpath %.tif $(IMGDIR)
# vpath %.jpg $(IMGDIR)
# vpath %.plo $(IMGDIR)
# vpath %.ps $(IMGDIR)
# vpath %.eps $(IMGDIR)
# vpath %.svg $(IMGDIR)
# vpath %.pict $(IMGDIR)
# vpath %.R $(IMGDIR)
#
# There's nothing to stop you adding new paths for these file types.
#
# vpath foo bar


################################################################################
#
# Specify the current subject code and paper number.
# THESE MUST BE DEFINED!
#
SUBJECT_CODE?=$(error The required variable SUBJECT_CODE has not been defined. Please set it to the correct value for this paper)
PAPER_NUMBER?=$(error The required variable PAPER_NUMBER has not been defined. Please set it to the correct value for this paper)


################################################################################
#
# Specify the base name(s) for the document source file(s). It may be a list.
# THIS MUST BE DEFINED!
#
BASE_NAMES?=$(error The required variable BASE_NAME has not been defined. Please set it to the base name(s) of the document source file(s))


################################################################################
#
# Directory to install files into on web server. This is (usually) .../Misc/name of
# build directory, to avoid similarly-named files overwriting each other.
#
BUILD_DIR:=$(lastword $(subst /, ,$(CURDIR)))
INSTALL_DIRECTORY:=$(HANDBOOK_INSTALL_ROOT)/$(SUBJECT_CODE)$(PAPER_NUMBER)/Misc/$(BUILD_DIR)


################################################################################
#
# Does this document have questions with associated answers that can be
# shown or hidden? Define this variable (any value) to enable the targets
# for this. Note that setting this will generate "questions" and "answers"
# output for ALL targets, regardless of whether this is actually relevant.
# This already happens with the handbooks anyway, so no real problem :)
# You can always add the redundant files to the TIDY_FILES variable.
#
HAS_ANSWERS=


################################################################################
#
# Standard file list variables.
# Note that anything included in any of these variables (particularly the
# FILES variables) will cause ALL of the relevant print or web targets to
# be rebuilt, regardless of whether they are actually prerequisites. This
# can be slightly annoying if some of the files are only relevant to one
# target. To avoid this effect, define a custom rule at the bottom of
# this file.
#
# List of images used in the print version as actual content.
#
PRINT_IMAGES=

#
# List of other files used in the print version as actual content.
#
PRINT_FILES=

#
# List of images used in the web version as actual content.
#
WEB_IMAGES=

#
# List of other files used in the web version as actual content.
#
WEB_FILES=

#
# Files to be cleaned by the various "clean" targets. The "standard" values
# are currently:
# TIDY_FILES=*.tmp *.out *.log *.nav *.toc *.snm *.head *.dvi \
#	*-derived.xml $(derived .tex files)
# CLEAN_FILES=*.aux $(IMGDIR)/*-print.pdf $(IMGDIR)/*-print.png \
#	$(IMGDIR)/*-web.png $(IMGDIR)/*-web-zoom.png \
#	$(derived HTML files) $(derived PDF files)
#
# $(TIDY_FILES) is a list of generated intermediate files to clean up.
#
TIDY_FILES=
#
# $(CLEAN_FILES) is everything else that might need to be cleaned up.
#
CLEAN_FILES=


################################################################################
#
# Specify LaTeX document options (comma-separated list). The "standard"
# value is currently: pdftex,usepdftitle=false,$(DRAFT).If you want to
# override the "standard" options, redefine this variable after the
# include line just below.
#
LATEX_OPTS=

#
# List of "phony" build targets (remember to define rules for
# them!). The "standard" list is currently:
# all debug test clean tidy targets web print print2up
#
TARGETS=


################################################################################
#
# Add custom variables below here as necessary.
#


################################################################################
#
# Include standard variables and rules for building miscellaneous documents.
#
include $(GLOBAL_HANDBOOK_INCLUDE)/build_misc_rules.make


################################################################################
#
# Add custom rules below here as necessary.
#
# If a custom rule has the same target and prerequisite as a default rule,
# it overrides the default rule. If you want to replace it with a similar
# but different target and prerequisite, cancel the existing rule first,
# e.g.:
#
#	%.foo : %.bar