Moin,
ich habe ein Problem wie ich am sinnvollsten meine Makefile organisiere.
Ich habe mehrere gleichberechtigte Dateien, die zum Projekt gehören. Jede dieser Dateien hat eine Reihe unterschiedlicher Include-Dateien.
Diese Abhängigkeit würde ich gerne automatisch bestimmen, wenn ich nur die Namen der Hauptdateien angebe.
Nun kann man natürlich in einer Makefile diese Abhängigkeit explizit definieren oder auch für jede DAtei einzeln die Abhängkeit extrahieren. Aber dann braucht man für jede dieser Hauptdateien eine eigene Regel:
Mir schwebt eine Abhängigkeit a la "cat mainfile | grep ‚#include‘ | cut -f2 -d\ " welches mir eine Liste der includes liefert. Aber das funktioniert eben nicht, wenn ich eine Liste an Mainfiles habe, sondern müßte da auch für jede Hauptdatei eine solche Variable definieren.
Beispiel:
Hauptdateien = Datei1 Datei2 Datei3
dep1 = $(shell cat Datei1 | grep ‚#include‘ | cut -f2 -d\ )
dep2 = $(shell cat Datei2 | grep ‚#include‘ | cut -f2 -d\ )
dep3 = $(shell cat Datei3 | grep ‚#include‘ | cut -f2 -d\ )
Datei1: dep1
$(CC) $(CC_FLAGS) $