41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| default: pdf
 | |
| 
 | |
| # Constants.
 | |
| rootname = main
 | |
| rootfile = src/$(rootname).tex
 | |
| outdir = build
 | |
| outfile = $(outdir)/$(rootname).pdf
 | |
| 
 | |
| # Compression with ghostscript.
 | |
| compress = gs -sDEVICE=pdfwrite -dPDFSETTINGS=/$(1) -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$(outdir)/$(rootname)-$(1).pdf $(outfile)
 | |
| 
 | |
| # Latex command to build pdf file.
 | |
| latexmk = TEXINPUTS=.:./tlsflyleaf/:./src/: latexmk -lualatex -f -latexoption=-shell-escape -interaction=nonstopmode $<  -outdir=$(outdir) $(1) $(rootfile)
 | |
| 
 | |
| # Build PDF version adapted to printers.
 | |
| printer: pdf
 | |
| 	$(call compress,printer)
 | |
| 
 | |
| # Build PDF version adapted to screens.
 | |
| screen: pdf
 | |
| 	$(call compress,screen)
 | |
| 
 | |
| # Build PDF version of the thesis manuscript.
 | |
| pdf: $(rootfile)
 | |
| 	$(call latexmk)
 | |
| 
 | |
| # Watch and automatically recompile when a file changes.
 | |
| watch: $(rootfile)
 | |
| 	$(call latexmk,-pvc -view=none)
 | |
| 
 | |
| # Remove intermediate build artifacts.
 | |
| clean:
 | |
| 	latexmk -c -outdir=$(outdir) $(rootfile)
 | |
| 
 | |
| # Remove all build artifacts.
 | |
| clean-all:
 | |
| 	rm -rf $(outdir)
 | |
| 
 | |
| # Phony targets will always trigger a re-run.
 | |
| .PHONY: clean-all clean watch pdf
 |