Template para facilitar la creación de proyectos en C con una biblioteca compartida.
Ambos makefiles:
✔️ Compilan solamente los archivos fuente necesarios, incluso detecta cuándo las bibliotecas hechas por el usuario fueron modificadas para volver a compilar todos los objetos.
✔️ Permiten el uso de subcarpetas.
✔️ Se pueden importar desde Eclipse, CLion, VSCode o cualquier editor de texto u entorno de desarrollo.
✔️ Permiten que el repo se pueda deployar usando el script so-deploy.
✔️ No requieren que se especifique el nombre del proyecto al que pertenecen
(alcanza con copiar la carpeta project/
o utils/
y modificar su nombre para
configurar el nombre del proyecto).
Además, el makefile del proyecto incluye:
✔️ Flags de debug para make all
y flags de release para make release
.
✔️ Ejecución con Valgrind mediante make memcheck
y make helgrind
.
Hay un ejemplo de uso en este repo.
Los proyectos funcionan bajo la siguiente estructura, adaptada para que so-deploy funcione:
.
│
└─── <project1>/
| └─── src/
| └─── makefile
└─── <project2>/
| └─── src/
| └─── makefile
└─── ...
└─── <projectN>/
| └─── src/
| └─── makefile
└─── <staticLib>/
└─── <staticLib>/
└─── makefile
Para incluir una library alcanza con editar la macro LIBRARIES
del makefile.
También, para incluir una library propia se debe editar tanto LIBRARIES
como
LIBRARY_PATHS
. Se puede ver un ejemplo
aquí.
Si encontrás algun error en los makefiles o tenés alguna sugerencia, ¡no dudes en levantar un issue en este repositorio!