Я создал 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
Эта проблема преследует меня уже довольно давно. Я искал везде, но не нашел ничего, что могло бы помочь мне найти решение для этого. Короче говоря, единственное, что мне нужно, это способ получить неинтерпретируемый текст, такой как «$ (shell cat $ (top_srcdir) / $ (MY_REVISION_FILE))», скопированный из Makefile.am в Makefile.in
Любая идея?
Спасибо Оливер