####################################
# Author: Christos Faloutsos
# Date: March 2018 - May 2026
####################################

# supports style-files for popular venues,
# like KDD, NeurIPS, IEEE

MAIN_ARTICLE=paper_article
MAIN_ACMART=paper_acmart
MAIN_NEURIPS=paper_neurips
MAIN_IEEE=paper_ieee

# add more preambles, as needed - for ieee, for neurips etc
MAIN_ALL_tex=$(MAIN_ARTICLE).tex	\
			 $(MAIN_ACMART).tex		\
			 $(MAIN_NEURIPS).tex	\
			 $(MAIN_IEEE).tex

# default: original - 'article' format
MAIN=$(MAIN_ARTICLE)

# suffix for the 'clean' version
FINAL=$(MAIN)_final

# prefix for publishing it on my web cite
META=faloutsos_MetaPaper_v15

PUBLIC_DIR='christos@mcfarland.db.cs.cmu.edu:~/www/MetaPaper'

TEXPARTS=				\
    000abstract.tex		\
    010introduction.tex	\
    020background.tex	\
    030method.tex		\
    040experiment.tex	\
    050discussion.tex	\
    060conclusion.tex	\
    070appendix.tex		\
    080listOfToDo.tex	\
	paper_body.tex		\
	packages.tex		\
    dfn.tex

BIBPARTS= BIB/*.bib BIB/catbib.bash BIB/README.md
FIGPARTS= FIG/*.png FIG-TIKZ/*.tex
STYPARTS= neurips_2026.sty
OTHER= mkfinal.pl makefile README.md try_make_all.bash checklist.tex
ALL= $(MAIN_ALL_tex) $(TEXPARTS) $(BIBPARTS) $(FIGPARTS) $(STYPARTS) $(OTHER)

demo: pdf

tst: run_all

$(MAIN).pdf: $(MAIN).tex $(TEXPARTS) 
	pdflatex $(MAIN).tex
	bibtex $(MAIN)
	pdflatex $(MAIN).tex
	pdflatex $(MAIN).tex

pdf: $(MAIN).pdf

final: $(FINAL).pdf

$(FINAL).pdf: $(MAIN).tex mkfinal.pl
	perl mkfinal.pl $(MAIN).tex > $(FINAL).tex
	pdflatex $(FINAL).tex
	bibtex $(FINAL)
	pdflatex $(FINAL).tex
	pdflatex $(FINAL).tex

try: $(MAIN).tex
	pdflatex $(MAIN)


clean:
	\rm -f *.dvi $(MAIN).ps *.bbl *.aux *.log *.blg *.toc all.tar* uu \
	*~ *.bak *.lbl *.brf *.synctex.gz \
	*.out *.soc *.tdo
	\rm -f *.fdb_latexmk *.fls *.loc

spotless: clean
	\rm -f paper_*.pdf final_*.pdf
	\rm -f $(FINAL).*
	\rm -f paper_*_final.pdf paper_*_final.tex
	\rm -f $(META).tar.gz $(META).pdf $(META)_final.pdf
	\rm -f $(META).zip
	\rm -rf TST

run_all:
	bash try_make_all.bash

all.tar:
	tar cvfh all.tar $(ALL)

meta: $(META).tar.gz

all.zip: $(META).zip

$(META).zip: 
	zip -r $(META).zip $(ALL)

$(META).tar.gz: all.tar
	gzip all.tar
	mv all.tar.gz $(META).tar.gz

$(META).pdf: $(MAIN).pdf
	mv $(MAIN).pdf $(META).pdf

$(META)_final.pdf: $(FINAL).pdf
	mv $(FINAL).pdf $(META)_final.pdf

publish: $(META).tar.gz $(META).pdf $(META)_final.pdf
	scp $(META).tar.gz $(PUBLIC_DIR)
	scp $(META).pdf $(PUBLIC_DIR)
	scp $(META)_final.pdf $(PUBLIC_DIR)

