When looking to makefiles in immediateC you see a lot of the following things:
$(COBJ)
$(O)
...
But what is the content of it, the moment the makefile is executed? Sometimes it's easy to see, sometimes it's much more difficult to see.
However, there's a clever trick you can apply to the Makefile.in: add a debugging kind of target.
Here's how to do it:
Open the Makefile.in
Go to the end of the file to avoid interference with other targets
Add the following block of code:
# ----------------------------------------------------------------------
# Debugging helpers
# ----------------------------------------------------------------------
print-%:
@echo '$* = $($*)'
Make sure you have a tab before @echo and not 4 spaces!
With this in place, you can run the following targets:
Suppose you want to see the content of $(COBJ): make print-COBJ
Suppose you want to see the content of $(O): make print-O
and so on.
This is a clean and clever trick to show only the content of the internal variables you're interested in.
And by adding this block of code into Makefile.in it will automatically be added to the final Makefile since Makefile.in is a template used by the autoconf mechanism in Linux. During the ./configure phase, autoconf will take Makefile.in as reference and create out of it Makefile.
Makefile will then be taken into account by the Linux/Unix make mechanism.