From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752088Ab2GYUPP (ORCPT ); Wed, 25 Jul 2012 16:15:15 -0400 Received: from smtp.snhosting.dk ([87.238.248.203]:21144 "EHLO smtp.domainteam.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751418Ab2GYUPN (ORCPT ); Wed, 25 Jul 2012 16:15:13 -0400 Date: Wed, 25 Jul 2012 22:15:11 +0200 From: Sam Ravnborg To: Ingo Molnar Cc: "Kirill A. Shutemov" , Linus Torvalds , linux-kernel@vger.kernel.org, "H. Peter Anvin" , Thomas Gleixner , Andrew Morton Subject: Re: [GIT PULL] x86/build change for v3.6 Message-ID: <20120725201511.GA888@merkur.ravnborg.org> References: <20120722134451.GA7099@gmail.com> <20120722135807.GA17513@shutemov.name> <20120722142204.GA9085@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120722142204.GA9085@gmail.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > 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