Skip to content
Snippets Groups Projects
Select Git revision
  • 2a740f3d926dd61509fb48eb75f130b379fe9fec
  • master default protected
  • hsh_v3.11
  • hsh_v3.10-r6
  • hsh_v3.10-r3
  • v3.9-r9
  • v3.10-r6
  • v3.9-r8
  • v3.10-r5
  • v3.9-r7
  • v3.10-r4
  • v3.9-r6
  • v3.10-r3
  • v3.9-r5
  • v3.10-r2
  • v3.9-r4
  • v3.10-r1
  • v3.9-r3
  • v3.9-r2
  • v3.9-r1
  • v3.8-r5
  • v3.8-r4
  • v3.8-r3
  • v3.8-r2
  • v3.8-r1
25 results

CHANGES.md

Blame
  • To find the state of this project's repository at the time of any of these versions, check out the tags.
    Makefile 2.02 KiB
    # Makefile for Latex project
    NAME = test
    LATEX = pdflatex
    BIBTEX = biber
    
    SUBDIRS = svg plt crc
    OUTDIR = build
    TEX_FLAGS = -file-line-error -interaction=nonstopmode
    COM_FLAGS = -output-directory=$(OUTDIR) -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))))
    SUB_SVG_FILES = $(foreach D,$(SUBDIRS),$(wildcard $(D)/*.svg))
    SUB_PDF_TEX_FILES = $(join $(dir $(SUB_SVG_FILES)),$(addprefix $(OUTDIR)/,$(notdir $(SUB_SVG_FILES:svg=pdf))))
    GARBAGE = $(foreach D,. $(SUBDIRS), $(wildcard $(addprefix $(D)/$(OUTDIR)/,$(GARBAGE_PATTERNS))))
    
    
    export TEXINPUTS:=$(CURDIR)\src
    
    all: bib
    	$(LATEX) $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex
    	$(LATEX) -synctex=1 $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex
    	copy /Y $(OUTDIR)\$(NAME).pdf .\
    
    bib: $(NAME).pdf $(OUTDIR)\$(NAME).bcf
    	$(BIBTEX) $(COM_FLAGS) $(NAME)
    
    $(OUTDIR)\$(NAME).bcf:
    	$(LATEX) -synctex=1 $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex
    
    pdf: $(NAME).pdf
    
    $(NAME).pdf: $(NAME).tex $(SUB_PDF_FILES) $(SUB_PDF_TEX_FILES)
    	$(LATEX) -synctex=1 $(TEX_FLAGS) $(COM_FLAGS) $(NAME).tex
    
    $(SUB_PDF_FILES): $(SUB_TEX_FILES)
    	cd $(subst $(OUTDIR)/,,$(dir $@)) && $(LATEX) $(TEX_FLAGS) $(COM_FLAGS) $(notdir $(@:pdf=tex))
    
    $(SUB_PDF_TEX_FILES): $(SUB_SVG_FILES)
    	cd $(subst $(OUTDIR)/,,$(dir $@)) && inkscape -C --export-latex $(notdir $(@:pdf=svg)) -o $(and $(OUTDIR),$(OUTDIR)\)$(notdir $@)
    
    
    clean: tidy
    	for %%a in ($(foreach D,$(subst /,\,$(SUB_PDF_FILES) $(SUB_PDF_TEX_FILES)) $(subst pdf,synctex.gz,$(subst /,\,$(SUB_PDF_FILES))) $(subst pdf,pdf_tex,$(subst /,\,$(SUB_PDF_TEX_FILES))) $(OUTDIR)\$(NAME).pdf $(OUTDIR)\$(NAME).synctex.gz, "$(D)")) do if exist %%~a del /q %%~a
    	for %%a in ($(foreach D,. $(SUBDIRS),"$(D)\$(if $(subst .,,$(OUTDIR)),$(OUTDIR),build)")) do if exist %%~a rmdir /s /q %%~a
    #	if exist $(NAME).pdf del $(NAME).pdf
    
    tidy:
    	if exist $(or $(word 1, $(subst /,\,$(GARBAGE))), false) del /q $(subst /,\,$(GARBAGE))