В gnu make это можно сделать так:
include .deps
.deps:
./generate-deps >$@
Что будет включать файл .deps, но сгенерирует его, если он отсутствует или устарел. Однако, похоже, что это поведение, специфичное c для gnu make, оно не имеет отношения к стандарту posix для make. И, например, bmake на самом деле не справляется с этим.
Мой вопрос: можно ли сделать что-то подобное при наличии чистого posix-совместимого make-файла? Ближайшее, что у меня есть, - это три файла makefile:
Makefile
build:
@$(MAKE) -fMakefile.deps
@$(MAKE) -fMakefile.real $@
Makefile.deps
.deps:
# Some command to generate .deps
Makefile.real
include .deps
build:
# The actual build command
но это кажется адски сбитым с толку. Есть ли более простой c способ, который я полностью пропустил?