ユーザーがbashでオートコンプリートしたときにシェルでmakeターゲットを隠す

ユーザーがbashでオートコンプリートしたときにシェルでmakeターゲットを隠す

Makefileユーザーが入力して押したときにシェルにまったく表示されないように、特定のターゲットを表示する方法はありますか?レシピが多すぎるため、ユーザーが検索先をタップしたときにレシピがすべてシェルオートコンプリートに表示されることは望ましくありません。makeTabMakefileTab

ベストアンサー1

この問題を研究し、最初の答えに書いた解決策を考えた後、別の問題があることに気づきました。とても簡単です方法。

表示したくないターゲット名で始めてください。指す

例:

.PHONY: foo .hiddentarget
foo: foo.x .hiddentarget
foo.x: foo.c
        touch foo.x
.hiddentarget: foo.x
        echo foo.x ok, I believe

それはあなたが必要なすべてです!

というターゲットをブロックする方法を悩んで、このアイデアを思い出しました。.隠しターゲット誤って呼び出され、すべての隠しターゲットを実行します。 :)

警告するこのようなターゲット名の使用に副作用があるかどうかはわかりませんが、見たことはありません。.ターゲット名「(ドットで始まる)。

おすすめ記事