Всякий раз, когда я пытаюсь запустить это, единственный вывод, который я получаю, это "make: foo.o обновлен."
По умолчанию make
запускает самое верхнее правилокогда цель не указана.Например, вы должны запустить make run-c
, чтобы вызвать соответствующий рецепт, или вы можете просто поставить правило all
перед любыми другими, которые зависят от и делает все.
read: README
$(PAGER)
Я подозреваю, что вы, возможно, не указали $@
после $(PAGER)
в качестве аргумента.
save-java:
./(run-java) >> $(TEST_OUT)
Вы не можете просто "включить" другиерецепты таким образом.Вместо этого повторите то, что в run-java
и добавьте перенаправление.
Если вы хотите указать «псевдо» цели, я рекомендую вам указать их как .PHONY
, например:
.PHONY: all run-c run-py run-java save-java test-java clean
Чтобы пометить некоторые цели как промежуточные файлы, используйте директиву .INTERMEDIATE
.Руководство по GNU Make (texinfo) доступно как онлайн , так и с помощью команды info
.