Andere Arten von Quelldateien

Um die UI-Dateien des Qt-Designers zu übersetzen verwende

foo_SOURCES = mydialog.ui

Um ein DCOP-Rumpf zu übersetzen (die Client-Seite, welche Methoden aufruft) oder ein DCOP-Rahmen (die "Serverseite", auf der die Objekte implementiert sind), und wenn der Header im aktuellen Verzeichnis ist, verwende

foo_SOURCES = client.stub obj.skel

Liegt der Header nicht im selben Verzeichnis musst Du spezifizieren wo er liegt. Verwende dazu beispielsweise:

KDesktopIface_DIR = $(top_srcdir)/kdesktop
foo_SOURCES = KDesktopIface.stub

Um Quellen selbst zu generieren (z.B. mit einem Perlskript) verwende

generated.cpp: $(srcdir)/myscript $(srcdir)/mydata
(Tabulator!)$(PERL) $(srcdir)/myscript $(srcdir)/mydata -o $@

CLEANFILES = generated.cpp

Ausschließlich für generierte cpp-Dateien ist es ausreichend, einfach generated.cpp in die a_SOURCES Zeile einzutragen. Für einen generierten HEADER könntest Du sicherstellen müssen, dass er zuerst kompiliert wird, z.B. mit passenden Abghängigkeiten wie

foo.lo: myheader.h
oder mit
target_COMPILE_FIRST = myheader.h

Sollte eine größere Anzahl kompilierter Dateien vorliegen, kannst Du Variablen verwenden, um sie nur einmal in CLEANFILES und target_COMPILE_FIRST aufzulisten. Aber du wirst trotzdem noch eine zwei Zeilen Regel für jede Datei schreiben müssen.