¿Cómo puedo solicitar el comando make
en el archivo Makefile para ejecutar recursivamente en todos los subdirectorios make
comandos (definidos en el archivo Makefile en los subdirectorios)?Marca recursiva en subdirectorios
Respuesta
- Leer Recursive Use of Make capítulo de GNU Make manual.
- Conozca Peter Miller Recursive Make Considered Harmful artículo.
- ...
- PROFIT !!!
P. S. Un fragmento de código de my answer a una pregunta diferente pero relacionada podría usarse como una aproximación aproximada.
@ eldar-abusalimov, el primer enlace que ha publicado asume que el archivo MAKE sabe cuales son las subcarpetas. Esto no siempre es cierto, y supongo que eso es lo que @tyranitar quisiera saber. En ese caso, una solución de este tipo puede hacer el trabajo: (Me tomó algún tiempo, pero necesitaba también)
SHELL=/bin/bash
all:
@for a in $$(ls); do \
if [ -d $$a ]; then \
echo "processing folder $$a"; \
$(MAKE) -C $$a; \
fi; \
done;
@echo "Done!"
Se podría lograr en Make puro: 'SUBDIRS: = $ (comodín * /.)'. Y luego iterar sobre 'SUBDIRS' e invocar una subfacturación. –
@Eldar Abusalimov: Suena bien. Estoy interesado, ¿podrías detallar un poco más y publicar un fragmento de muestra? (¿Qué quiere decir con 'iterar'?) – kebs
Me refiero a usar una solución, que he propuesto en mi otra respuesta: http://stackoverflow.com/a/11206700/545027 –
voy a presentar aquí mi solución particular. Supongamos que tenemos un directorio con muchos sub-directorios, todos ellos con su propio makefile:
root-dir\
+----subdir1
+----subdir2
...
+----subdirn
a continuación, sólo tienes que copiar en la raíz-dir este Makefile:
SUBDIRS = $(shell ls -d */)
all:
for dir in $(SUBDIRS) ; do \
make -C $$dir ; \
done
- 1. Forma no recursiva de obtener todos los archivos en un directorio y sus subdirectorios en Java
- 2. Fuentes de subdirectorios en Makefile
- 3. bucle de fiesta a través de todo el hallazgo de forma recursiva en subdirectorios
- 4. Comprobación recursiva usando Clearcase
- 5. Eliminar carpeta y todos los archivos/subdirectorios
- 6. Ignorando subdirectorios en .ackrc
- 7. Parar subdirectorios en Git?
- 8. crear subdirectorios en Ruby
- 9. Búsqueda recursiva de un directorio en Java
- 10. ¿Es esta implementación recursiva recursiva
- 11. Grep recursiva y el conde
- 12. ¿Cómo descomprime archivos de manera recursiva en un directorio y sus subdirectorios desde la línea de comandos de Unix?
- 13. archivos grep basados en la marca de tiempo
- 14. retorno en función recursiva
- 15. recursiva IO en Haskell
- 16. XML recursiva en Scala
- 17. función recursiva en bash
- 18. Selección recursiva en SQL
- 19. subdirectorios Agregando Load Path
- 20. ¿Cómo cargar todos los archivos de símbolos de forma recursiva desde una ruta determinada, incluidos los subdirectorios?
- 21. ¿Cómo incluir subdirectorios en Visual Studio?
- 22. subdirectorios en el archivo Zip utilizando ZipOutputStream
- 23. CoffeeScript - orden de compilación en subdirectorios
- 24. .htaccess Opciones de archivo -Indicadores en subdirectorios
- 25. ¿Cómo hacer coincidir los subdirectorios en RewriteCond?
- 26. obtener todos los subdirectorios inmediatos en ruby
- 27. Favicon automático en subdirectorios y archivos
- 28. Función recursiva anónima en Scala
- 29. Herencia prototípica recursiva en javascript?
- 30. llamada recursiva en C++ principal
también re: Hacer recursiva Considerado perjudicial: http://evbergen.home.xs4all.nl/nonrecursive-make.html –
@Mali que vale la pena leer, sin duda! He experimentado un poco sobre este tema hace mucho tiempo también, FYI: http://abusalimov.blogspot.ru/2009/12/yet-another-implementation-of-non.html –
@ wil93 ¡gracias por la edición propuesta! Agregué un enlace a otra respuesta que sugiere una solución similar a la tuya. –