ifndef YARM_DIRECTORY
$(error YARM_DIRECTORY must be set to the root directory of the YARM SoC)
endif

VHDL_DIR = $(YARM_DIRECTORY)/vhdl

CODEDIR = code

.PHONY: all
all: Diplomschrift.pdf

$(CODEDIR):
	mkdir -p $@

define headers_template =
$1: $2
	mkdir -p $1
	./generate_entity_headers.py --skip-missing --dest-dir $1 $2

HEADER_DIRS += $1
endef

$(eval $(call headers_template,sections/core/entities/,$(wildcard $(VHDL_DIR)/core/*.vhd)))

.PHONY: entity_headers
entity_headers: $(HEADER_DIRS)

.PHONY: Diplomschrift.pdf
Diplomschrift.pdf: $(HEADER_DIRS) Diplomschrift.tex
	latexmk --pdfxe --pdfxelatex="xelatex -interaction=nonstopmode --shell-escape" --use-make Diplomschrift.tex

.PHONY: clean
clean:
	rm -rf $(HEADER_DIRS)
	latexmk -C
