www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/13/09:02:45

From: kagel AT quasar DOT bloomberg DOT com
Date: Wed, 13 Nov 1996 08:37:14 -0500
Message-Id: <9611131337.AA04001@quasar.bloomberg.com >
To: tor AT sn DOT no
Cc: djgpp AT delorie DOT com
In-Reply-To: <328c0dd0.353900065@news.sn.no> (tor@sn.no)
Subject: Re: Make problem with spaces instead of tabs
Reply-To: kagel AT dg1 DOT bloomberg DOT com

   Errors-To: postmaster AT bloomberg DOT com
   From: tor AT sn DOT no (Tor Sjowall)
   Newsgroups: comp.os.msdos.djgpp
   Date: Wed, 13 Nov 1996 00:00:25 GMT
   Organization: SN Internett
   Lines: 27
   References: <3288FD63 DOT 2544 AT fab DOT net>
   Nntp-Posting-Host: nm17-3.ppp.sn.no
   Mime-Version: 1.0
   Content-Transfer-Encoding: 7bit
   X-Newsreader: Forte Agent .99f/16.299
   Dj-Gateway: from newsgroup comp.os.msdos.djgpp
   Content-Type: text/plain; charset=us-ascii
   Content-Length: 931

   Eric Christopherson <Draximus AT fab DOT net> wrote:

   >I'm sure many of you have got the message from make that there is a
   >missing spearator. In most cases that I have seen, this means that a
   >statement has spaces in front of it, rather than an actual tab. In my
   >experience, if you change the spaces to a tab, make works fine. What I
   >want to know is this: is there a version of make that accepts the
   >spaces, and/or is there a program to automatically change spaces at the
   >beginning of lines to tabs?

   If you look in the source for make-3.75, you will find the following:
[SNIP]
   It is easy to change these lines to check for space in addition to tab.

   I'm sure there is some historic argument for insisting on the tabulator as
   a prefix to make command lines, but I cannot see any problems with
   accepting a space too.

The <TAB> character must begin a dependent command in a makefile because that
is the language specification.  One might just as well call the curly braces in
"C" an historical remnant and change the compiler to accept the string "BEGIN"
for "{" and "END" for "}".  This would be more convenient for Pascal/Modula 2
programmers but it would not be "C"!  Just because Microsoft and Borland saw
fit to ignore the language spec when they wrote their own Make utilities and
Microsoft cannot manage to make an editor that conveniently generates a <TAB>
when the operator enters a <TAB> is no reason to continue this nonsense.  Not
only that but (once again the Preacher climbs on the portability soapbox) if
you use such a modified Make your make files will not be portable to LINUX or
any other UNIX version.  MICROSOFT OPERATING SYSTEMS ARE NOT THE ONLY OPERATING
SYSTEMS IN THE WORLD!  WRITE PORTABLE CODE!  (The Preacher steps down from the
platform, closing his holy book on the way.;-#)

-- 
Art S. Kagel, kagel AT quasar DOT bloomberg DOT com

A proverb is no proverb to you 'till life has illustrated it.  -- John Keats

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019