Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

variable=@value@ in Makefiles

I understand that @ suppresses printing of a command in a Makefile...

http://www.gnu.org/software/make/manual/make.html#Echoing

... and I understand that $@ is the target name...

http://www.gnu.org/software/make/manual/make.html#Automatic-Variables

... but I can't find any information on what a line like this might mean:

variable=@value@

I'm not trying to fix anything here, just trying to better understand Makefiles.

Update: The "Makefile Subsitutions" section of the GNU autoconf manual explains that it's a value that is substituted by autoconf.

like image 436
user1447110 Avatar asked Feb 24 '26 18:02

user1447110


1 Answers

Typically you find this in Makefile.in files, which are processed by configure (which are in turn generated by autoconf) scripts.

In that case @X@ will be replaced by the value of a shell variable $X, if configure is told so. If it's not, no occurrence in the input file will be touched by configure, hence leaving the replaceable string as it is. If you ask me these instances indicate slips in the build system.

like image 116
bitmask Avatar answered Feb 27 '26 14:02

bitmask



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!