
## Compilation des programmes en Pascal (avec Free Pascal)

PC := fpc
PFLAGS := -Mobjfpc -Sh
PFLAGS += -vi-
PFLAGS += -l- ## https://forum.lazarus.freepascal.org/index.php/topic,56400.msg419033.html#msg419033

## Génération des pages HTML (avec Pandoc)

CSS := pandoc.css
PANDOC_FLAGS := -f gfm -t html -s
PANDOC_FLAGS += --css=$(CSS)
PANDOC_FLAGS += --metadata-file metadata.yaml
PANDOC_FLAGS += --shift-heading-level-by=1

ifeq ($(USER),roland)
## Destination des fichiers HTML
DEST := $(HOME)/Documents/site/www/roland/polyglot
endif

## Recherche des fichiers Markdown

SOURCES := $(wildcard *.md)

## Définition des cibles

## Pages HTML
PAGES := $(patsubst %.md,%,$(SOURCES))
$(info [DEBUG] PAGES = $(PAGES))

ifeq ($(USER),roland)
all: $(PAGES)
else
## Programmes
all: pg_key_test pg_show_test bookdemo_test
endif

## Conversion de Markdown en HTML

%: %.md
	@pandoc $< -o $@.html $(PANDOC_FLAGS)
ifeq ($(USER),roland)
	@mv -fv $@.html $(DEST)
endif

## Compilation et exécution des programmes

%: %.pas
	@$(PC) $< $(PFLAGS)

pg_key_test: pg_key
	@./$< "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" | tee $@.log

pg_show_test: pg_show
	./$< fruit.bin 463b96181691fc9c | tee $@.log

bookdemo_test: bookdemo
	./$< | tee $@.log
