Я только что написал Makefile для создания разделяемой библиотеки, похожую на следующую:
libmystuff.so: CFLAGS+=-fPIC -shared
libmystuff.so: libmystuff.o otherstuff.o
$(CC) $(CFLAGS) -o $@ $^
Мне нравится избегать явных действий, когда это похоже на обычную операцию, но кажется, что не существует неявного правила или других встроенных функций, чтобы стандартизировать это. В настоящее время я использую GNU Make для Linux, но это понадобится и для OS X.
РЕДАКТИРОВАТЬ : Я спрашиваю о правилах make, а не о флагах компилятора / компоновщика.
Можете ли вы порекомендовать чистые, повторно используемые правила Makefile для создания общих библиотек? Возможно, правило типа %.so:
или .c.so:
?