Makefile: abhängig von jeder Datei eines Verzeichnisses

Möchte ich ein Makefile, das läuft entweder mit gnumake oder makepp, packt alle Dateien, die unter den gegebenen directiories:

DIRS:=$(shell find . -mindepth 2 -maxdepth 2 -not -name mp3 -not -name ".*" -type d)
PACKAGES = $(DIRS:%=%.npk)

all: packages

packages: $(PACKAGES)

%.npk: %/*
    npack c $@ @^

.PHONY: all packages

das problem ist, dass es gibt keine solche Sache als " % /* in die Abhängigkeiten.
Ich brauche die Ziele (X. npk) abhängen, die auf jede Datei im Verzeichnis X, aber ich weiß nicht, was die Dateien werden wenn ich Schreibe das Makefile, 'Ursache, die Sie erzeugt später.

Beispiel:

./dirA/x
./dirA/y
./dirB/e
./dirB/f

Möchte ich erstellen ./dirA.npk (je nach x,y), ./dirB.npk (e -, f -)
Es gibt nichts, was ich wissen über die Verzeichnisse oder die Dateien im Voraus, außer dass die Suche verwendet, in der 1. Zeile findet alle dirs.

  • Ich habe versucht: %.npk: $(wildcard %/*), aber das funktioniert nicht. Ich dachte auch an ein er zusammen bekam aber an das gleiche problem, dass ich angewiesen auf target_dir/*.
InformationsquelleAutor Gavriel | 2011-04-13
Schreibe einen Kommentar