configurar - Subdirectorios y Makefiles
makefile windows (2)
La forma más simple es hacer:
CODE_DIR = code
.PHONY: project_code
project_code:
$(MAKE) -C $(CODE_DIR)
La regla .PHONY
significa que project_code
no es un archivo que debe construirse, y la bandera -C
indica un cambio en el directorio (equivalente a ejecutar el cd code
antes de llamar a make
). Puede usar el mismo enfoque para llamar a otros objetivos en el code
Makefile.
Por ejemplo:
clean:
$(MAKE) -C $(CODE_DIR) clean
Creo que esta es una pregunta que se ha hecho muchas veces pero no puedo encontrar la forma correcta de hacerlo.
Tengo la siguiente estructura:
project/
project/Makefile
project/code
project/code/*.cc
project/code/Makefile
Cuando estoy en el directorio ''project / code'' y llamo "make project_code" mi código se está compilando correctamente.
Me gustaría hacer eso cuando estoy en ''project /'', simplemente llamo "make project_code" como si estuviera en ''project / code''.
El archivo ''project / Makefile'' contendrá otras reglas (como ''install'') y algunas reglas para compilar como si estuviera en ''project / code''. Y para eso, estoy solicitando su ayuda ... Gracias.
Trate de poner esta regla en project / Makefile algo como esto (para GNU make):
.PHONY: project_code project_code: cd code && make