In my company there is a project, depending on this library. However, it is used by copy-pasting some .c and .h files into the project and adding their names to the makefile.
I would expect the correct way of using a third-party library to be to
- either get the already compiled static library plus public headers
- or get a self-contained project to build the above and then user projects to depend on the built library, and not on it's sources.
However, I have been unsuccessful in isolating a solution. The download, that I have linked in the top of the question, is 1.25GB in size, and consists various sources and makefiles.
My target is SAM4S and the board is fully custom.
To clarify, here are my reasons for thinking that my two points above are the cleanest way to integrate a third-party static library.
- Version control - get the new versions of the library cleanly.
- Separation - the library is logically not a part of the core project, for example it should not depend on the external project (otherwise - spagetti code).
- Read-only - do not ever fall for the temptation to modify third-party code. Doing so 1. introduces bugs, because you generally lack the understanding of the library authors and 2. prevents updating to newer versions of the library.