There are an unlimited number of things to learn with an unlimited depth to which they can be learned.
Since you will </life> far before you learn it all, you need to prioritize which you will focus on.
If you are a windows developer using windows tools, then learning unix makefiles may not be a big advantage. If you are a c developer on any platform, it is probably a good idea.
Keep in mind different platforms and languages have different approaches to the same problem, eg apache ant with java.
So it really depends on where you are headed in your career/learning. IMO, becoming an expert at version control software (eg, git) is one of the best things any software engineer can do, if they haven't already.