Я просто написал Makefile, чтобы построить общую библиотеку, аналогичную следующей:Makefile для общих библиотек?
libmystuff.so: CFLAGS+=-fPIC -shared
libmystuff.so: libmystuff.o otherstuff.o
$(CC) $(CFLAGS) -o [email protected] $^
Я хотел бы избежать делать явные действия, когда это кажется общей операции, но, кажется, нет неявного правила или другие встроенные модули для стандартизации. На данный момент я использую GNU Make на Linux, но для этого также потребуется работать и с OS X.
EDIT: Я прошу о создании правил, а не флагов компилятора/компоновщика.
Можете ли вы рекомендовать чистые, многоразовые правила Makefile для создания общих библиотек? Возможно, правило %.so:
или .c.so:
?
libtool кажется лучшим способом. Жаль, что руководство бросает вас волкам (см. Http://www.gnu.org/software/libtool/manual/libtool.html#Makefile-rules), если вы не используете весь комплект Autotools. – dwc