Makefile pour une bibliothèque

J'ai pour l'exécution de ces 4 commandes sur le terminal à chaque fois que je veux exécuter le programme à l'aide de bibliothèques.

Les lignes sont

cc -m32 -c mylib.c
ar -rcs libmylib.a mylib.o
cc -m32 -c prog.c
cc -m32 prog.o -L. -lmylib
./a.out

Comment puis-je faire un makefile pour les commandes ci-dessus et de l'exécuter?
Une procédure détaillée serait appréciée. Merci.


Edit:
Voici la solution:

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

Cela a donné une erreur à la ligne 2, car j'ai utilisé des espaces au lieu de l'onglet.

Il y a un peu de redondance ici. Avec les bibliothèques statiques, vous obtiendrez le même résultat si vous avez juste un lien de la .o fichiers directement dans l'application, plutôt que de leur farce dans un .a du premier fichier. Une bibliothèque statique est un peu plus qu'un tas de .o fichiers collés ensemble, après tout.

OriginalL'auteur Aakash Anuj | 2012-08-03