http://www.atmel.com/tools/avrsoftwareframework.aspx?tab=overview
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.
EDIT:
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.