Estructura de directorios complicada para el Makefile.
Tengo una estructura de directorio como esta:
- src/name1/name1.src
- src/name2/name2.src
- tgt/name1/name1.tgt
- tgt/name2/name2.tgt
Por lo tanto, quiero un patrón de Makefile como este:
src/%/%.tgt: tgt/%/%.src
$(COMP) $^ -o $@
¿Cómo puedo lograrlo?
davy.ai
Para lograr el patrón deseado en Makefile, simplemente puedes usar el siguiente código:
Este patrón coincidirá con cualquier archivo en el directorio
src
que tenga un subdirectorio con el mismo nombre y un archivo con el mismo nombre y extensión.tgt
. Luego buscará un archivo correspondiente en el directoriotgt
con el mismo subdirectorio y nombre de archivo, pero con la extensión.src
en su lugar. Una vez que encuentra el archivo fuente, lo compilará utilizando la variable$(COMP)
y generará el archivo resultante en el directorio y nombre de archivo correspondiente.Este patrón es muy flexible y se puede utilizar para cualquier número de directorios y archivos. Facilita la compilación y gestión de un gran número de archivos fuente en diferentes directorios y subdirectorios.