В Makefile (GNU) можно сделать:
include foo.mk
all:
@echo "Hello, world!"
Есть ли способ заставить make выплюнуть Makefile после включения foo.mk?Аналогично тому, как препроцессор C расширил макросы и т. Д .?
Обновление: нижеприведенный комментарий попросил меня указать, какую проблему я пытаюсь решить.Я хочу инициировать перестройку, когда / если есть изменения в Makefile и / или базовых включенных make-файлах.Я нашел рецепт, который выглядит примерно так:
.PHONY: bar
SHAFILE := foobar.sha256
$(SHAFILE): bar
@sha256sum Makefile | cmp -s - $@ || sha256sum Makefile > $@
...
%.o: %.c $(SHAFILE)
$(CC) -c -o $@ $< $(CFLAGS)
(Очевидно, контрольная сумма должна быть из Makefile, включая включает в себя, но это начало.)