diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4f029c4 --- /dev/null +++ b/Makefile @@ -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 diff --git a/README.md b/README.md index f1c55ee..45922c9 100644 --- a/README.md +++ b/README.md @@ -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