# name of latex document
MAINDOC := diff_rendering

# latex source file
TEXSRC := diff_rendering.tex $(wildcard *.tex)
BIBSRC := $(wildcard *.bib)

ifneq ($(strip $(BIBSRC)),)
BBLSRC := $(MAINDOC).bbl
endif

# latex program
TEX      := latex
PDFLATEX := pdflatex
BIB      := bibtex

# flags
TEX_FLAGS :=
PDF_FLAGS :=
BIB_FLAGS :=

#=====================================================#
# Display Codes (this is so we can track passes)
#=====================================================#
MOVE_TO_COL	= @echo  "\\033[60G"
SETCOLOR_RED 	= @echo  "\\033[0;31m"
SETCOLOR_GREEN 	= @echo  "\\033[0;32m"
SETCOLOR_BLUE	= @echo  "\\033[0;34m"
SETCOLOR_BACK	= @echo  "\\033[0m"

all: $(MAINDOC).pdf

pdf: $(MAINDOC).pdf

dvi: $(MAINDOC).dvi

full: $(BBLSRC) $(TEXSRC)
	@$(PDFLATEX) $(PDF_FLAGS) $(MAINDOC)
	$(SETCOLOR_GREEN)
	@echo "=========================FINAL PASS=============================="
	$(SETCOLOR_BACK)
	@$(PDFLATEX) $(PDF_FLAGS) $(MAINDOC)


%.dvi : %.aux
	$(SETCOLOR_BLUE)
	@echo "=========================AUX -> DVI PASS=============================="
	$(SETCOLOR_BACK)
	@$(TEX) $(TEX_FLAGS) $(*F)
	
$(MAINDOC).bbl : $(BIBSRC) $(TEXSRC) 
ifneq ($(strip $(BIBSRC)),)
	$(SETCOLOR_GREEN)
	@echo "=========================LaTeX PASS=============================="
	$(SETCOLOR_BACK)
	$(PDFLATEX) $(TEX_FLAGS) $(MAINDOC)
	$(SETCOLOR_GREEN)
	@echo "=========================BibTex PASS=============================="
	$(SETCOLOR_BACK)
	@$(BIB) $(BIB_FLAGS) $(MAINDOC)
endif

$(MAINDOC).pdf : $(TEXSRC)
	$(SETCOLOR_GREEN)
	@echo "=========================SINGLE PASS=============================="
	$(SETCOLOR_BACK)
	@$(PDFLATEX) $(PDF_FLAGS) $(MAINDOC)

.PHONY: all clean

clean:
	-$(RM) *.aux *.pdf *.bbl *.blg *.log
