gmakeでマクロを定義して、基になる関数を呼び出す前に変数を設定し、後でリセットします。
define InstallWithPermission
$(eval ORIG_INSTALL_FILE_MODE = $(INSTALL_FILE_MODE))
$(eval INSTALL_FILE_MODE = $(1))
$(InstallFile)
$(eval INSTALL_FILE_MODE = $(ORIG_INSTALL_FILE_MODE))
$(eval ORIG_INSTALL_FILE_MODE = )
endef
ここで、$(InstallFile)は、ファイルモードとしてINSTALL_FILE_MODEを指定してinstallコマンドを呼び出します。
- マクロ定義に変数を設定するために、eval関数を使用します
- ORIG_INSTALL_FILE_MODEがローカルであることを確認するために、マロの最後に空にリセットします
これは、マクロ定義内の「ローカル変数」を操作する正しい方法である必要がありますか?
ありがとう。