[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120725201511.GA888@merkur.ravnborg.org>
Date: Wed, 25 Jul 2012 22:15:11 +0200
From: Sam Ravnborg <sam@...nborg.org>
To: Ingo Molnar <mingo@...nel.org>
Cc: "Kirill A. Shutemov" <kirill@...temov.name>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-kernel@...r.kernel.org, "H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [GIT PULL] x86/build change for v3.6
>
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists