が、私はIFDEF文で終了コードを取得しようとしている場合のMakefileに終了コード1を取得しますが、私は、出口1と$(コール終了1)文が真でない場合、文の
使用してみました私は "Makefile:11:*セパレータがありません。停止します。"
...
ifdef PACKAGE
PACKAGEDIR = $(HOME)/$(PACKAGE)
else
exit 1
endif
...
$(call exit 1)
を使用することで、私はエラーを取得していないが、メイクファイルはまだ実行し続けます。 私は何を達成しようとしているとすると、エラーコードとそれ以外にMakefileを終了する1
おかげ
まだ終了していません。パッケージは未定義です。未定義/ソースはターゲット内にありません – Gerardo
言い換えれば、実際にどこかでトリガーする必要があります(これは一般的に 'make ')。あなたの "fyi"は混乱しています。変数定義は実際にはターゲットの一部ではありません。私は、あなたの終了しようとする試みがターゲットにあることを要求していると伝えようとしていました。あなたが実際にどこかで 'make'関数(' $(エラー) ')を起動させる必要があるので、あなたが望むものをフレーズするのは実際はやや難しいです。 ':='を使って私がdo * *への答えを編集したようにします。 – geekosaur
@Gerardo、 '$(error)'は 'else'ブランチで動作します。 ')'の前のスペースに注意してください。 Makeのどのバージョンを使用していますか? – Beta