Domanda

Utilizzo questo strumento chiamato C++ pigro che suddivide un singolo file C++ .lzz in un file .h e .cpp.Voglio Makepp aspettarmi che entrambi questi file esistano dopo la mia regola per la creazione di file .lzz, ma non sono sicuro di come inserire due destinazioni in un'unica riga di compilazione.

È stato utile?

Soluzione

Non ho mai usato Makepp personalmente, ma poiché è un sostituto immediato di GNU Make, dovresti essere in grado di fare qualcosa del tipo:

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

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

Inoltre non sono sicuro dell'invocazione lzz lì, ma dovrebbe aiutare.Puoi leggere di più a riguardo su http://theory.uwinnipeg.ca/gnu/make/make_37.html.

Altri suggerimenti

Lzz è incredibile!Questo è proprio quello che stavo cercando http://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09

In realtà tutto ciò di cui hai bisogno è dipendere (tipicamente) da foo.o nella tua regola di collegamento e da una regola di modello per chiamare lzz:

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

Il resto andrà a posto automaticamente.Quando si compila un sorgente che include foo.h, o si collega foo.o a una libreria o programma, lzz verrà prima chiamato automaticamente.

Makepp riconoscerà anche se è cambiato solo il timestamp ma non il contenuto del file prodotto e lo ignorerà.Ma non può far male dargli meno da fare, usando le opzioni lzz per evitare di ricreare un file identico.

Saluti: Daniele

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top