У меня есть Makefile.am
который будет отвечать за создание окончательного двоичного файла приложения:
project/src/Makefile.am
Также в каталоге src есть подкаталог ctrnn
который содержит дополнительный Makefile.am
:
project/src/ctrnn/Makefile.am
Теперь ctrnn/Makefile.am
должен генерировать только объектные файлы .o
с идеей, что Makefile.am
верхнего уровня должен использовать объектные файлы, сгенерированные в подкаталоге ctrnn
для сборки двоичного ctrnn
.
Это ctrnn/Makefile.am
:
SOURCES = network.cpp\
neuron.cpp
AM_CPPFLAGS= @[email protected]
Основываясь на этом файле 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).
Что я делаю не так?