Dependencias recursivas entre objetivos de make en el mismo Makefile
Estoy intentando escribir un archivo MAKE que pueda determinar cuándo se cambiaron los encabezados y luego volver a compilar los archivos .cpp correspondientes. Para probar esto, creé tres archivos:main.cpp
, a.h
yb.h
. main.cpp
incluir sa.h
ya.h
incluyeb.h
.
Mi archivo MAKE se ve así:
prog: main.cpp a.h
g++ main.cpp -o prog
a.h: b.h
Cuando cualquier combinación dea.h
, b.h
ymain.cpp
se cambia, esperoprog
para ser recompilado A pesar de esto,prog
solo se vuelve a compilar cuandoa.h
omain.cpp
se cambia, y la última línea parece ignorarse.
¿Qué estoy haciendo incorrectamente y cómo puedo lograr lo que quiero sin agregar el conjunto completo y completo de encabezados a cada archivo .cpp individual como este (ya que para proyectos más grandes esto podría convertirse enextremadamente incómodo):
prog: main.cpp a.h b.h
g++ ...