を介してディレクトリにある terminfo ファイルをコンパイルする Makefile を作成しようとしていますtic
。tic
また、自動的に作成される termcap ファイルを、システム固有またはユーザー固有の宛先フォルダーにコピーします。通常のユーザーの場合、例えば 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 ファイルをローカル リポジトリに追加できるようにします。ただし、上記は機能しません。パターン ルールでワイルドカード ディレクトリを指定するにはどうすればよいですか?