3

を介してディレクトリにある terminfo ファイルをコンパイルする Makefile を作成しようとしていますticticまた、自動的に作成される te​​rmcap ファイルを、システム固有またはユーザー固有の宛先フォルダーにコピーします。通常のユーザーの場合、例えば terminfo ファイルが の場合、screen-256color-bce-s.terminfoコンパイルされて にコピーされ~/.terminfo/s/screen-256color-bce-sます。したがって、次のようになります。

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

次のようなものを 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)

できます。ただし、一般化して、ターゲットにワイルドカードを使用したいと思います。

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

terminfo ファイルをローカル リポジトリに追加できるようにします。ただし、上記は機能しません。パターン ルールでワイルドカード ディレクトリを指定するにはどうすればよいですか?

4

2 に答える 2