org-mode-poster/Makefile~

91 lines
1.9 KiB
Makefile

# This is the Makefile
#
# 4/2/18, PH
# project name
PROJ = org-mode-poster
#####################################
# Usually no edits below this line
#####################################
# Output directory
# Source directory
SRC = src
# External
EXT = ext
# directory for additional pdf files
LIB = lib
POSTER = $(SRC)/$(PROJ)_poster.pdf
# executables
RM = rm -Rf
TEX = xelatex -interaction nonstopmode -shell-escape
BIBTEX = bibtex
EMACSINIT = $(EXT)/$(PROJ)_dotemacs
EMACS = emacs -l ../$(EMACSINIT)
EMACSMSARGS = --batch -f org-latex-export-to-latex --kill
EMACSPARGS = --batch -f org-beamer-export-to-latex --kill
VIEWBIN = pdfview
PDFMERGEBIN = ext/pdfmerge
CPBIN = cp
MKDIRBIN = mkdir
# list org files
ORGFILES = $(SRC)/$(PROJ)_poster.org
# list tex files
TEXFILES = $(ORGFILES:$(SRC)/$(PROJ)_poster.org=$(SRC)/$(PROJ)_poster.tex)
# list additional library files
PDFLIB = $(wildcard $(LIB)/$(PROJ)*.*)
# indicator files to show tex has run
TEXOUTFILES = $(TEXFILES:$(SRC)/%.tex=$(SRC)/%.aux)
# replace tex with pdf to get pdf tex files
PDFTEXFILES = $(TEXOUTFILES:$(SRC)/%.aux=$(SRC)/%.pdf)
# Rule for $(TEXFILES)
# Convert every org file to LaTeX this is done from within the subfolder
# so be careful with relative paths
$(SRC)/%.tex: $(SRC)/%.org $(PDFLIB)
@if [ "$(notdir $<)" = "$(PROJ)_poster.org" ]; then \
echo "Exporting poster from org to LaTeX" \
&& cd $(SRC) && $(EMACS) $(PROJ)_poster.org $(EMACSPARGS); \
fi
# Rule for $(TEXOUTFILES)
# Run every tex file this is done from within the subfolder so be
# careful with relative paths
$(SRC)/%.aux: $(SRC)/%.tex $(PDFLIB)
cd $(SRC) && $(TEX) $(notdir $<)
cd $(SRC) && $(TEX) $(notdir $<)
# Default entry
all: poster
# make poster
poster: tex
# run tex files
tex: $(TEXOUTFILES) $(TEXFILES)
viewposter: poster
pdfview $(POSTER)
.PHONY: clean texclean Rclean
clean: texclean
texclean:
$(RM) $(TEXOUT)/$(PROJ)*.tex
$(RM) $(TEXOUT)/$(PROJ)*.aux
test:
@echo $(TEXFILES)