【发布时间】:2021-06-12 15:48:49
【问题描述】:
我想在 openwrt Makefile.am 中使用变量,如下所示:
bin_PROGRAMS = TOTO
SOURCES = \
../src/cli.c \
../src/common.h \
../src/vendor/$(VENDOR)/common/vfile.h \
../src/vendor/$(VENDOR)/common/vfile.c
在 configure.ac 文件中我定义了变量:
VENDOR='IEEE'
AC_SUBST([VENDOR])
在构建 openwrt 包时出现以下错误:
Makefile:1212: ../src/vendor/IEEE/common/.deps/vfile.Po: No such file or directory
但是如果获得了具有以下路径的文件,则在 build_dir 文件夹下:
./src/vendor/$(VENDOR)/common/.deps/vfile.Po
Makefile.am 中的变量有什么问题!!
【问题讨论】:
-
AC_SUBST在您的 .in 文件中替换像@...@这样的标记。它不会自动创建 makefile 变量。你在Makefile.am的任何地方都有@VENDOR@,比如VENDOR = @VENDOR@? -
是的,我在 Makefile.in 中有变量: : VENDOR = @VENDOR@
-
抱歉,您必须调试它。在第 1212 行生成的 Makefile 中有什么内容?请注意,缺少的路径以
../src开头,而您在上面显示的路径是./src...也许在您的Makefile.am某处还有一个额外的.? -
问题是:文件夹 IEEE 没有创建,而是创建了文件夹 $(VENDOR),然后在这个路径找不到 vfile.Po:/src/vendor/IEEE/ common/.deps/vfile.Po