この makefile の実行コマンドでバージョンを参照するたびに、そのバージョンは VERSION 変数に保存する必要があり、バージョンが指定されていない場合はデフォルト値を使用する必要があります。
これは私のMakefileです。
export $(BUILDVERSION) = $2
VERS = VABCDE.00.00A002
$(info BUILDVERSION is "$(BUILDVERSION)")
$(info vers is "$(VERS)")
ifneq ($(BUILDVERSION),undefined)
VERSION := $(VERS)
endif
ifneq ($(BUILDVERSION),undefined)
VERSION := $(BUILDVERSION)
endif
$(info VERSION is $(VERSION))
ケース1:実行パラメータを含めると、次の出力が表示されます。
BUILDVERSION is "VABCDE.00.00A001"
vers is VABCDE.00.00A002
VERSION is "VABCDE.00.00A001"
ケース2:実行パラメータを含めないと、このエラーが発生します。
Makefile:1: *** empty variable name. Stop.
Makefile:1: *** empty variable name. Stop.
誰もが私のコードにどのような問題があるのかを理解するのに役立ちますか?
ベストアンサー1
問題を理解しているかどうかわかりません。
タスクがバージョン番号を外部に提供し、make
コマンドラインにバージョンが提供されていない場合は、デフォルト値を使用します。それでは、makefile
次のようになります。
VERS = VABCDE.00.00A002
$(info BUILDVERSION is "$(BUILDVERSION)")
$(info vers is "$(VERS)")
ifdef BUILDVERSION
VERSION := $(BUILDVERSION)
else
VERSION := $(VERS)
endif
$(info VERSION is $(VERSION))
次のように呼び出すことができます。
make BUILDVERSION="not-default-version"