我希望make
构建一些东西,并将一些生成的makefile重用为include。
这是我到目前为止的简化模型:
all: myprogram
.PHONY: .DEFAULT
.DEFAULT:
${MAKE} something_tricky.mk
${MAKE} -f actual_makefikle.mk $@
.SUFFIXES:
something_tricky.mk:
echo "TRICKY_VARIABLE=qwerty" > something_tricky.mk
include something_tricky.mk
all: myprogram
myprogram:
echo ${TRICKY_VARIABLE} > $@
它有点像作品,但有问题。例如.PHONY: .DEFAULT
不起作用,因此我无法自动重建任何文件。
我的问题:
.PHONY: .DEFAULT
工作?答案 0 :(得分:1)
Make将自动尝试重新制作任何包含的makefile,然后重新开始。以下应该有效
include something_tricky.mk
.PHONY: all
all: myprogram
myprogram: $(MAKEFILE_LIST)
echo $(TRICKY_VARIABLE) > $@
something_tricky.mk:
echo TRICKY_VARIABLE=qwerty > something_tricky.mk