Forum Programmation.shell Makefile sur une génération dynamique de fichier.

Posté par  (site web personnel) .
Étiquettes : aucune
0
1
juil.
2005
Je génère des fichiers svg avec des données extraite d'une bado a l'aide d'un script.
via batik-rasterizer.jar je génère une quantité très importante de d'image png, pour tous mes fichier SVG. En suite via convert je transforme le tout en .gif
(je pense le passer en avi plus tard mais c'est pour voir si ca fonctionne)

Mon souci c'est que la transformation d'un svg2png est très coûteux ( utilisation de css et de svg externe qui fait que seul batik répond a ma demande)

je voulais avoir un *truc* comme avec makefile qui ne recompile que les fichiers modifié. Ici je pensais faire un truc avec md5sum et lancer la commande pour ceux qui ne correspondent pas mais je vois pas trop comment faire.

ah vi pour la démo le petit [1Mo] fichier gif http://www.saycure.com/demo.gif(...)
  • # [titre]

    Posté par  (site web personnel) . Évalué à -1.

    Je savais pas trop quoi mettre en titre :(

    http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

    • [^] # Makefile

      Posté par  . Évalué à 2.

      make s'appuie sur la date des fichiers pour savoir s'il doit recompiler quelquechose. En gros, s'il détecte que le fichier "source" est plus récent que le fichier généré, il "recompile".

      Si ton script regénère tous tes fichiers SVG à chaque fois, make pourra pas trop t'aider, parce qu'en regardant les dates, il recompilera toujours tout. Par contre, si ton script ne génère que les SVG modifiés, là, il suffit de pondre la règle permettant de construire un png à partir d'un SVG, et make s'en sortira très bien.

      Si tous tes fichiers SVG sont générés à chaque fois, va falloir trouver autre chose ...
      une piste, c'est trouver un moyen pour que ton script d'extraction de la BD ne génère que les SVG modifés (ajout de dates dans la base, positionnement d'un booleen, autre chose ?)

      les md5, c'est une autre piste. Comment faire ? Ben par exemple, tu stockes dans un fichier tous les md5 de tes fichiers SVG. A chaque compil, tu recalcules ces md5 dans un nouveau fichier. Tu fais un bête diff et un peu de cut ou de sed et hop, t'as la liste de tes fichiers modifiés.
      • [^] # Re: Makefile

        Posté par  (site web personnel) . Évalué à 1.

        merci j'ai finalement utilisé md5sum avec diff et grep ( sed je maitrise pas trop :) mais sinon ca marche :) enfin c'est moins bourrin

        http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.