Как указать в скрипте Makefile.am, что я хочу компилировать только объектные файлы .o, с которыми впоследствии можно будет связать?

У меня есть Makefile.am, который будет отвечать за создание окончательного двоичного файла приложения:

Проект / SRC / Makefile.am

также в каталоге src есть подкаталог ctrnn, который содержит еще один Makefile.am:

проект / 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: ничего не поделаешь для `всех '

Я знаю, почему это так, мне нужно указать цель сборки. Но как мне это сделать в сценарии ctrnn / Makefile.am, учитывая, что я не хочу создавать двоичный файл, который потребовал бы bin_PROGRAMS, а реальные объектные файлы network.o и neuron.o?

(Обратите внимание, что если я действительно укажу имя bin_PROGRAMS, оно справедливо закончится жалобой на неопределенную ссылку на main).

Что я делаю не так?

Спасибо, Бен.

Ответы на вопрос(3)

Ваш ответ на вопрос