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 main paper parameters. These may be specified in a separate include
# file if desired (just uncomment the include line below and insert the appropriate
# path; no need to comment the variables).
# THESE MUST BE DEFINED!
#
# include path/to/variables/makefile
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)
PAPER_YEAR?=$(error The required variable PAPER_YEAR has not been defined. Please set it to the correct value for this paper)
PAPER_PERIOD?=$(error The required variable PAPER_PERIOD 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. Uncomment DRAFT to set draft mode in LaTeX.
# Set the values of FONT_SIZE and PAPER_SIZE to appropriate LaTeX values if
# you want something other than the defaults (12pt, a4paper). Use LATEX_OPTS
# (comma-separated list) for any document class options that you want to set
# /other than/ draft, font size and paper size.
#
#DRAFT=draft
#FONT_SIZE=
#PAPER_SIZE=
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=

#
# Uncomment the following to enable Unicode mode. This forces use of XHTML,
# Xe(La)TeX, etc. The value of the variable is irrelevant, it just need to be
# defined.
#
# UNICODE=on


################################################################################
#
# 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