Re: [GIT PULL] x86/build change for v3.6

From: Sam Ravnborg
Date: Wed Jul 25 2012 - 16:15:09 EST


>
> No, the reason for the odd looking diff is that lots of lines in
> arch/x86/Makefile have 8-space tabs for histerical reasons but
> new code (such as this one) has proper tabs.

Use of tabs for indent in a Makefile is just asking for trouble.
Consider following simple Makefile:

$ cat Makefile
bar:
#bla bla
foo = war

love:
@echo make love, not $(foo)



If you execute:
$make love
make love, not war

But if you replace the 8 spaces in front of the assignment
with a tab then suddenly the output looks like this:
$make love
make love, not

This is not as expected....
In this silly example it is maybe obvious but I have lost hours tracking
down bugs due to this.
You add a new target and suddenly someting unrelated breaks.

What happens is that make consider the assignment a command due to the leading
tab - and because is follows a target (or other commands).

I hope this makes it clear why many makefiles in the kernel uses tabs for indent.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/