CC = g++ INCLUDE = -I. Objetivos = motorTest Dependencias = ElectricMotor.o GasMotor.o motor.o motorTest.o all: $(Objetivos) motorTest: $(Dependencias) $(CC) -o $@ $^ # $@ es el nombre del objetivo (etiqueta) de la regla # $< es el nombre del primer pre-requisito # $? es el nombre de todos los pre-requisitos que son mas nuevos que el nombre de la regla # $^ es el nombre de todos los pre-requisitos ElectricMotor.o: ElectricMotor.h # la dependencia de ElectricMotor.o con ElectricMotor.cpp no es necesario ponerla # make ya tiene la regla para generar archivos .o desde .cpp y la dependencia con esos .cpp GasMotor.o: GasMotor.h motor.o: motor.h clean: rm $(Dependencias) $(Objetivos)