我創建了一個Makefile.in,我從文件中讀取內容並將其傳遞給CFLAGS。調用./configure ... Makefile將生成一切正常。Autoreconf以「非POSIX變量名」停止
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))」這樣的未解釋文本的方法。
任何想法?
感謝, 奧利弗
這段代碼在線嗎?如果可以的話,我可以提出一些不太可靠的建議。 –
其實我刪除了AC_SUBST黑客,並用-Wno-portability替換它。它只是一個更好的做法。但是,嘿,很高興知道AC_SUBST是如何工作的;-) – Oliver