diff --git a/Makefile b/Makefile index 12ed544121c0a6b74b96ad298cc26aa250140cb3..19bc840b4b4776f598351c00b78e4dc8cb52ad68 100644 --- a/Makefile +++ b/Makefile @@ -1,33 +1,34 @@ # Makefile for Latex project - NAME = test LATEX = pdflatex BIBTEX = biber +SUBDIRS= img plt OUTDIR = build -TEX_FLAGS = -file-line-error -interaction=nonstopmode -include-directory=.\src -quiet -SUB_TEX_FILES = $(wildcard img/*.tex) $(wildcard plt/*.tex) -SUB_PDF_FILES = $(join $(dir $(SUB_TEX_FILES)),$(addprefix $(OUTDIR)/,$(notdir $(SUB_TEX_FILES:tex=pdf)))) - +TEX_FLAGS = -file-line-error -interaction=nonstopmode +COM_FLAGS = -output-directory=build -quiet GARBAGE_PATTERNS = *.aux *.bbl *.bcf *.blg *.idx *.ind *.lof *.lot *.log *.xml *.toc + +SUB_TEX_FILES = $(foreach D,$(SUBDIRS),$(wildcard $(D)/*.tex)) +SUB_PDF_FILES = $(join $(dir $(SUB_TEX_FILES)),$(addprefix $(OUTDIR)/,$(notdir $(SUB_TEX_FILES:tex=pdf)))) GARBAGE = $(foreach D,. $(SUBDIRS), $(wildcard $(addprefix $(D)/$(OUTDIR)/,$(GARBAGE_PATTERNS)))) export TEXINPUTS:=$(CURDIR)\src all: bib - $(LATEX) -output-directory=$(OUTDIR) $(TEX_FLAGS) $(NAME).tex - $(LATEX) -synctex=1 -output-directory=$(OUTDIR) $(TEX_FLAGS) $(NAME).tex + $(LATEX) $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex + $(LATEX) -synctex=1 $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex + copy /Y $(OUTDIR)\$(NAME).pdf .\ pdf: $(SUB_PDF_FILES) - $(LATEX) -synctex=1 -output-directory=$(OUTDIR) $(TEX_FLAGS) $(NAME).tex - copy /Y $(OUTDIR)\$(NAME).pdf .\ + $(LATEX) -synctex=1 $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex bib: pdf $(OUTDIR)\$(NAME).bcf - $(BIBTEX) -output-directory $(OUTDIR) $(NAME) + $(BIBTEX) $(COM_FLAGS) $(NAME) $(SUB_PDF_FILES): $(SUB_TEX_FILES) - $(LATEX) -output-directory=$(dir $@) $(TEX_FLAGS) $(subst build/,$(notdir $(@:pdf=tex)),$(dir $@)) + cd $(subst build/,,$(dir $@)) && $(LATEX) $(TEX_FLAGS) $(COM_FLAGS) $(notdir $(@:pdf=tex)) clean: tidy