我有一个Makefile.am负责构建最终应用程序二进制文件:
project/src/Makefile.am
在 src 目录中还有一个名为的子目录ctrnn,其中包含一个附加的Makefile.am:
project/src/ctrnn/Makefile.am
现在,ctrnn/Makefile.am应该只生成目标.o文件,其想法是顶级Makefile.am应该使用子目录中生成的目标文件ctrnn来构建二进制文件。
这是ctrnn/Makefile.am:
SOURCES = network.cpp\
neuron.cpp
AM_CPPFLAGS= @CXXFLAGS@
基于这个Makefile.am文件,我想得到 network.o 和 neuron.o。我正在Makefile使用 Automake 等生成相应的文件,但是当我尝试然后执行 make 文件时,它什么也没做,只是说:
make: Nothing to be done for `all'
我知道这是为什么,我需要指定构建目标。ctrnn/Makefile.am但是,鉴于我不想构建需要bin_PROGRAMS实际目标文件network.o和的二进制文件,我该如何在脚本中执行此操作neuron.o?
(请注意,如果我确实指定了 bin_PROGRAMS 名称,它最终会正确地抱怨对 main 的未定义引用)。
我做错了什么?