65 lines
2.0 KiB
Makefile
65 lines
2.0 KiB
Makefile
# ============================================================
|
|
# Makefile for Operational-Premise Taxonomy (OPT)
|
|
# Builds: arXiv (article), IEEE, ACM, Kaobook
|
|
# Author: Wesley R. Elsberry
|
|
# ============================================================
|
|
|
|
LATEXMK := $(shell command -v latexmk 2>/dev/null)
|
|
PDFLATEX := pdflatex
|
|
BIBTEX := bibtex
|
|
|
|
ARXIV = main
|
|
IEEE = main_ieee
|
|
ACM = main_acm
|
|
KAO = main_kaobook
|
|
|
|
ALLPDF = $(ARXIV).pdf $(IEEE).pdf $(ACM).pdf $(KAO).pdf
|
|
|
|
.PHONY: all arxiv ieee acm kaobook clean distclean help
|
|
|
|
# ------------------------------------------------------------
|
|
# Top-level build targets
|
|
# ------------------------------------------------------------
|
|
all: $(ALLPDF)
|
|
|
|
arxiv: $(ARXIV).pdf
|
|
ieee: $(IEEE).pdf
|
|
acm: $(ACM).pdf
|
|
kaobook: $(KAO).pdf
|
|
|
|
# ------------------------------------------------------------
|
|
# Pattern rule for building PDFs
|
|
# ------------------------------------------------------------
|
|
ifeq ($(LATEXMK),)
|
|
# --- Fallback to manual build sequence
|
|
%.pdf: %.tex references.bib
|
|
$(PDFLATEX) -interaction=nonstopmode $*
|
|
$(BIBTEX) $* || true
|
|
$(PDFLATEX) -interaction=nonstopmode $*
|
|
$(PDFLATEX) -interaction=nonstopmode $*
|
|
else
|
|
# --- Preferred build with latexmk
|
|
%.pdf: %.tex references.bib
|
|
latexmk -pdf -interaction=nonstopmode -halt-on-error $<
|
|
endif
|
|
|
|
# ------------------------------------------------------------
|
|
# Cleanup targets
|
|
# ------------------------------------------------------------
|
|
clean:
|
|
@rm -f *.aux *.bbl *.blg *.log *.out *.toc *.lof *.lot *.nav *.snm *.fls \
|
|
*.fdb_latexmk *.run.xml *.bcf *.synctex.gz *.tdo *.dvi *.ps
|
|
|
|
distclean: clean
|
|
@rm -f $(ALLPDF)
|
|
|
|
help:
|
|
@echo "Usage:"
|
|
@echo " make all # build all versions (default)"
|
|
@echo " make arxiv # build main.pdf (arXiv/preprint)"
|
|
@echo " make ieee # build main_ieee.pdf"
|
|
@echo " make acm # build main_acm.pdf"
|
|
@echo " make kaobook # build main_kaobook.pdf"
|
|
@echo " make clean # remove aux files"
|
|
@echo " make distclean # remove aux + PDFs"
|