ar en un archivo .a existente?

Esencialmente, lo que quiero hacer es esto:

gcc foo.c -o foo.o
ar rcs foo.a foo.o
gcc bar.c -o boo.o
ar rcs bar.a bar.o foo.a

Quiero archivar un objeto y una biblioteca estática en otra biblioteca estática. Desafortunadamente, el último comando no termina conteniendo foo.o (contiene bar.o y foo.a), por lo que cuando llego a la etapa de vinculación, el vinculador no puede encontrar los símbolos de foo.o.

¿Hay alguna manera de hacer lo que quiero aquí? Estoy haciendo todo esto fuera de lugar, así que estoy buscando una solución que no implique extraer y volver a archivar los objetos (lo que parece un poco doloroso). ¿Hay alguna manera de hacer que este tipo de configuración de "archivo de otro archivo" funcione?

Respuestas a la pregunta(2)

Su respuesta a la pregunta