我刚刚编写了一个 Makefile 来构建一个共享库,类似于以下内容:
libmystuff.so: CFLAGS+=-fPIC -shared
libmystuff.so: libmystuff.o otherstuff.o
$(CC) $(CFLAGS) -o $@ $^
当这似乎是一个常见的操作时,我喜欢避免执行显式操作,但似乎没有隐式规则或其他内置函数来标准化它。我目前在 Linux 上使用 GNU Make,但在 OS X 上也需要它。
编辑:我问的是制作规则而不是编译器/链接器标志。
你能推荐干净、可重用的 Makefile 规则来构建共享库吗?也许是%.so:
或.c.so:
类型规则?