Tengo que ejecutar estos 4 comandos en el terminal cada vez que deseo ejecutar el programa usando librerías.Makefile para una biblioteca
Las líneas son
cc -m32 -c mylib.c
ar -rcs libmylib.a mylib.o
cc -m32 -c prog.c
cc -m32 prog.o -L. -lmylib
./a.out
¿Cómo hago un makefile para los comandos anteriores y ejecutarlo? Se agradecería un procedimiento detallado. Gracias.
Editar: Aquí está la solución:
a.out: prog.o libmylib.a
cc prog.o -L. -lmylib
prog.o: prog.c mylib.h
libprint_int.a: mylib.o
ar -rcs libmylib.a mylib.o
print_int.o: mylib.c mylib.h
clean:
rm a.out prog.o libmylib.a mylib.o
Esto dio un error en la línea 2 porque solía espacios en lugar de pestaña.
Hay una pequeña redundancia aquí. Con las bibliotecas estáticas, obtendrá el mismo resultado si solo vincula los archivos '.o' directamente a la aplicación, en lugar de meterlos en un archivo' .a' primero. Una biblioteca estática es poco más que un montón de archivos '.o' pegados, después de todo. –