Newer
Older
# This is a document-specific Makefile. Matters that are specific to
# this doc can be put here. More general LaTeX building targets can
# go in OTS_DOCTOOLS_DIR/Makefile, which this one calls.
# By default, we build all .ltx files in this dir
SOURCE=$(wildcard *.ltx)
TARGETS=$(SOURCE:.ltx=.pdf)
### Try to find ots-doctools directory. We look in the current dir, then
### for a $OTS_DOCTOOLS_DIR environment variable, then $OTS_DIR/forms/latex,
### then ~/OTS/forms/latex, then /usr/local/src/ots-doctools
# If there's a local ots-doctools dir, use it
ifneq ("$(wildcard ots-doctools)","")
OTS_DOCTOOLS_DIR = ots-doctools
else
# Otherwise maybe one's defined in the environment
ifneq ("$(wildcard $(OTS_DIR)/forms/latex)","")
OTS_DOCTOOLS_DIR = "$(OTS_DIR)/forms/latex"
else
ifneq ("$(wildcard ~/OTS/forms/latex)","")
OTS_DOCTOOLS_DIR = "~/OTS/forms/latex"
ifneq ("$(wildcard /usr/local/src/ots-doctools)","")
OTS_DOCTOOLS_DIR = "/usr/local/src/ots-doctools"
endif
endif
endif
endif
endif
# If we didn't find the OTS Latex stuff, grab it from GitHub
ifndef OTS_DOCTOOLS_DIR
#$(error Cannot find ots-doctools materials. Please install ots-doctools, set OTS_DOCTOOLS_DIR, and/or put ots-doctools in this directory.)
$(shell git submodule add https://github.com/OpenTechStrategies/ots-doctools)
OTS_DOCTOOLS_DIR=ots-doctools
endif
all: DEPS ${TARGETS}
# Handle OTS dependencies
.PHONY: DEPS
DEPS: otsreport.cls ots.sty otslogo.pdf
otsreport.cls: $(OTS_DOCTOOLS_DIR)/otsreport.cls
ln -s $(OTS_DOCTOOLS_DIR)/otsreport.cls
ots.sty: $(OTS_DOCTOOLS_DIR)/ots.sty
ln -s $(OTS_DOCTOOLS_DIR)/ots.sty
otslogo.pdf: $(OTS_DOCTOOLS_DIR)/otslogo.pdf
ln -s $(OTS_DOCTOOLS_DIR)/otslogo.pdf
# Use the ots-doctools Makefile to turn .ltx into .pdf files
$(MAKE) -f ${OTS_DOCTOOLS_DIR}/Makefile $@
clean:
rm -f otsreport.cls ots.sty otslogo.pdf
@# Delete PDFs that we do not care enough about to check into the repo
@$(foreach x,${TARGETS}, git status -s ${x} | grep -q "M ${x}" || rm -f ${x};)
$(MAKE) -f ${OTS_DOCTOOLS_DIR}/Makefile clean
@# Remove ots-doctools submodule
git submodule deinit -f ots-doctools
rm -rf .git/modules/ots-doctools
git rm -f ots-doctools