Итак, я новичок в make-файлах, но у меня есть следующее правило:
$(rc)/%.class: $(r)/%.java
echo $(strip $(findstring $*,"Robot RoboController"))
ifneq (,$(strip $(findstring $*,"Robot RoboController")))
echo "Robot or RoboController"
else
echo "other";
endif
Моя цель состоит в том, чтобы, если сопоставляемый текст был Robot или RoboController, он компилировался в одининаче, он компилируется другим способом, к сожалению, когда я запускаю make, я получаю следующий вывод:
$ make Classes/RobotSuite/robot/Robot.class
echo Robot
Robot
echo "other";
other
$ make Classes/RobotSuite/robot/RoboComm.class
echo
echo "other";
other
Кажется, что независимо от того, что я положил в ifneq
, он будет ошибочно оцениватьэто равно нулевой строке.Кто-нибудь может объяснить почему?
Я использую GNU Make v3.81, созданную для i686-pc-linux-gnu.