Как указать в скрипте 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).
Что я делаю не так?
Спасибо, Бен.