У меня есть Makefile, как показано ниже:
....
ifeq ($(strip $(MY_LIB)), $(strip $(SH_LIB))
@echo "TRUE-$(MY_LIB) $(SH_LIB)"
......
else
@echo "FALSE-$(MY_LIB) $(SH_LIB)"
......
endif
......
С этим у меня проблемы. То есть это входит в другое, когда они оба имеют одинаковую ценность. Я подтвердил с отпечатками, и это показывает, что оба имеют одинаковую строку.
В корневом make-файле
SH_LIB := display
Даже когда MY_LIB показывает, он всегда идет в другую часть и печатает
ЛОЖЬ - дисплей дисплея.
После множества изменений я смог его получить.
....
ifeq ("strip $(MY_LIB)", "display")
@echo "TRUE-$(MY_LIB) $(SH_LIB)"
......
else
@echo "FALSE-$(MY_LIB) $(SH_LIB)"
......
endif
.....
После этого изменения оно вошло в ИСТИНА.
Может кто-нибудь объяснить это?
EDIT:
Я поместил подобный код в корневой файл make, и он отлично работает.