2011-07-04 13 views
7

Solo me gustaría preguntar qué debe escribirse en el archivo Android.mk para llamar también a los archivos mk en los subdirectorios del directorio actual.

Ejemplo:
/packages/Android.mk
/package/groupA/Android.mk
/packages/groupA/AppA/Android.mk
/packages/groupA/AppB/Android.mk
Lectura de archivos Android.mk en subdirectores recursivamente

Sé que al usar include $(call all-subdir-makefiles), se leerá el archivo Android.mk en el subdirectorio inmediato (ejemplo: /package/groupA/Android.mk). Sin embargo, /packages/groupA/AppA/Android.mk y /packages/groupA/AppB/Android.mk no se leerán.

Me pregunto si hay otra macro que haga la lectura recursiva de Android.mk para todos los subdirectorios.

Gracias,
artsylar

Respuesta

9

La solución más conveniente es poner include $(call all-subdir-makefiles) comando también dentro /package/groupA/Android.mk archivo.

Sin embargo, si desea que sólo los archivos mk de tercer nivel, puede utilizar el siguiente comando:

include $(wildcard $(call my-dir)/*/*/Android.mk) 

Y aquí es una solución totalmente recursivo, pero depende de find comando de la shell:

include $(filter-out $(call my-dir)/Android.mk,$(shell find $(call my-dir)/ -type f -name Android.mk)) 
+0

gracias por su respuesta. de hecho, lo hice funcionar sin tener que escribir 'include $ (call all-subdir-makefiles)' en el archivo mk. Parece que hubo un problema en el script que lee todo el archivo mk. Voy a intentar tu respuesta alguna vez. Sé que será útil para otros. – artsylar

Cuestiones relacionadas