Search code examples
macosmakefilecompilationstatic-librariesdynamic-library

Translate makefile to produce static libxxx.a instead of dynamic libxxx.dylib


I am compiling a library (http://www.antisphere.com/Wiki/tools:anttweakbar) but issuing "make" with its included makefile on my mac produces a dynamic library (.dylib). I would much rather have a static library so that I can deploy it with my app. Is it easy/possible to translate the flags in the makefile to produce a static library?

It seems that "make" is just compiling and linking some C/C++ code.


Solution

  • It doesn't look like it's building the objects with any dylib-specific compilation flags, so you could just do the library build manually with something like:

    make && ar cru libAntTweakBar.a && ranlib libAntTweakBar.a