This repository has been archived on 2024-05-19. You can view files and clone it, but cannot push or open issues or pull requests.
l-systems/Makefile
2024-05-05 19:19:15 +02:00

42 lines
1.1 KiB
Makefile

CONVERTER = python converter.py
VALIDATE = xmllint --schema
SAXON = java -jar $(wildcard saxon*.jar)
RM = rm
ECHO = echo -e
SYSTEMS = l-systems
TORTUE = tortue
TRACEUR = traceur
SVG = svg
EXPORT = image
all: generation tortue traceur svg
# Generation du fichier XML des L-systèmes
generation:
$(CONVERTER) $(SYSTEMS).csv -o $(SYSTEMS).xml
$(VALIDATE) $(SYSTEMS).xsd $(SYSTEMS).xml 1>/dev/null
# Génération du fichier XML de la tortue + vérification
tortue:
ifeq ($(and $(nom),$(n)),)
@$(ECHO) "Il manque des arguments, par exemple :\n" \
" make $(MAKECMDGOALS) nom=snow n=3"
@false
endif
$(SAXON) -s:$(SYSTEMS).xml -xsl:$(TORTUE).xsl -o:$(TORTUE).xml nom=$(nom) n=$(n)
$(VALIDATE) $(TORTUE).xsd $(TORTUE).xml 1>/dev/null
# Génération du fichier XML du traceur + vérification
traceur:
$(SAXON) -s:$(TORTUE).xml -xsl:$(TRACEUR).xsl -o:$(TRACEUR).xml
$(VALIDATE) $(TRACEUR).xsd $(TRACEUR).xml 1>/dev/null
# Génération du fichier SVG
svg:
$(SAXON) -s:$(TRACEUR).xml -xsl:$(SVG).xsl -o:$(EXPORT).svg
# Supprime les fichiers générés
clean:
-$(RM) $(SYSTEMS).xml $(TORTUE).xml $(TRACEUR).xml $(EXPORT).svg