Devo eseguire questi 4 comandi sul terminale ogni volta che voglio eseguire il programma utilizzando le librerie.Makefile per una libreria
Le linee sono
cc -m32 -c mylib.c
ar -rcs libmylib.a mylib.o
cc -m32 -c prog.c
cc -m32 prog.o -L. -lmylib
./a.out
Come faccio a fare un makefile per i comandi di cui sopra ed eseguirlo? Sarebbe gradita una procedura dettagliata. Grazie.
Edit: ecco la soluzione:
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
Questo ha dato un errore sulla linea 2 perché ho usato spazi invece di scheda.
C'è una piccola ridondanza qui. Con le librerie statiche, si otterrà lo stesso risultato se si collegano i file '.o' direttamente nell'applicazione, invece di inserirli prima in un file' .a'. Una libreria statica è poco più di un mucchio di file '.o' incollati insieme, dopo tutto. –