Commit Graph

70 Commits

Author SHA1 Message Date
kato
9880fc9dc7 Set the `pc98' string to the MACHINE if machdep.ispc98 != 0. 1998-09-09 14:58:30 +00:00
jb
0e7b8a8da0 Don't define RANLIBMAG if building an elf version of make. The RANLIBMAG
option lets make look inside archive libraries when determining if a
library is out-of-date. I don't think that make should look inside
files, so this fix effectively tells it not to. If the decision is
made (by someone else) that make _should_ be doing this, it will need
to be taught how to recognise elf archive libraries.

Problem noticed by: Joseph Koshy <jkoshy@freebsd.org>
1998-09-09 08:29:15 +00:00
jkoshy
59069acd01 Fix spurious `free()' when -d g2 is enabled.
PR:		6790
Submitted by:	nsmart <njs3@doc.ic.ac.uk>
1998-09-09 05:15:38 +00:00
cracauer
f3d290b0b5 When exiting on SIGINT, exit with signal status 1998-08-24 10:17:20 +00:00
imp
3f6e3c331a Use malloc + sprintf rather than asprintf to ensure portability to
other, less advanced architecutres.  This should minorly help porting
efforts of FreeBSD.  I've done several make worlds since this came up
with this change, as well as debugging several interesting nits with
-V (which is the only thing this change will affect really).
1998-07-26 17:06:05 +00:00
peter
1f5c254c67 Make -V expand it's arguments. This means that instead of 'make -V OBJS'
printing something useless (to a shell) like: ${SRCS:N*.h:R:S/$/.o/g}
it will instead print the actual ${OBJS} value.
1998-06-13 11:55:57 +00:00
bde
8c0f65d342 Don't forget to pretend that `make -n -jN' makes the targets that it
says it pretends to make.

This bug was apparently harmless except for normal cases involving
.ORDER statements when it made debugging of -jN using -n very
confusing.  E.g., for:

.ORDER: beforedepend .depend
depend: beforedepend .depend

where beforedepend depends on something so that it is not initially
up to date, `make [-n] -j2 depend' causes `make' to wait for itself
to make beforedepend.  This works fine without -n.  The job to make
beforedepend has normally been started, and beforedepend is marked
as made when the job completes.  However, with -n, the pseudo-job
for making beforedepend has normally completed, and in any case
there was no chance of beforedepend being marked as made.  `make'
actually exited almost immediately with status 0 instead of waiting
forever.
1998-06-04 05:48:57 +00:00
thepish
74cae44c57 PR: bin/6828
Submitted by:	njs3@doc.ic.ac.uk
Obtained from:	NetBSD

Implement embedded variable expansion
1998-06-02 13:11:04 +00:00
steve
d0fc5c4c1b Add a graceful jumping off point with a new .error directive.
PR:		6720
Submitted by:	Niall Smart <njs3@doc.ic.ac.uk>
1998-05-25 03:28:37 +00:00
jb
25a20d1f0e Fix broken (at least on alpha, but probably on i386 too) code which
is supposed to walk an arry of character pointers, not an array of
characters.
1998-05-13 05:50:42 +00:00
wosch
e06e501ff8 Some commands are shell builtins. Execute the builtins by the shell
and not directly by make(1).

PR: bin/6550
Submitted by: Theo de Raadt <deraadt@cvs.openbsd.org & wosch
1998-05-12 11:54:12 +00:00
imp
80f5545693 Use historically correct error message in some cases, optionally. 1998-04-28 05:08:10 +00:00
phk
13f19b6005 When all transformation rules to or from a suffix disappeared, make tries
to free the suffix. I think, it is a very strange idea. (Or, maybe, it is a
POSIX requirement?) And it is done incorrectly. Apparently, it even don't
update the list of known suffixes (but it is an other bug).

PR:		4254, 4692, 4783
Reviewed by:	phk
Submitted by:	Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1998-04-26 09:44:48 +00:00
jraynard
5ea849a098 Cleanup: fix a few typos, fit ASCII output onto an 80-column terminal
and use a fixed font which actually exists.
1997-11-23 02:02:39 +00:00
imp
623acf6a29 Add #include <stdlib.h> to pick up prototypes for getenv and friends. 1997-09-29 03:53:53 +00:00
jkh
f9bc029397 Don't preferentially execute Makefiles in ${OBJDIR} - it just causes
confusion and suffering.  Tested by "make world".
Submitted by:	gibbs
1997-08-27 06:31:27 +00:00
fsmp
513dcef161 Make explicit '-B' option propigate to submakes.
No one has said this would be a bad thing, so given the dearth of comments
I decided to add it, as its an important step towards getting "make world"
'parallel-ized'.

Reviewed by:	silence
Submitted by:	nnd@itfs.nsk.su
1997-08-25 21:35:44 +00:00
fsmp
b458c644f8 Better fix, as originally submitted by reporter.
Submitted by:	 N.Dudorov <nnd@itfs.nsk.su>
1997-08-14 19:24:11 +00:00
fsmp
c852b1e121 Fix PR bin/4291: /usr/bin/make - inconsistent -j<n> flag parsing.
Submitted by:	N.Dudorov <nnd@itfs.nsk.su>
1997-08-14 04:46:20 +00:00
charnier
f61512bf13 Use err(3). Cosmetic in usage string. 1997-07-24 06:58:08 +00:00
phk
e29e11a01b In these XXX MHz days, waiting 500ms for a process to do something is
really far too long.  Let us try 100ms instead, if you have a PP200,
maybe that's even too long.  This should speed up make -j# builds.
I wonder why SIGCHLD isn't used...
1997-04-21 20:32:11 +00:00
imp
141381e1cb compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
wosch
154b7d3e6c Add reference to `PMake - A Tutorial' 1997-03-09 15:51:07 +00:00
wosch
9c7b325021 Add enviroment variable MAKEOBJDIRPREFIX, still undocumented except
in bsd.obj.mk.
1997-03-03 00:57:48 +00:00
peter
ca6ca83982 Revert $FreeBSD$ to $Id$ 1997-02-22 19:29:21 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
steve
e0d5709e90 Add a .POSIX directive. When the first non-comment
line of a Makefile contains this directive, make(1)
will enter a POSIX 1003.2 compliant mode.

