PROJECT = Facharbeit # commands PDFLATEX = pdflatex -halt-on-error BIBTEX = bibtex RM = rm -f OPEN = kfmclient exec # directories PUBLIC_DIR = /home/lunar/public_html/ PROJECT_DIR = /home/lunar/Dokumente/Schule/Facharbeit BACKUP_DIR = /home/lunar/backup # sources DOCUMENT_NAME = facharbeit LATEX_SOURCES = facharbeit.tex BIBTEX_SOURCES = sources.bib EXCLUDE_FILE = $(PROJECT_DIR)/src/backup_exclude ALL_SOURCES = $(LATEX_SOURCES) $(BIBTEX_SOURCES) Makefile # generated files BACKUP_FILE = $(PROJECT)_`date --rfc-3339=date`.tar.bz2 BIBTEX_FILES = facharbeit.bbl facharbeit.blg LATEX_FILES = facharbeit.lof facharbeit.out facharbeit.toc \ facharbeit.log facharbeit.aux DOCUMENT = facharbeit.pdf $(DOCUMENT): $(BIBTEX_FILES) # two passes to get cross references right $(PDFLATEX) $(LATEX_SOURCES) $(PDFLATEX) $(LATEX_SOURCES) $(BIBTEX_FILES): latex_files.stamp $(BIBTEX_SOURCES) $(BIBTEX) $(DOCUMENT_NAME) # Use stamps here to avoid circular dependencies. latex_files.stamp: $(LATEX_SOURCES) $(PDFLATEX) $(LATEX_SOURCES) touch latex_files.stamp backup backup.stamp: $(ALL_SOURCES) $(EXCLUDE_FILE) (cd $(PROJECT_DIR)/.. && tar cjf $(BACKUP_DIR)/$(BACKUP_FILE) -X \ $(EXCLUDE_FILE) $(PROJECT)/) touch backup.stamp safebackup: backup.stamp # copy backup file into a "write-safe" location sudo cp $(BACKUP_DIR)/$(BACKUP_FILE) /var/backups/lunar/ sudo chmod 400 /var/backups/lunar/* sudo -K clean: $(RM) $(BIBTEX_FILES) $(LATEX_FILES) *.stamp clean-all: clean $(RM) $(DOCUMENT) publish: $(DOCUMENT) cp $(DOCUMENT) $(PUBLIC_DIR) show: $(DOCUMENT) $(OPEN) $(DOCUMENT) .PHONY: clean clean-all publish show backup safebackup