makefile helper

This commit is contained in:
Mylloon 2024-05-05 18:37:24 +02:00
parent 979f2cb563
commit 5d46d6605f
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
2 changed files with 51 additions and 0 deletions

31
Makefile Normal file
View file

@ -0,0 +1,31 @@
CONVERTER = python converter.py
VALIDATE = xmllint --schema
SAXON = java -jar $(wildcard saxon*.jar)
RM = rm
SYSTEMS = l-systems
TORTUE = tortue
TRACEUR = traceur
SVG = svg
EXPORT = image
all: generation tortue traceur svg
generation:
$(CONVERTER) $(SYSTEMS).csv -o $(SYSTEMS).xml
$(VALIDATE) $(SYSTEMS).xsd $(SYSTEMS).xml 1>/dev/null
tortue:
$(SAXON) -s:$(SYSTEMS).xml -xsl:$(TORTUE).xsl -o:$(TORTUE).xml nom=$(NOM) n=$(N)
$(VALIDATE) $(TORTUE).xsd $(TORTUE).xml 1>/dev/null
traceur:
$(SAXON) -s:$(TORTUE).xml -xsl:$(TRACEUR).xsl -o:$(TRACEUR).xml
$(VALIDATE) $(TRACEUR).xsd $(TRACEUR).xml 1>/dev/null
svg:
$(SAXON) -s:$(TRACEUR).xml -xsl:$(SVG).xsl -o:$(EXPORT).svg
clean:
-$(RM) $(SYSTEMS).xml $(TORTUE).xml $(TRACEUR).xml $(EXPORT).svg

View file

@ -1,5 +1,7 @@
# L-Systèmes
> Pré-requis : [Python 3](https://www.python.org/) et [Saxon](https://github.com/Saxonica/Saxon-HE)
## Usage
Le convertisseur est [converter.py](./converter.py).
@ -21,6 +23,24 @@ $ python converter.py l-systems.csv
Pour SVG : java -jar saxon-he-10.3.jar -s:traceur.xml -xsl:svg.xsl -o:image.svg
-->
Autrement, pour aider à l'utilisation, il est possible d'utiliser le Makefile.
```sh
$ make NOM=snow N=3 # génère une image.svg de "snow" avec 3 itérations
```
Il est également possible de le faire étape par étape
```sh
$ make generation # génère le fichier XML des L-systèmes
$ make tortue NOM=snow N=3 # génère tortue.xml de "snow" avec 3 itérations
$ make traceur # génère traceur.xml
$ make svg # génère image.svg
```
Les fichiers XML des L-systèmes, de la tortue et du traceur sont vérifié
avec le fichier XSD lors de la génération.
## Rapport
<!-- TODO: Push le PDF uniquement quand il est finalisé. -->