Submitted by: Joerg Wunsch <joerg@freebsd.org>
1996-11-03 03:29:57 +00:00
steve
67bda81def Remove extraneous comment, fix second-level tabs (one
tab and four spaces), and return error message in *err
instead of calling Parse_Error.

Suggested by: Bruce Evans <bde@zeta.org.au>
1996-10-12 02:15:30 +00:00
steve
2d340b514c Removed extra $Id$ string. 1996-10-11 04:15:57 +00:00
steve
a63d5c3c9f Reinstate '!=' fix by Bruce Evans. The original commit message from
parse.c(1.9) was:

revision 1.9
date: 1996/09/12 03:03:25;  author: bde;  state: Exp;  lines: +7 -6
Fixed handling of `!=' assignment.  Don't warn if the shell's output is
null, but warn if there was an error reading it.

Suggested by: Bruce Evans <bde@zeta.org.au>
1996-10-11 03:55:29 +00:00
steve
838a7cdccb O' to be bitten by CVS. Cleanup after import
of Christos' version of make(1) and add Id's.

Set straight by: Bruce Evans and Peter Wemm :)
1996-10-08 04:07:59 +00:00
steve
d687df7a01 This commit was generated by cvs2svn to compensate for changes in r18764,
which included commits to RCS files with non-trunk default branches.
1996-10-06 16:45:32 +00:00
steve
5c6ac2e68c Import Christos Zoulas' version of NetBSD's make onto the
vendor branch for reference.

Obtained from: Christos Zoulas <christos@netbsd.org>
1996-10-06 16:45:32 +00:00
steve
a761e29d9a Clarify the rule used to determine the object
directory location.
1996-10-06 16:19:08 +00:00
peter
4370a5a248 Import the 4.4BSD-Lite2 version of make onto the vendor branch
"for reference".  This doesn't change anything since all files
have been touched.
1996-10-06 15:57:15 +00:00
peter
21bea375d1 This commit was generated by cvs2svn to compensate for changes in r18756,
which included commits to RCS files with non-trunk default branches.
1996-10-06 15:57:15 +00:00
steve
d4df49b545 Correct problem with traversing into PSD.doc directory,
these files are actually installed/built as part of
src/share/doc/psd/12.make.  Oops. :)

Pointed out by:	Peter Wemm and Bruce Evans
1996-10-06 13:02:43 +00:00
jkh
759a48eac3 Correct merge bogon: You want to descend into PSD.doc for both `all' and
`install' cases or there's never anything made to install, and you blow
up in the install. :-)
1996-10-06 12:43:14 +00:00
cvs2svn
7bee03ad1d This commit was manufactured by cvs2svn to create branch 'CHRISTOS'. 1996-10-06 02:35:39 +00:00
steve
49662693d9 Merge in NetBSD's changes to make(1). Changes include:
- Add the .PHONY, .PARALLEL, and .WAIT directives
	- Added the -B and -m commandline flags
	- misc. man page cleanups
	- numerous job-related enhancements
	- removed unused header file (bit.h)
	- add util.c for functions not found in other envs.
	- and a few coordinated whitespace changes

Special thanks to Christos Zoulas <christos@netbsd.org>
for help in the merge.  A 'diff -ur' between Net and
FreeBSD now only contains sccsid-related diffs. :)

Obtained from: NetBSD, christos@netbsd.org, and me
1996-10-06 02:35:38 +00:00
wosch
000fb64288 delete doubled words, e.g.: "the the" -> "the" 1996-10-05 22:27:30 +00:00
steve
b9bf5744b2 Fix for PR# 1231, make(1) execution of ``.BEGIN'' does
not halt on error.  Thanks to Wolfram for reminding me. ;)

Also remove a unnecessary test for c == '\n', since the
loop (in ParseSkipLine) will not terminate unless
c == '\n' || c == EOF, and the EOF case is already
explicted handled by a return statement.
1996-09-25 02:55:49 +00:00
steve
9b222d6b6a Be sure to remove any newlines encountered when
parsing the input file in ParseSkipLine(...).
1996-09-23 17:21:34 +00:00
steve
a43b707795 Fix for PR# 1095, make's continuation line handling buggy
when used with .elif.  Additional fixes include:

    - fix continuation line handling when using .for
    - plug up a memory leak
1996-09-22 02:28:36 +00:00
steve
c2d4b0268c Fix for PR#1230, make ``.for'' loops iterate backwards. 1996-09-21 04:00:22 +00:00
swallace
61bc096e33 Restore previous compatibility of ${.CURDIR}/obj.uname -m and
$(.CURDIR}/obj search while retaining compatability of new
prefix with cwd for the current source tree builds.
.TARGETOBJDIR has been removed from make and CANONICALOBJDIR set in
bsd.obj.mk

The builtin object directory searching is defined specifically as:

If MAKEOBJDIRPREFIX is defined, the search order is
${MAKEOBJDIRPREFIX}${.CURDIR}
${.CURDIR}

Else if MAKEOBJDIR is defined, the search order is
${MAKEOBJDIR}
${.CURDIR}

Otherwise, default to the search order
${.CURDIR}/obj.`uname -m`
$(.CURDIR}/obj
/usr/obj${.CURDIR}
${.CURDIR}

Reviewed by:	bde
1996-09-18 06:06:39 +00:00
bde
5639f058b9 Fixed handling of `!=' assignment. Don't warn if the shell's output is
null, but warn if there was an error reading it.
1996-09-12 03:03:25 +00:00
bde
f8b5cfc537 Fixed a missing colon in `notyet' code. 1996-08-31 14:22:33 +00:00
bde
24874ef732 Listed all the environment variables (MACHINE and PWD were missing).
Documented PWD.  MACHINE and MAKEOBJDIR are are still undocumented
except in main.c.  I will be changing MAKEOBJDIR back to its old
behaviour so that the comment in main.c actually applies.

Removed irrelevant misformatted text about make's name being argv[0].
1996-08-31 14:21:15 +00:00
nate
7737f5d2e9 'make' prints an extra leading `make: ' and extra trailing newline if
there is no target to make.

% make
make: make: no target to make.

%

Beause the function Punt() in main.c takes care of leading 'make:' and
trailing newline, so, there is no need to pass explicitly.

Submitted by:	enami@ba2.so-net.or.jp
Obtained from:	NetBSD GNATS
1996-07-23 18:55:21 +00:00