Newer
Older
Handbook / makefile-templates / Makefile.lecture
################################################################################
#
# Template makefile for building a set of lecture files.
#
################################################################################


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))
#
# HANDBOOK_INSTALL_ROOT
#	This variable specifies the path to the top level directory on the web
#	server, under which the files for this paper will be installed (that is,
#	the directory that contains the individual paper directory hierarchies).
#	For example, \\INFO-NTS-12\DBCourses$ (this may require munging).
#
HANDBOOK_INSTALL_ROOT?=$(error The required environment variable HANDBOOK_INSTALL_ROOT has not been defined. It should point to the root level of the directory hierarchy on the web server (e.g., \\INFO-NTS-12\DBCourses$))


################################################################################
#
# 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 .pu .ipu
#
# .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)
#
# There's nothing to stop you adding new paths for these file types.
#
# vpath foo bar


################################################################################
#
# Specify the current lecture chapter number. THIS MUST BE DEFINED!
# Set it to whatever you like if you don't use it (see below).
#
CHAPTER?=$(error The required variable CHAPTER has not been defined. Please set it to the correct chapter number for this set of lectures)


################################################################################
#
# Specify the 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 subject code for this set of lectures)
PAPER_NUMBER?=$(error The required variable PAPER_NUMBER has not been defined. Please set it to the correct paper number for this set of lectures)


################################################################################
#
# Directory to install files into on web server. This is .../Lectures/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)/Lectures/$(BUILD_DIR)


################################################################################
#
# Uncomment any of the following to prevent a particular document from
# being built. This is necessary if, for example, the current set of
# lectures has no figures and examples.
#
# Alternatively, you can use this to set the base name of the source and target
# files if this is a one-off lecture that doesn't fall into the standard
# chapter convention, or you don't want to use the chapter number in the
# filenames. (Set CHAPTER above to whatever you like if you don't use it.)
#
# SLIDES=
# FIGURES=
# COMBINED=
# NOTES=


################################################################################
#
# Standard file list variables.
#
# List of images used in the presentation as actual content.
#
SLIDE_IMAGES=

#
# List of other files used in the presentation as actual content.
# We assume that shared infrastructure files are in the parent directory;
# modify as necessary.
#
SLIDE_FILES=../../paper_init.tex chapter_init.tex

#
# List of images used in the presentation as backgrounds or watermarks.
#
SLIDE_BACKGROUNDS=

#
# List of images used in the figures and examples document.
#
FIG_IMAGES=

#
# List of other files used in the figures and examples document.
#
FIG_FILES=../../paper_init.tex chapter_init.tex

#
# List of images used in the combined lecture material document.
#
COMBI_IMAGES=

#
# List of other files used in the combined lecture material document.
#
COMBI_FILES=../../paper_init.tex chapter_init.tex

#
# List of files other than the standard ones (slides, figures, combined)
# to be installed on the web server. By default, install the following
# files: $(SLIDES).pdf, $(COMBINED).pdf, $(FIGURES).pdf, 
# $(FIGURES)-reduced.pdf. This can include files in subdirectories
# (e.g., foo/bar.pdf), but the subdirectories themselves will not be
# created at the other end (i.e., the directory structure will be
# flattened).
#
INSTALL_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 *.vrb _minted* \
# 	slides-combined.pdf slides-notes.pdf
# CLEAN_FILES=*.aux *.pdf
#
# $(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).
#
LATEX_OPTS=

#
# List of "phony" build targets (remember to define rules for
# them!). The "standard" list is currently:
# all slides notes slides-combined slides-notes figures combined
# debug test clean tidy targets
#
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 lectures.
#
include $(GLOBAL_HANDBOOK_INCLUDE)/build_lecture_rules.make


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