diff options
author | Gustav Eek <gustav.eek@fripost.org> | 2024-05-17 21:42:03 +0200 |
---|---|---|
committer | Gustav Eek <gustav.eek@fripost.org> | 2024-05-17 21:42:03 +0200 |
commit | f43068ca50cb21c582d680f7856ead034f9abb1a (patch) | |
tree | 9b4586a6ccc645fc15725198b314856c0acffdea | |
parent | b3fc7a69323fb1ae11172311c14609a5f2d415d1 (diff) |
System. Add Makefiles for all sorts of actions
The general *lib/Makefile* contains all commands and should be included from
other places. Add particular makefiles for archive and 2023 board minutes.
-rw-r--r-- | .gitignore | 10 | ||||
-rw-r--r-- | archive/Makefile | 3 | ||||
-rw-r--r-- | board/2023/Makefile | 4 | ||||
-rw-r--r-- | lib/Makefile | 78 |
4 files changed, 94 insertions, 1 deletions
@@ -3,6 +3,7 @@ *#* # latex specific + *.aux *.dvi *.log @@ -14,6 +15,7 @@ *.vrb # misc file types + *.bak *.eps *.jpg @@ -21,10 +23,16 @@ *.eepic # Test files and temporary files + test.d test.d/test *_ *_.tex # Completed minutes (using sed scripts) -*-complete.tex
\ No newline at end of file + +*-complete.tex + +# PDF for archiving + +!archive/*.pdf
\ No newline at end of file diff --git a/archive/Makefile b/archive/Makefile new file mode 100644 index 0000000..36d070c --- /dev/null +++ b/archive/Makefile @@ -0,0 +1,3 @@ +SEND = $(wildcard *.pdf) + +include ../lib/Makefile diff --git a/board/2023/Makefile b/board/2023/Makefile new file mode 100644 index 0000000..a88a36a --- /dev/null +++ b/board/2023/Makefile @@ -0,0 +1,4 @@ +MINUTES = $(basename $(wildcard *.md)) + +include ../../lib/Makefile + diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000..bb8b55f --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,78 @@ +#!/usr/bin/env make -f +# +# General library Makefile for Fripost meeting minutes and policy +# documents. + +SLIDES ?= # will be compiled with beamer +MINUTES ?= # will be compiled with *minutes* template +POLICY ?= # will be compiled with *by-laws* template + +# Targets + +.PHONY: all + +ALL = \ + $(addsuffix .pdf, $(SLIDES)) \ + $(addsuffix .pdf, $(POLICY)) \ + $(addsuffix .pdf, $(MINUTES)) \ + +all: $(ALL) + +# Compilation using pandoc + +$(addsuffix .pdf, $(SLIDES)): %.pdf: %.md + pandoc -s -f markdown -t beamer -o $@ < $< + +$(addsuffix .pdf, $(MINUTES)): %.pdf: %.md + pandoc -f markdown -t latex \ + --template=fripost-minutes \ + $$(test -f $*.yml && echo --metadata-file=$*.yml) \ + -o $@ $*.md + +$(addsuffix .pdf, $(POLICY)): %.pdf: %.yml %.md + pandoc -f markdown -t latex \ + --template=fripost-by-laws \ + $$(test -f $*.yml && echo --metadata-file=$*.yml) \ + -o $@ $*.md + +# Archive + +.PHONY: archive + +ARCHIVE ?= archive +ROOT ?= $(shell git rev-parse --show-toplevel) +SUFFIX ?= -$(subst /,,$(dir $(subst $(ROOT),,$(PWD)))) +PDF = $(basename $(wildcard *.pdf)) + +print: + @echo ARCHIVE = $(ARCHIVE) + @echo ROOT = $(ROOT) + @echo SUFFIX = $(SUFFIX) + +archive: + for p in $(PDF); do \ + rsync $$p.pdf $(ROOT)/$(ARCHIVE)/$$p$(SUFFIX).pdf; \ + done + +# Upload to server + +.PHONY: send + +SEND ?= # files to send + +send: + rsync -ruvp --chmod=Dugo+rx,Fugo+r $(SEND)\ + www.fripost.org:/var/www/fripost.org/minutes + @echo; echo Now avialable as; \ + for f in $(SEND); do echo " - https://fripost.org/minutes/$$f"; done + +# Clean + +.PHONY: clean + +clean: + rm -f $(ALL) + rm -f *~ + +# Sends to fripost.org for publication + |