我有一个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 的未定义引用)。
我做错了什么?