acabo de escribir un Makefile para construir una biblioteca compartida, similar a la siguiente:Makefile para bibliotecas compartidas?
libmystuff.so: CFLAGS+=-fPIC -shared
libmystuff.so: libmystuff.o otherstuff.o
$(CC) $(CFLAGS) -o [email protected] $^
me gustaría evitar hacer acciones explícitas cuando esto parece una operación común, pero parece que no hay ninguna regla implícita o otros incorporados para estandarizar esto. Estoy usando GNU Make en Linux en este momento, pero también necesitaré esto para trabajar en OS X.
EDIT: Estoy preguntando acerca de las reglas de fabricación en lugar de las banderas de compilador/enlazador.
¿Puede recomendar reglas de Makefile limpias y reutilizables para compilar libs compartidas? Tal vez una regla de tipo %.so:
o .c.so:
?
libtool parece ser la mejor manera. Es una pena que el manual te arroje a los lobos (mira http://www.gnu.org/software/libtool/manual/libtool.html#Makefile-rules) a menos que estés usando todo el conjunto de Autotools. – dwc