Directory-Platzhalter in der Datei Makefile Muster-Regel

Ich versuche, erstellen Sie ein Makefile, kompilieren terminfo-Dateien, die sich in einem Verzeichnis über tic. tic auch Kopien der termcap-Dateien, die es erstellt automatisch eine system - oder Benutzer-spezifischen Ziel-Ordner. Für einen normalen Benutzer, wenn der terminfo-Datei ist z.B. screen-256color-bce-s.terminfo es wird kompiliert und kopiert ~/.terminfo/s/screen-256color-bce-s. So wird es etwa so Aussehen:

terminfo/screen-256color-bce-s.terminfo => /home/user/.terminfo/s/screen-256color-bce-s
terminfo/screen-256color-s.terminfo => /home/user/.terminfo/s/screen-256color-s

Wenn ich so etwas in meinem Makefile:

TISRC = $(wildcard terminfo/*.terminfo)
TIDST = $(foreach x, $(TISRC), $(HOME)/.terminfo/$(shell basename $x|cut -c 1)/$(shell basename $x .terminfo))

$(HOME)/.terminfo/s/%: terminfo/%.terminfo
    @echo "$< => $@"
    @tic $<

install: $(TIDST)

es funktioniert. Jedoch, würde ich mag, um es allgemein, und verwenden Sie einen Platzhalter in der Ziel -, d.h.:

$(HOME)/.terminfo/**/%: terminfo/%.terminfo
    @echo "$< => $@"
    @tic $<

hinzufügen zu können terminfo-Dateien auf meinem lokalen repository. Die oben, aber funktioniert nicht. Wie kann ich festlegen, wildcard-directory in einer pattern-Regel?

  • Ich glaube nicht, dass Sie es können; Machen ist nicht sehr gut mit wildcards.
InformationsquelleAutor ldx | 2013-04-11
Schreibe einen Kommentar