[comp.unix.wizards] make -b does what?

lois@hpfcdc.HP.COM (Lois Gerber) (02/21/90)

This question is directed at OLD (and I mean OLD) Unix gurus :

Can anyone explain to me clearly what the -b option is for
in make?  The man page does not explain it well at all.

Thanks in advance for any enlightenment.

Lois Gerber 
lois@hpfclj
UDL, Fort Collins

roy@phri.nyu.edu (Roy Smith) (02/22/90)

lois@hpfcdc.HP.COM (Lois Gerber) writes:
> This question is directed at OLD (and I mean OLD) Unix gurus :
> Can anyone explain to me clearly what the -b option is for in make?

	Beats the hell out of me.  I can't even find make in my (6th
edition) Unix manual at all.  Did I get a defective manual?
--
Roy Smith, Public Health Research Institute
455 First Avenue, New York, NY 10016
roy@alanine.phri.nyu.edu -OR- {att,philabs,cmcl2,rutgers,hombre}!phri!roy
"My karma ran over my dogma"

ray@ctbilbo.UUCP (Ray Ward) (02/23/90)

In article <1990Feb22.042021.4936@phri.nyu.edu> roy@phri.nyu.edu (Roy Smith) writes:
>lois@hpfcdc.HP.COM (Lois Gerber) writes:
>> This question is directed at OLD (and I mean OLD) Unix gurus :
>> Can anyone explain to me clearly what the -b option is for in make?
>	Beats the hell out of me.  I can't even find make in my (6th
>edition) Unix manual at all.  Did I get a defective manual?

I would suspect the -b came in somewhere around System III.  Steve Talbott's
_Managing Projects with Make_ ( O'Reilly and Assoc. 1-800-338-NUTS )
describes the option:

   The -b option is, in most implementations, on by default.  It
   assures backward compatibility with earlier versions of _make_,
   so that old description files continue to work.

I have no idea what the old description file format differences were.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Ray Ward                                          Email:  uunet!ctbilbo!ray  
Voice:  (214) 991-8338x226, (800) 331-7032        Fax  :  (214) 991-8968     
=-=-=-=-  There _are_ simple answers, just no _easy_ ones. -- R.R. -=-=-=-=

meissner@osf.org (Michael Meissner) (02/23/90)

In article <23@ctbilbo.UUCP> ray@ctbilbo.UUCP (Ray Ward) writes:

| In article <1990Feb22.042021.4936@phri.nyu.edu> roy@phri.nyu.edu (Roy Smith) writes:
| >lois@hpfcdc.HP.COM (Lois Gerber) writes:
| >> This question is directed at OLD (and I mean OLD) Unix gurus :
| >> Can anyone explain to me clearly what the -b option is for in make?
| >	Beats the hell out of me.  I can't even find make in my (6th
| >edition) Unix manual at all.  Did I get a defective manual?
| 
| I would suspect the -b came in somewhere around System III.  Steve Talbott's
| _Managing Projects with Make_ ( O'Reilly and Assoc. 1-800-338-NUTS )
| describes the option:
| 
|    The -b option is, in most implementations, on by default.  It
|    assures backward compatibility with earlier versions of _make_,
|    so that old description files continue to work.
| 
| I have no idea what the old description file format differences were.

In practice, -b serves another use.  If you have recursive makefiles,
you usually use (on System V) something like:

	dir/foo: dir/foo.c
		cd dir; $(MAKE) -$(MAKEFLAGS) foo

If no arguments were passed to the toplevel make, then the recursive
make would get a plain "-", which means that the Makefile is passed
via standard input.  Since -b is implicitly set, it is passed on to
the recursive make.
--
Michael Meissner	email: meissner@osf.org		phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA

Catproof is an oxymoron, Childproof is nearly so

cpcahil@virtech.uucp (Conor P. Cahill) (02/24/90)

In article <1990Feb22.042021.4936@phri.nyu.edu> roy@phri.nyu.edu (Roy Smith) writes:
>lois@hpfcdc.HP.COM (Lois Gerber) writes:
>> This question is directed at OLD (and I mean OLD) Unix gurus :
>> Can anyone explain to me clearly what the -b option is for in make?
>
>	Beats the hell out of me.  I can't even find make in my (6th
>edition) Unix manual at all.  Did I get a defective manual?

That's because it isn't a flag in older makes.  It is a flag to a newer
make (just where the newer started I'm not sure) that gives it some 
form of compatibility with the older make.  

If you don't know what it is needed for, then don't worry about it
since you probably won't need it.


-- 
+-----------------------------------------------------------------------+
| Conor P. Cahill     uunet!virtech!cpcahil      	703-430-9247	!
| Virtual Technologies Inc.,    P. O. Box 876,   Sterling, VA 22170     |
+-----------------------------------------------------------------------+

bzs@world.std.com (Barry Shein) (02/27/90)

>>	Beats the hell out of me.  I can't even find make in my (6th
>>edition) Unix manual at all.  Did I get a defective manual?
>
>That's because it isn't a flag in older makes.  It is a flag to a newer
>make (just where the newer started I'm not sure) that gives it some 
>form of compatibility with the older make.  

No, I think that's because make was not distributed with V6.

I believe make first came out of PWB which was a much later
distribution (mostly V6 based, but with things like make added in.)

Originally the V6 kernel and utilities were built with shell scripts
called "run" or something like that.
-- 
        -Barry Shein

Software Tool & Die    | {xylogics,uunet}!world!bzs | bzs@world.std.com
Purveyors to the Trade | Voice: 617-739-0202        | Login: 617-739-WRLD