I am looking at the dry run after running lmbench makefile. I could not understand what is all doing in this line:
cd src && make
make[1]: Entering directory `/home/ankur/lmbench/lmbench-3.0-a9/src'
env CFLAGS=-O MAKE="`../scripts/make`" MAKEFLAGS="wn" CC="`../scripts/compiler`" OS="`../scripts/os`" ../scripts/build all
Short answer: It is a parameter to the script ../scripts/build.
Breaking that line down (apologies if I’m explaining stuff you already know):
env– sets up the environment for the called script. Format isenv VAR1=value1 VAR2=value2 command argument1 argument2. Putting-(which isn’t here) would empty the environment, but this usage adds to/updates the existing one.CFLAGS=-O MAKE="`../scripts/make`" MAKEFLAGS="wn" CC="../scripts/compiler" OS="`../scripts/os`" – the environment variables that are being set. The backticks (`../scripts/make`indicate executing a script to get the value to place into the variables.../scripts/build– This is the command to run.all– This is the first (and only) argument to the command.