/ / Obtener dependencias de otro Makefile - makefile

Obtenga dependencias de otro Makefile - makefile

Estoy tratando de usar múltiples makefiles como este:

En ~/generator/Makefile:

foo.xml: foo-part1.xml foo-part2.xml foo-part3.xml
./generate $^ > $@

Y en ~/some/other/dir/Makefile:

foo.xml:
$(MAKE) -C ~/generator $@
mv ~/generator/$@ $@

El problema es: cuando voy a ~/some/other/dir/ y correr make foo.xml, no hay una lista de dependencias para foo.xmly make -C ~/generator foo.xml no se llama incluso si (por ejemplo) ~/generator/foo-part1.xml es más nuevo que el objetivo

La única solución que pensé es copiar la lista de dependencias con rutas absolutas a ~/some/other/dir/Makefile, lo cual es bastante horrible:

foo.xml: ~/generator/foo-part1.xml ~/generator/foo-part2.xml ~/generator/foo-part3.xml

Entonces, mi pregunta es: ¿hay alguna manera en un archivo MAKE para preguntar otro makefile ¿cuáles son las dependencias de target? O simplemente reenviar la solicitud foo.xml a ese archivo MAKE y recoger el resultado? Básicamente quiero que el segundo archivo MAKE se base en el primero cuando se trata de decidir si un objetivo debe ser reconstruido, y cuando se trata de construirlo.

Respuestas

0 para la respuesta № 1

Lo resolví teniendo dos reglas en el segundo archivo MAKE:

Y en ~/some/other/dir/Makefile:

.PHONY: ~/generator/foo.xml
~/generator/foo.xml:
$(MAKE) -C ~/generator $(notdir $@)

foo.xml: ~/generator/foo.xml
cp $< $@