I'm trying to understand the following line in a Makefile.in file:
CXXFLAGS = -O3 -DNDEBUG -std=c 11 -Wno-deprecated-declarations -Isrc -I @mathinc@
I know the -I flag adds a directory to the list of places where the compiler will search for included files but what does @mathinc@ mean?
CodePudding user response:
Note that the file is called Makefile.in -- this signifies that it is input to another file (or transformation).
In short, configure will run and determine, say, where the relevant include files are for @mathinc -- likely some math headers. After you run configure it will produce Makefile (no trailing .in) based on what it finds. Do inspect that file.
configure scripts are created in a system called autoconf which, like all build systems, has its fans and its haters. There are some decent tutorials as for example this one.
