Tengo un archivo MAKE desde el que deseo llamar a otro script bash externo para que haga otra parte del edificio. ¿Cómo podría hacer esto?ejecutando un script bash desde un archivo make
Respuesta
Al igual que llamar a cualquier otro comando desde un makefile:
target: prerequisites
shell_script arg1 arg2 arg3
En cuanto a su explicación adicional:
.PHONY: do_script
do_script:
shell_script arg1 arg2 arg3
prerequisites: do_script
target: prerequisites
Cada una de las acciones en la norma makefile es un comando que será ejecutado subshell. Debe asegurarse de que cada comando sea independiente, ya que cada uno se ejecutará dentro de una subshell separada.
Por esta razón, es frecuente encontrar que los saltos de línea se escaparon cuando el autor quiere varios comandos a ejecutar en el mismo subnivel:
targetfoo:
command_the_first foo bar baz
command_the_second wibble wobble warble
command_the_third which is rather too long \
to fit on a single line so \
intervening line breaks are escaped
command_the_fourth spam eggs beans
la forma "correcta" de hacerlo como las respuestas ya proporcionadas , pero me encontré con esta pregunta porque quería que mi archivo MAKE ejecutara un script que escribí para generar un archivo de cabecera que proporcionaría la versión para todo un paquete de software. Tengo un buen número de objetivos en este paquete, y no quería agregar un nuevo requisito previo para todos ellos. Poner esto al principio de mi makefile funcionó para mí
$(shell ./genVer.sh)
que le dice a hacer simplemente ejecutar un comando de shell. ./genVer.sh
es la ruta (el mismo directorio que el archivo MAKE) y el nombre de mi script para ejecutar. Esto se ejecuta sin importar el objetivo que especifique (incluido el clean
, que es el inconveniente, pero en última instancia, no es un gran problema para mí).
- 1. Ejecutando script bash desde java
- 2. Ejecutar un script bash desde un script R
- 3. ejecutando grep desde GNU make
- 4. ejecutando un script R desde python
- 5. Ejecutando git pull desde un script php
- 6. ejecutando un script de Powershell desde php
- 7. VirtualEnv iniciado desde un script bash
- 8. ¿Cómo ejecutas SQL desde un script bash?
- 9. Cómo ejecutar un script .sql desde bash
- 10. Inicie ipython ejecutando un script
- 11. Ejecutando un script de Groovy
- 12. Ejecutando un archivo .cmd desde Ant
- 13. Ejecutando un programa/script de QMake
- 14. ejecutar script bash desde php sin esperar
- 15. Ejecutando múltiples comandos desde un script cmd de Windows
- 16. ejecutando un comando sobre ssh, y luego ejecutando bash
- 17. Bash Script - Leer archivo binario
- 18. saliendo de registro de git desde un script bash
- 19. Compruebe si existe una función desde un script bash
- 20. Cómo ssh desde dentro de un script bash?
- 21. Cómo ejecutar un script bash desde el programa C++
- 22. cómo ejecutar PHP desde un script bash bajo usuario root
- 23. Obtener el directorio de un archivo de script bash en
- 24. ¿Paralelizar procesos PHP con un script Bash?
- 25. Llamar a un script bash desde un script tcl y regresar y salir del estado
- 26. ¿Cómo sé el nombre del archivo de script en un script Bash?
- 27. Script Bash: uso del comando "script" de un script bash para iniciar sesión
- 28. Cómo documentar un archivo MAKE?
- 29. Cifrar un archivo usando el script bash shell
- 30. Microsoft SQL Server Management Studio ejecutando script desde dentro de un script
pero necesito ejecutar el script antes de los requisitos previos –
@Matthew, entonces su archivo MAKE está configurado incorrectamente. Cree un nuevo objetivo '.PHONY' del que dependan sus requisitos previos y ejecute el script en ese destino. –
Editado con más para su caso. –