我创建了一个 Makefile.in,在其中从文件中读取内容并将其传递给 CFLAGS。调用 ./configure ... Makefile 将生成,一切正常。
Makefile.in:
...
MY_REVISION_FILE=my-revision.txt
MY_REVISION=$(shell cat $(top_srcdir)/$(MY_REVISION_FILE))
AM_CFLAGS = -I$(EXTRAS_INCLUDE_DIR) -I$(top_srcdir) -DMY_REVISION=$(MY_REVISION)
...
一旦我将 Makefile.in 代码移动到 Makefile.am 以允许自动生成 Makefile.in,就会出现问题。那里调用 autoreconf -i --force 停止并出现以下错误:
server/Makefile.am:9: cat $(top_srcdir: non-POSIX variable name
server/Makefile.am:9: (probably a GNU make extension)
autoreconf: automake failed with exit status: 1
这个问题已经困扰我很久了。我到处搜索,但没有找到任何可以帮助我找到解决方案的东西。简而言之,我唯一需要的是一种方法来获取未解释的文本,例如从 Makefile.am 复制到 Makefile.in 的“$(shell cat $(top_srcdir)/$(MY_REVISION_FILE))”
任何的想法?
谢谢,奥利弗