I am reading a large Makefile, part of which I do not understand:
$(IREJECTION): $(IREJECTION:%$(MACH64).o=%.cpp)
$(CPP) $(CPPDLIBOPTS) -c $(@:%$(MACH64).o=%.cpp) -o $@
In this script (note that I removed the unnecessary variables to avoid verbosity), which means the following
$(IREJECTION:%$(MACH64).o=%.cpp) (in the first line)$(@:%$(MACH64).o=%.cpp)? (on the second line)
Also, what does this form mean A: B? How in:
$(IREJECTION): $(IREJECTION:%$(MACH64).o=%.cpp)
<---- A ----> <------------ B --------------->
<--- A ----> <-------- B ------>
As you can see, there are two instances of the form A:B- the second is inside B. I also see a resemblance here:
$(@:%$(MACH64).o=%.cpp)
<A> <---------B------->
Please help me figure this out.
source
share