################################################################################ # # File: $Id$ # # 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