Я пытался написать make
правило этой формы:
lib%.so: computations/%.h
make -C computations/ -f makefile $<
Вывод:
make -C computations/ -f makefile computations/test.h
make[1]: Entering directory `/home/shai/csm/csm2/src/computations'
make[1]: *** No rule to make target `computations/test.h'. Stop.
make[1]: Leaving directory `/home/shai/csm/csm2/src/computations'
make: *** [libtest.so] Error 2
Что ж, похоже, он ищет %.h
после переключения библиотеки,Не важно, я просто попробую удалить
lib%.so: %.h
make -C computations/ -f makefile $<
, но теперь оно вообще не распознает правило!
Вывод:
shai@ubuntu:~/csm/csm2/src$ make libtest.so
`make: *** No rule to make target `libtest.so'. Stop.
Is make
играть с моим разумом?Как изменение зависимостей может заставить его перестать распознавать target ?