Ola, como vai?
Somente para complementar, montei um Makefile para treinar um pouco de servir de exemplo:
# EXEMPLO DE MAKEFILE
# variaveis
CC = gcc
RM = rm
FLAG_C = -c
FLAG_O = -g -o
#-------------------------
NOME_DO_PROGRAMA=errteste2
ARQUIVO_BIBLIOTECA=./liberr
ARQUIVO_MAIN=./errteste2
# acao principal
all: programa
programa: biblioteca main
$(CC) $(FLAG_O) $(NOME_DO_PROGRAMA) $(ARQUIVO_BIBLIOTECA).o $(ARQUIVO_MAIN).o
$(RM) *.o
@echo "Compilacao concluida!"
biblioteca:
$(CC) $(FLAG_C) $(ARQUIVO_BIBLIOTECA).c
main:
$(CC) $(FLAG_C) $(ARQUIVO_MAIN).c
Eh so salvar isso como arquivo Makefile, ir ate o diretorio onde ele se encontra e rodar o comando make.