C: Crear una biblioteca estática y vincularla usando un Makefile

estoy tratando deComprender bibliotecas estáticas y compartidas.

Quiero hacer lo siguiente para crear un archivo MAKE que compila y vincula por separado de modo que se cree y se vincule una biblioteca estática para formar el ejecutable estático final.

Tengo el siguiente código para el Makefile, pero recibo el siguiente error

Makefile:13: *** missing separator. Stop.

Pero también estoy tratando de entender cómo vincular / crear bibliotecas.

Si ejecuto los comandos despuésline 12 en la terminal funcionan, pero no en el archivo MAKE.

myProgram: main.o addSorted.o freeLinks.o
    gcc -lm -o myProgram main.o addSorted.o freeLinks.o

main.o: main.c
    gcc -O -c -lm main.c main.h

addSorted.o: addSorted.c addSorted.h
    gcc -O -c -lm addSorted.c

freeLinks.o: freeLinks.c freeLinks.h
    gcc -O -c -lm freeLinks.c

ar rc libmylib.a main.o addSorted.o freeLinks.o    //Error Line

ranlib libmylib.a

gcc -o foo -L. -lmylib foo.o

clean:
    rm -f myProgram main.o addSorted.o freeLinks.o

Además, si puede ayudar a mejorar el código, realmente lo agradecería.

Respuestas a la pregunta(2)

Su respuesta a la pregunta