だから、私は次のコードを持っています:
OBJ := $(addprefix 'obj_', $(basename $(notdir /build/common.mk)))
OBJ1は「obj_common」になりました
ifeq ($(OBJ),obj_common)
@echo equal (**don't know how to format indent in this website..assume there is.**)
endif
ifeq は $(OBJ) を obj_common と比較できません。少なくともエコーはしませんでした...
(ただし、次のように addprefix 関数を削除すると:)
OBJ := $(basename $(notdir /build/common.mk))
だから今OBJ1は「共通」です
ifeq ($(OBJ),common)
@echo equal
endif
このコードはエコーします。つまり、比較して等しいことを意味します。
変数を参照する必要があります$(OBJ_common)
(この種の変数の大きなリストがあるため、手動で文字列を入力することはできません)が、addprefix 関数により、この文字列が文字列ではなくなります...誰か解決してください問題?私の質問が明確でない場合は、お知らせください。どうもありがとうございました。