Estoy comenzando un nuevo proyecto C, que está basado principalmente en OSS. También estará en SourceForge, y me gustaría aprovechar esta oportunidad para aprender las mejores prácticas establecidas para organizar este tipo de código. Estoy usando librerías como libcurl y libz, y las compilaré usando MinGW y MSYS.¿Cuál es la mejor manera de organizar mi código de proyecto C y sus bibliotecas externas?
Estaré distribuyendo copias de la fuente de todas las bibliotecas que estoy utilizando con mi proyecto, por lo que las personas que descarguen la fuente no tendrán que ir a buscar y buscar dependencias. ¿A qué debo llamar el directorio donde guardo las bibliotecas? Hasta ahora, dudo entre:
- lib, porque son bibliotecas. Sin embargo, 'lib' tiene una connotación diferente en UNIX-world.
- src, porque son archivos de origen.
- 3er partido, porque no lo escribí.
¿Y dónde debería compilar estas bibliotecas? ¿Debería simplemente configurarlos e instalarlos en la raíz del sistema, o debería configurar un directorio donde todas las bibliotecas deberían compilar y vincular desde allí? Obviamente, esto tendrá ramificaciones para mi Makefile.
¿Cómo debo hacer esto? ¿Existen convenciones establecidas que debo seguir? ¿Están escritos en alguna parte?