Skip to content
Snippets Groups Projects
Select Git revision
  • radhwan.hassine-master-patch-03421
  • master default protected
  • radhwan.hassine-master-patch-79254
3 results

Makefile

Blame
  • Forked from algorithmique / cours
    756 commits behind the upstream repository.
    Makefile 1.41 KiB
    PDFOPTIONS = -t beamer
    PDFOPTIONS += -F pantable
    PDFOPTIONS += -F mermaid-filter
    PDFOPTIONS += --highlight-style my_highlight.theme
    PDFOPTIONS += --pdf-engine xelatex
    PDFOPTIONS += -V theme:metropolis
    PDFOPTIONS += -V themeoptions:numbering=none -V themeoptions:progressbar=foot
    PDFOPTIONS += -V fontsize=smaller
    PDFOPTIONS += -V urlcolor=blue
    
    MD=$(wildcard *.md) # Tous les fichiers .md
    PDF=$(MD:%.md=%.pdf) # Pour les fichier pdf on transforme .md -> .pdf
    MARKDOWN=$(MD:%.md=%.markdown) # Pour les fichier markdown on transforme .md -> .markdown
    
    all: $(PDF) # La cible par défaut (all) exécute les cibles %.pdf
    
    markdown: $(MARKDOWN) # La markdown les cibles %.markdown
    
    %.pdf: %.md metadata.yaml # %.pdf (chaque fichier %.md génère un fichier avec le même nom mais l'extension .pdf et la dépendance metadata.yaml)
    	pandoc -s $(OPTIONS) $(PDFOPTIONS) -o $@ $^
    
    %.markdown: %.md metadata.yaml yq
    	sed '1 { /^---/ { :a N; /\n---/! ba; d} }' $< > no_header
    	grep -v -F -x -f  no_header $< > header.yaml
    	echo "---" > tmp.yaml
    	./yq_linux_amd64 merge metadata.yaml header.yaml >> tmp.yaml
    	cat tmp.yaml no_header > $@
    	rm no_header header.yaml tmp.yaml
    
    yq: # On peut même télécharger un petit programme avec notre makefile
    	wget -nc https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64
    	chmod "u+x" yq_linux_amd64 
    
    deploy: all 
    	mkdir -p algo_cours
    	cp *.pdf algo_cours
    
    clean:
    	rm -f *.pdf *.markdown yq_linux_amd64*