У меня есть набор файлов 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