Question

J'utilise cet outil appelé C++ paresseux qui divise un seul fichier C++ .lzz en un fichier .h et .cpp.Je veux Makepp je m'attends à ce que ces deux fichiers existent après ma règle de création de fichiers .lzz, mais je ne sais pas comment mettre deux cibles dans une seule ligne de construction.

Était-ce utile?

La solution

Je n'ai jamais utilisé Makepp personnellement, mais comme il s'agit d'un remplacement instantané de GNU Make, vous devriez pouvoir faire quelque chose comme :

build: foo.h foo.cpp
   g++ $(CFLAGS) foo.cpp -o $(LFLAGS) foo

foo.h foo.cpp: foo.lzz
   lzz foo.lzz

Je ne suis pas non plus sûr de l'invocation lzz, mais cela devrait aider.Vous pouvez en savoir plus à ce sujet sur http://theory.uwinnipeg.ca/gnu/make/make_37.html.

Autres conseils

Lzz est incroyable !C'est exactement ce que je cherchais http://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09

En fait, tout ce dont vous avez besoin est de dépendre (généralement) de foo.o dans votre règle de lien et d'une règle de modèle pour appeler lzz :

%.cpp %.h: %.lzz
    lzz $(input)

Le reste se mettra en place automatiquement.Lors de la compilation d'une source incluant foo.h ou de la liaison de foo.o à une bibliothèque ou à un programme, lzz sera d'abord appelé automatiquement.

Makepp reconnaîtra également si seul l'horodatage, mais pas le contenu du fichier produit, a changé, et l'ignorera.Mais cela ne peut pas faire de mal de lui donner moins de travail, en utilisant les options lzz pour supprimer la recréation d'un fichier identique.

Cordialement-Daniel

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top