У меня есть набор файлов cpp, которые я хочу скомпилировать непосредственно в двоичный файл, а также скомпилировать в общую библиотеку.
У меня есть
bin_PROGRAMS=mybin
lib_LTLIBRARIES=libmylib.la
COMMON_SOURCES=f1.cpp f2.cpp f3.cpp
mybin_SOURCES=main.cpp $(COMMON_SOURCES)
libmylib_la_SOURCES=$(COMMON_SOURCES)
] Когда я запускаю это, файлы cpp компилируются дважды, один раз с libtool и один раз без, а иногда libtool / automake жалуется
Makefile.am: object `f1.$(OBJEXT)' created both with libtool and without`
Я попытался поместить COMMON_SOURCES в файл .a, но затем libtool жалуется, когда я связываю .a с .la (говорит, что он не переносится.)
Мне нужно что-то вроде
bin_LTPROGRAMS=mybin
, но этого не существует
edit: пояснение - Я использую automake / autoconf. То, что я показал выше, является основой моего автомата Makefile.am