An error occurred while loading the file. Please try again.
-
joajfreitas authoredUnverified3aa08089
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Makefile 2.77 KiB
# Generate PDFs from the Markdown source files
#
# In order to use this makefile, you need some tools:
# - GNU make
# - Pandoc
# - LuaLaTeX
# - DejaVu Sans fonts
# Directory containing source (Markdown) files
source := engineering
# Directory containing pdf files
output := review-docs
# All markdown files in src/ are considered sources
sources := $(wildcard $(source)/**/**/*.md)
# Convert the list of source files (Markdown files in directory src/)
# into a list of output files (PDFs in directory print/).
objects := $(patsubst %.md,%.pdf,$(subst $(source),$(output),$(sources)))
all: build $(objects) post-build
.PHONY: build
build :
mkdir -p $(output)
mkdir -p $(output)/electronics
mkdir -p $(output)/powertrain
mkdir -p $(output)/electronics/drivers_input_and_information
mkdir -p $(output)/electronics/data_aquisition_treatment
mkdir -p $(output)/electronics/harnessing
mkdir -p $(output)/electronics/off_board_electronics
mkdir -p $(output)/electronics/on_board_eletronics
mkdir -p $(output)/electronics/power_distribution
mkdir -p $(output)/electronics/telemetry
mkdir -p $(output)/powertrain/accumulator
mkdir -p $(output)/powertrain/inverters
# Recipe for converting a Markdown file into PDF using Pandoc
$(output)/%.pdf: $(source)/%.md
# resources in each file are referenced based on file directory. Pandoc
# compiles in the working directory. So we get the dirname for each input
# file so we can feed it to the --resource-path flag of pandoc
$(eval DIR= $(shell dirname -- "$<"))
pandoc \
--variable mainfont="Fira Mono" \
--variable monofont="Fira Code" \
--variable fontsize=11pt \
--variable geometry:"top=1.5cm, bottom=2.5cm, left=3cm, right=3cm" \
--variable geometry:a4paper \
--table-of-contents \
--number-sections \
--resource-path=$(DIR) \
-f markdown $< \
-o $@
post-build:
cp -r $(source)/electronics/drivers_input_and_information/files $(output)/electronics/driver_input_and_information
cp -r $(source)/electronics/data_aquisition_treatment/files $(output)/electronics/data_aquisition_treatment
cp -r $(source)/electronics/harnessing/files $(output)/electronics/harnessing
cp -r $(source)/electronics/off_board_electronics/files $(output)/electronics/off_board_electronics
cp -r $(source)/electronics/on_board_eletronics/files $(output)/electronics/on_board_eletronics
cp -r $(source)/electronics/power_distribution/files $(output)/electronics/power_distribution
cp -r $(source)/electronics/telemetry/files $(output)/electronics/telemetry
cp -r $(source)/powertrain/accumulator/files $(output)/powertrain/accumulator
cp -r $(source)/powertrain/inverters/files $(output)/powertrain/inverters
.PHONY: send
send:
zip $(output).zip $(wildcard $(output)/**/**/*)
.PHONY: clean
clean:
rm -rf $(output) $(output).zip