utilizar make instalar ejecutar como comando archivos linux unix makefile posix

linux - instalar - ¿Suprimir el eco de invocación de comando en makefile?



makefile c++ (3)

Escribí un programa para una tarea que se supone que imprime su salida a stdout. La especificación de asignación requiere la creación de un Makefile que cuando se invoca como make run > outputFile debe ejecutar el programa y escribir la salida en un archivo, que tiene una huella digital SHA1 idéntica a la especificada en la especificación.

Mi problema es que mi archivo MAKE

... run: java myprogram

también imprime el comando que ejecuta mi programa (por ejemplo, java myprogram) en el archivo de salida, por lo que mi archivo incluye esta línea adicional que hace que la huella digital sea incorrecta.

¿Hay alguna forma de ejecutar un comando sin que la invocación del comando haga eco en la línea de comando?


Agregue @ al comienzo del comando para decirle a gmake que no imprima el comando que se está ejecutando. Me gusta esto:

run: @java myprogram

Como sugirió Oli, esta es una característica de Make y no de Bash.

Por otro lado, Bash nunca hará eco de los comandos que se ejecutan a menos que le diga que lo haga explícitamente (es decir, con la opción -x ).


El efecto de preceder el comando con un @ se puede extender a una "sección" extendiendo el comando usando una barra inclinada invertida en la línea. Si se desea un comando falso para suprimir la salida, se puede comenzar la sección con @printf "" /


Incluso más simple: make -s (modo silencioso)!