The NetBSD Project

CVS log for src/usr.bin/make/main.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / make

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.231 / (download) - annotate - [select for diffs], Tue Sep 9 06:18:17 2014 UTC (5 weeks, 6 days ago) by dholland
Branch: MAIN
CVS Tags: HEAD
Changes since 1.230: +9 -5 lines
Diff to previous 1.230 (colored)

Restore apb's 20140820 commit (-r1.228 of main.c):
It should not be an error to have VAR != command that prints no output

Joerg reverted a bit too enthusiastically.

Revision 1.230 / (download) - annotate - [select for diffs], Sun Sep 7 20:55:34 2014 UTC (6 weeks, 1 day ago) by joerg
Branch: MAIN
Changes since 1.229: +6 -38 lines
Diff to previous 1.229 (colored)

Revert all make changes except the unit tests to the state of three
weeks ago. Individual changes can be reapplied after review.

Revision 1.229 / (download) - annotate - [select for diffs], Sat Aug 23 15:05:40 2014 UTC (8 weeks, 2 days ago) by christos
Branch: MAIN
Changes since 1.228: +32 -4 lines
Diff to previous 1.228 (colored)

PR/46096: Jarmo Jaakkola: fix many problems with dependencies (PR 49086)

Quite extensive rewrite of the Suff module.  Some ripple effects into
Parse and Targ modules too.

Dependency searches in general were made to honor explicit rules so
implicit and explicit sources are no longer applied on targets that
do not invoke a transformation rule.

Archive member dependency search was rewritten.  Explicit rules now
work properly and $(.TARGET) is set correctly.  POSIX semantics for
lib(member.o) and .s1.a rules are supported.

.SUFFIXES list maintenance was rewritten so that scanning of existing
rules works when suffixes are added and that clearing the suffix list
removes single suffix rules too.  Transformation rule nodes are now
mixed with regular nodes so they are available as regular targets too
if needed (especially after the known suffixes are cleared).

The .NULL target was documented in the manual page, especially to
warn against using it when a single suffix rule would work.
A deprecation warning was also added to the manual and make also
warns the user if it encounters .NULL.

Search for suffix rules no longer allows the explicit dependencies
to override the selected transformation rule.  A check is made in
the search that the transformation that would be tried does not
already exist in the chain.  This prevents getting stuck in an infinite
loop under specific circumstances.  Local variables are now set
before node's children are expanded so dynamic sources work in
multi-stage transformations.  Make_HandleUse() no longer expands
the added children for transformation nodes, preventing triple
expansion and allowing the Suff module to properly postpone their
expansion until proper values are set for the local variables.

Directory prefix is no longer removed from $(.PREFIX) if the target
is found via directory search.

The last rule defined is now used instead of the first one (POSIX
requirement) in case a rule is defined multiple times.  Everything
defined in the first instance is undone, but things added "globally"
are honored.  To implement this, each node tracks attribute bits
which have been set by special targets (global) instead of special
sources (local).  They also track dependencies that were added by
a rule with commands (local) instead of rule with no commands (global).

New attribute, OP_FROM_SYS_MK is introduced.  It is set on all targets
found in system makefiles so that they are not eligible to become
the main target.  We cannot just set OP_NOTMAIN because it is one of
the attributes inherited from transformation and .USE rules and would
make any eligible target that uses a built-in inference rule ineligible.

The $(.IMPSRC) local variable now works like in gmake: it is set to
the first prerequisite for explicit rules.  For implicit rules it
is still the implied source.

The manual page is improved regarding the fixed features.  Test cases
for the fixed problems are added.

Other improvements in the Suff module include:
  - better debug messages for transformation rule search (length of
    the chain is now visualized by indentation)
  - Suff structures are created, destroyed and moved around by a set
    of maintenance functions so their reference counts are easier
    to track (this also gets rid of a lot of code duplication)
  - some unreasonably long functions were split into smaller ones
  - many local variables had their names changed to describe their
    purpose instead of their type

Revision 1.228 / (download) - annotate - [select for diffs], Wed Aug 20 08:37:25 2014 UTC (2 months ago) by apb
Branch: MAIN
Changes since 1.227: +9 -5 lines
Diff to previous 1.227 (colored)

It should not be an error to have VAR != command that prints no output

Revision 1.227 / (download) - annotate - [select for diffs], Fri Aug 8 19:20:39 2014 UTC (2 months, 1 week ago) by gson
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base, netbsd-7
Changes since 1.226: +7 -7 lines
Diff to previous 1.226 (colored)

Fix comment: Error, Fatal, and Punt take any number of arguments, not two.

Revision 1.226 / (download) - annotate - [select for diffs], Fri Feb 7 17:23:35 2014 UTC (8 months, 1 week ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base9, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.225: +13 -8 lines
Diff to previous 1.225 (colored)

Use Var_Value() instead of getenv() to obtain MAKEOBJDIR{,PREFIX}.

Fixes "make -X MAKEOBJDIR=foo".  Purely uncoincidentally, build.sh
creates the nbmake wrapper with MAKEFLAGS -X on FreeBSD.

Revision 1.225 / (download) - annotate - [select for diffs], Sat Sep 14 15:09:34 2013 UTC (13 months ago) by matt
Branch: MAIN
Changes since 1.224: +21 -3 lines
Diff to previous 1.224 (colored)

If MAKE_NATIVE, use sysctl to get MACHINE_ARCH from hw.machine_arch.

Revision 1.224 / (download) - annotate - [select for diffs], Wed Sep 4 15:38:26 2013 UTC (13 months, 2 weeks ago) by sjg
Branch: MAIN
Changes since 1.223: +5 -5 lines
Diff to previous 1.223 (colored)

Add VAR_INTERNAL as a context for variables set by make itself,
which should not override those set by makefiles.
Currently MAKEFILE is the only variable affected.

Reviewed by: christos

Revision 1.223 / (download) - annotate - [select for diffs], Sun Aug 4 16:48:15 2013 UTC (14 months, 2 weeks ago) by sjg
Branch: MAIN
Changes since 1.222: +3 -4 lines
Diff to previous 1.222 (colored)

Move the call to Job_SetPrefix() to Job_Init() so that
makefiles have had a chance to set .MAKE.JOB.PREFIX

Revision 1.222 / (download) - annotate - [select for diffs], Thu Jul 18 15:31:49 2013 UTC (15 months ago) by sjg
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1
Changes since 1.221: +19 -13 lines
Diff to previous 1.221 (colored)

From bmake: move decl of pwd nearer to where it is used so the whole
thing can be ifdef'd out without causing unused variable errors.

Revision 1.221 / (download) - annotate - [select for diffs], Tue Jul 16 14:22:13 2013 UTC (15 months ago) by christos
Branch: MAIN
CVS Tags: riastradh-drm2-base
Branch point for: riastradh-drm2
Changes since 1.220: +6 -6 lines
Diff to previous 1.220 (colored)

use bmake_foo instead of efoo()

Revision 1.220 / (download) - annotate - [select for diffs], Tue Jul 16 14:00:53 2013 UTC (15 months ago) by christos
Branch: MAIN
Changes since 1.219: +66 -8 lines
Diff to previous 1.219 (colored)

More gmake compatibility:
1. add -w flag to print Entering and Leaving directory name the the beginning
   and the end of processing.
2. export MAKELEVEL=$((MAKELEVEL + 1)) only in the child environment.
3. when printing error messages, prefix them with the program name [$MAKELEVEL]
   for $MAKELEVEL > 0
4. if $MAKEFLAGS consists only of letters assume it is a set of flags (as
   allowed by posix), convert them to -f -l -a -g -s, so that they get parsed
   properly.
With those fixes gmake -> bmake -> gmake -> bmake etc. works as expected.

Revision 1.219 / (download) - annotate - [select for diffs], Mon Jul 15 20:33:11 2013 UTC (15 months ago) by christos
Branch: MAIN
Changes since 1.218: +4 -4 lines
Diff to previous 1.218 (colored)

Make this work again like gmake. sjg: see the test program.

Revision 1.218 / (download) - annotate - [select for diffs], Tue Jul 9 18:44:41 2013 UTC (15 months, 1 week ago) by sjg
Branch: MAIN
Changes since 1.217: +4 -4 lines
Diff to previous 1.217 (colored)

For .MAKE.LEVEL.ENV use VAR_CMD so updates are ignored

Revision 1.217 / (download) - annotate - [select for diffs], Tue Jul 9 18:13:14 2013 UTC (15 months, 1 week ago) by sjg
Branch: MAIN
Changes since 1.216: +5 -3 lines
Diff to previous 1.216 (colored)

Set .MAKE.LEVEL.ENV to the name of the env variable used to communicate
the recursion level to sub-makes.

Revision 1.216 / (download) - annotate - [select for diffs], Sat Jul 6 18:19:17 2013 UTC (15 months, 2 weeks ago) by sjg
Branch: MAIN
Changes since 1.215: +4 -4 lines
Diff to previous 1.215 (colored)

If using gmake's MAKELEVEL; use it the same way

Revision 1.215 / (download) - annotate - [select for diffs], Sat Jun 29 15:19:32 2013 UTC (15 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.214: +4 -4 lines
Diff to previous 1.214 (colored)

PR/47973: Justin Cormack: build uses <sys/signal.h> not in POSIX

Revision 1.214 / (download) - annotate - [select for diffs], Tue Jun 18 20:06:09 2013 UTC (16 months ago) by sjg
Branch: MAIN
Changes since 1.213: +4 -4 lines
Diff to previous 1.213 (colored)

Use a #define for the variable name we put in environment to pass .MAKE.LEVEL
in case we don't want to use gmake's MAKELEVEL in a different way.

Revision 1.213 / (download) - annotate - [select for diffs], Mon Jun 10 20:24:58 2013 UTC (16 months, 1 week ago) by christos
Branch: MAIN
Changes since 1.212: +7 -9 lines
Diff to previous 1.212 (colored)

put back previous change

Revision 1.212 / (download) - annotate - [select for diffs], Mon Jun 10 19:07:09 2013 UTC (16 months, 1 week ago) by joerg
Branch: MAIN
Changes since 1.211: +6 -4 lines
Diff to previous 1.211 (colored)

Revert last, it doesn't even build.

Revision 1.211 / (download) - annotate - [select for diffs], Mon Jun 10 16:46:19 2013 UTC (16 months, 1 week ago) by christos
Branch: MAIN
Changes since 1.210: +7 -9 lines
Diff to previous 1.210 (colored)

1. Don't export .MAKE.LEVEL, because this is an illegal variable name for
   some shells; export MAKELEVEL like gmake(1) does.
2. It is absurd for the environment variable to be one greater than the
   make variable!?!?! To wit...
   printf 'all:\n\t@echo ${.MAKE.LEVEL}; printenv .MAKE.LEVEL' | make -f -

Revision 1.210 / (download) - annotate - [select for diffs], Sat Mar 23 05:31:29 2013 UTC (18 months, 4 weeks ago) by sjg
Branch: MAIN
CVS Tags: agc-symver-base, agc-symver
Changes since 1.209: +7 -4 lines
Diff to previous 1.209 (colored)

If built with filemon support, set .MAKE.PATH_FILEMON to _PATH_FILEMON
so that makefiles can test for it.

Revision 1.209 / (download) - annotate - [select for diffs], Tue Feb 26 00:45:27 2013 UTC (19 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.208: +4 -4 lines
Diff to previous 1.208 (colored)

PR/45042: Thomas Cort: HAVE_foo for setrlimit(2) and setpgid(2)

Revision 1.208 / (download) - annotate - [select for diffs], Mon Feb 25 00:15:09 2013 UTC (19 months, 3 weeks ago) by dholland
Branch: MAIN
CVS Tags: dholland-make-base
Changes since 1.207: +4 -4 lines
Diff to previous 1.207 (colored)

typo in comment

Revision 1.207 / (download) - annotate - [select for diffs], Sat Feb 16 02:39:27 2013 UTC (20 months ago) by christos
Branch: MAIN
Changes since 1.206: +3 -7 lines
Diff to previous 1.206 (colored)

we need utsname all the time.

Revision 1.206 / (download) - annotate - [select for diffs], Sat Feb 16 02:11:11 2013 UTC (20 months ago) by christos
Branch: MAIN
Changes since 1.205: +10 -8 lines
Diff to previous 1.205 (colored)

Set .MAKE.OS to utsname.sysname so we can tell bogus OS's apart early in
the build process.

Revision 1.205 / (download) - annotate - [select for diffs], Sat Jan 26 15:53:00 2013 UTC (20 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.204: +5 -4 lines
Diff to previous 1.204 (colored)

Check read and write errors to avoid warnings from linux.
XXX: Should we print an error and exit instead?

Revision 1.204 / (download) - annotate - [select for diffs], Fri Jan 25 02:01:10 2013 UTC (20 months, 3 weeks ago) by sjg
Branch: MAIN
Changes since 1.203: +3 -190 lines
Diff to previous 1.203 (colored)

Remove Check_Cwd - it is no longer needed.

Revision 1.203 / (download) - annotate - [select for diffs], Fri Aug 31 07:00:36 2012 UTC (2 years, 1 month ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.202: +5 -5 lines
Diff to previous 1.202 (colored)

Cast sizeof() to int, which is sufficent and consistent with other use
within make.

Revision 1.202 / (download) - annotate - [select for diffs], Fri Aug 31 02:59:37 2012 UTC (2 years, 1 month ago) by pgoyette
Branch: MAIN
Changes since 1.201: +5 -5 lines
Diff to previous 1.201 (colored)

Cast sizeof() to (ssize_t) to avoid build errors.

Revision 1.201 / (download) - annotate - [select for diffs], Thu Aug 30 21:17:05 2012 UTC (2 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.200: +66 -3 lines
Diff to previous 1.200 (colored)

Add a knob to control whether -V fully expands a plain variable by default.
The default retains the traditional NetBSD behavior, but the knob
can be set so that FreeBSD can retain their expected behavior.
This is a compromise to be sure.

Add a debug flag -dV to override the above, so that regardless of
the knob setting, the raw value of a variable can be easily seen.

Revision 1.200 / (download) - annotate - [select for diffs], Tue Jun 12 19:21:51 2012 UTC (2 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.199: +6 -6 lines
Diff to previous 1.199 (colored)

Replace __dead, __unused and the various printf format attributes
with versions prefixed by MAKE_ATTR_* to avoid modifying the
implementation namespace. Make sure they are available in all places
using nonints.h to fix bootstrap on Linux.

Revision 1.199 / (download) - annotate - [select for diffs], Tue Apr 24 20:35:04 2012 UTC (2 years, 5 months ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base5
Changes since 1.198: +6 -5 lines
Diff to previous 1.198 (colored)

Fix handling of -dF+/tmp/file

Revision 1.198 / (download) - annotate - [select for diffs], Fri Sep 16 15:38:04 2011 UTC (3 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: yamt-pagecache
Changes since 1.197: +4 -4 lines
Diff to previous 1.197 (colored)

Use __dead consistently. If it doesn't exist, define it away.

Revision 1.197 / (download) - annotate - [select for diffs], Wed May 4 20:38:31 2011 UTC (3 years, 5 months ago) by sjg
Branch: MAIN
CVS Tags: cherry-xenmp-base, cherry-xenmp
Changes since 1.196: +4 -4 lines
Diff to previous 1.196 (colored)

Add .MAKE.META.BAILIWICK - to identify the scope of make's control.
meta_oodate: if a file that was written or linked within our bailiwick,
but outside of .OBJDIR is missing, add it to missingFiles.
If we get to the end of the .meta file without seeing it [re]moved,
then consider the target out-of-date.

Revision 1.196 / (download) - annotate - [select for diffs], Sun Feb 20 23:12:09 2011 UTC (3 years, 7 months ago) by joerg
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.195: +4 -4 lines
Diff to previous 1.195 (colored)

Use the current directory at start time for .PARSEDIR, if the filename
contains no /.

Revision 1.195 / (download) - annotate - [select for diffs], Sun Feb 13 21:24:43 2011 UTC (3 years, 8 months ago) by sjg
Branch: MAIN
CVS Tags: bouyer-quota2-base
Changes since 1.194: +4 -4 lines
Diff to previous 1.194 (colored)

Mark unused args.

Revision 1.194 / (download) - annotate - [select for diffs], Sat Dec 25 20:34:08 2010 UTC (3 years, 9 months ago) by dholland
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Branch point for: bouyer-quota2
Changes since 1.193: +5 -4 lines
Diff to previous 1.193 (colored)

Improve confusing error message when getcwd() fails.

Revision 1.193 / (download) - annotate - [select for diffs], Sat Dec 25 04:57:07 2010 UTC (3 years, 9 months ago) by dholland
Branch: MAIN
Changes since 1.192: +4 -4 lines
Diff to previous 1.192 (colored)

Begin cleanup of the make parser: separate out the logic for reading files
from the parsing goo. This will now use mmap for reading if it works and
fall back to read only for pipes and such. Step 1 of a cleanup program
proposed without objection on tech-toolchain.

Revision 1.192 / (download) - annotate - [select for diffs], Mon Dec 13 01:48:50 2010 UTC (3 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.191: +4 -4 lines
Diff to previous 1.191 (colored)

Add const necessary for clean non-native build.

Revision 1.191 / (download) - annotate - [select for diffs], Thu Dec 9 22:30:16 2010 UTC (3 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.190: +24 -15 lines
Diff to previous 1.190 (colored)

meta_oodate(): we should track 'latestdir' on a per process basis.
Also, only consider target out of date if a not-found file is outside
'CWD'.  Ignore anything in "/tmp/" or tmpdir.

Revision 1.190 / (download) - annotate - [select for diffs], Mon Sep 13 15:36:57 2010 UTC (4 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.189: +10 -3 lines
Diff to previous 1.189 (colored)

Add meta.c which implements "meta" mode for make.
In this mode, a .meta file is created for each target, capturing
the expanded commands used, any command output, and if filemon(9)
is available, a record of system calls which are of interest.
Not enabled unless USE_META=yes is set when building make.
Also, if FILEMON_H exists, meta.c will be compiled to use filemon(9).

Revision 1.189 / (download) - annotate - [select for diffs], Sat Aug 7 06:44:08 2010 UTC (4 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.188: +6 -5 lines
Diff to previous 1.188 (colored)

wait[pid]() is called in several places.
If we encounter an error and run the .ERROR target, we may
reap a pid which jobs is waiting for.  Ensure that we
cleanup so that make isn't left waiting for an already
deceased child.

Revision 1.188 / (download) - annotate - [select for diffs], Thu Jun 3 15:40:16 2010 UTC (4 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.187: +4 -4 lines
Diff to previous 1.187 (colored)

We have required sigaction() for quite a while.
Use bmake_signal() - a wrapper around sigaction()
rather than signal() to ensure that signals are handled
consistently.

Revision 1.187 / (download) - annotate - [select for diffs], Mon May 17 17:01:16 2010 UTC (4 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.186: +19 -4 lines
Diff to previous 1.186 (colored)

put back canonicalization, but avoid doing it for files that don't contain /
From dholland

Revision 1.186 / (download) - annotate - [select for diffs], Mon May 10 15:54:21 2010 UTC (4 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.185: +12 -13 lines
Diff to previous 1.185 (colored)

PrintOnError: run .ERROR last, so even if it causes problems we
still print MAKE_PRINT_VAR_ON_ERROR.

Revision 1.185 / (download) - annotate - [select for diffs], Wed May 5 14:10:39 2010 UTC (4 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.184: +4 -11 lines
Diff to previous 1.184 (colored)

Revert bogus patch that attempted to canonicalize a non absolute argv[0] using
realpath(3). Consider: touch Makefile; mkdir make; make. This will set $MAKE
to $PWD/make so further attempts to use ${MAKE} will try to execute the
directory. This needs $ORIGIN to be fixed properly, or alternatively one
can duplicate the logic for execvp(3) and search the path for the make
executable. Not worth it. It was working just fine before!

Revision 1.184 / (download) - annotate - [select for diffs], Thu Apr 29 23:12:21 2010 UTC (4 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.183: +6 -3 lines
Diff to previous 1.183 (colored)

fflush stdout, before writing to stderr.

Revision 1.183 / (download) - annotate - [select for diffs], Fri Apr 23 00:18:50 2010 UTC (4 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.182: +8 -5 lines
Diff to previous 1.182 (colored)

On darwin at least, vfork() fails in child of vfork().
It probably shouldn't work anyway, so avoid this.
We use the macro vFork() - a function seems to cause problems
and is unnecessary overhead.

Revision 1.182 / (download) - annotate - [select for diffs], Thu Apr 22 22:39:13 2010 UTC (4 years, 5 months ago) by dholland
Branch: MAIN
Changes since 1.181: +4 -4 lines
Diff to previous 1.181 (colored)

Use _PATH_TMP instead of a literal /tmp; noted by Christos

Revision 1.181 / (download) - annotate - [select for diffs], Thu Apr 22 20:25:16 2010 UTC (4 years, 5 months ago) by dholland
Branch: MAIN
Changes since 1.180: +4 -4 lines
Diff to previous 1.180 (colored)

don't use strlcpy; it causes bootstrap issues. (noted by moof)

Revision 1.180 / (download) - annotate - [select for diffs], Thu Apr 22 19:11:17 2010 UTC (4 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.179: +48 -3 lines
Diff to previous 1.179 (colored)

Just because $TMPDIR is set does not mean it is valid.
Add a central function for creating temp files so we have one place to
audit.

Reviewed by: dh

Revision 1.179 / (download) - annotate - [select for diffs], Tue Apr 20 17:18:08 2010 UTC (4 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.178: +4 -4 lines
Diff to previous 1.178 (colored)

On some systems realpath will prefix make with cwd, so make sure
we can stat(2) the value for .MAKE

Revision 1.178 / (download) - annotate - [select for diffs], Wed Apr 14 16:16:17 2010 UTC (4 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.177: +13 -5 lines
Diff to previous 1.177 (colored)

If argv[0] is not an absolute path, attempt to resolve it
using realpath() for setting .MAKE

Revision 1.177 / (download) - annotate - [select for diffs], Thu Apr 8 17:41:29 2010 UTC (4 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.176: +6 -4 lines
Diff to previous 1.176 (colored)

Process .ERROR the same as .BEGIN, .END etc
so that it cannot be the default target.
Add unit-tests for .info - .error, and .ERROR.

Revision 1.176 / (download) - annotate - [select for diffs], Wed Apr 7 00:11:27 2010 UTC (4 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.175: +88 -16 lines
Diff to previous 1.175 (colored)

Add:

.error "message"
.warning "message"
	based on FreeBSD implementation.
	add .info while were at it.

.ERROR:	a target to run on error.
	We pass the failing GNode to PrintOnError so it can set
	.ERROR_TARGET.

.MAKE.MAKEFILE_PREFERENCE
	As a means to control make's list of prefered makefile names.
	(Default: "makefile Makefile")

.MAKE.DEPENDFILE
	Names the file to read dependencies from
	(Default ".depend")

.MAKE.MODE
	Processed after all makefiles are read.
	Can put make into "compat" mode (more to come).

Fix:

compat.c: Error code should not be sent to debug_file.
Make_DoAllVar: use DONE_ALLSRC to avoid processing a node multiple times.
ReadMakefile: we can simply use doing_depend to control setting MAKEFILE.

Revision 1.175 / (download) - annotate - [select for diffs], Mon Jan 4 17:05:25 2010 UTC (4 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.174: +16 -9 lines
Diff to previous 1.174 (colored)

We need to have set curdir before calling Dir_FindHereOrAbove().
We can call getcwd again if -C is used.

Revision 1.174 / (download) - annotate - [select for diffs], Wed Sep 9 17:09:49 2009 UTC (5 years, 1 month ago) by sjg
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.173: +70 -65 lines
Diff to previous 1.173 (colored)

We must delay setting .CURDIR and .OBJDIR until after MainParseArgs()
in case -C is used - in which case we should also ignore $PWD.

Revision 1.173 / (download) - annotate - [select for diffs], Tue Sep 8 17:29:20 2009 UTC (5 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.172: +8 -3 lines
Diff to previous 1.172 (colored)

Reviewed by: apb

Use .MAKE.LEVEL to track recursion.
The first instance of make will have .MAKE.LEVEL 0, which
can be handy for excluding rules which should not apply
in a sub-make.
gmake and freebsd's make have a similar mechanism, but each
uses a different variable to track it.  Since we cannot be
compatible with both, we allow the makefiles to cope if they want
by handling the export of .MAKE.LEVEL+1 in Var_Set().

Revision 1.172 / (download) - annotate - [select for diffs], Thu Sep 3 06:45:23 2009 UTC (5 years, 1 month ago) by dholland
Branch: MAIN
Changes since 1.171: +6 -4 lines
Diff to previous 1.171 (colored)

Use the W* macros to test wait results.
(Mentioned by Joerg in chat a few days ago.)

Revision 1.171 / (download) - annotate - [select for diffs], Wed Aug 26 23:17:11 2009 UTC (5 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.170: +15 -5 lines
Diff to previous 1.170 (colored)

Add -C directory, same as gmake and freebsd make.

Revision 1.170 / (download) - annotate - [select for diffs], Tue Mar 24 13:53:21 2009 UTC (5 years, 6 months ago) by perry
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.169: +6 -3 lines
Diff to previous 1.169 (colored)

per dholland, put back MAKE_VERSION for the benefit of third party users.

Revision 1.169 / (download) - annotate - [select for diffs], Fri Mar 20 20:48:00 2009 UTC (5 years, 7 months ago) by perry
Branch: MAIN
Changes since 1.168: +3 -6 lines
Diff to previous 1.168 (colored)

The Makefile and main.c arranged to put "netbsd-${DATE}" into the
executable. Remove this so that different compiles can be binary
compared. rcsid's for all files are already embedded in the executable
so versions can be easily distinguished. (I didn't catch this on
previous passes because I did my builds on the same day.)

Note: there's a special rule for main.o in Makefile with a purpose I
can't actually discern -- I think it isn't needed, and I've flagged it
with a comment.

Revision 1.168 / (download) - annotate - [select for diffs], Wed Mar 18 22:02:49 2009 UTC (5 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.167: +4 -5 lines
Diff to previous 1.167 (colored)

use progname instead of getprogname() for portability.

Revision 1.167 / (download) - annotate - [select for diffs], Sun Mar 1 01:49:17 2009 UTC (5 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.166: +23 -3 lines
Diff to previous 1.166 (colored)

use siginfo to report on the directory we are working on if available.

Revision 1.166 / (download) - annotate - [select for diffs], Sat Jan 24 11:59:39 2009 UTC (5 years, 8 months ago) by dsl
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.165: +3 -81 lines
Diff to previous 1.165 (colored)

Move the bmake_malloc() functions into their own .c and .h files.
Include instead of make.h in a few places.

Revision 1.165 / (download) - annotate - [select for diffs], Fri Jan 23 21:58:27 2009 UTC (5 years, 8 months ago) by dsl
Branch: MAIN
Changes since 1.164: +10 -10 lines
Diff to previous 1.164 (colored)

Sprinkle some const.
In particular for Lst_Find() and Lst_FindFrom().
Remove some unneeded casts and some now-undeeded UNCONST().

Revision 1.164 / (download) - annotate - [select for diffs], Fri Jan 23 21:26:30 2009 UTC (5 years, 8 months ago) by dsl
Branch: MAIN
Changes since 1.163: +7 -7 lines
Diff to previous 1.163 (colored)

Change 'ClientData' to 'void *' so that relevant parameters can
be made 'const void *'.

Revision 1.163 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:37 2009 UTC (5 years, 9 months ago) by dsl
Branch: MAIN
Changes since 1.162: +7 -7 lines
Diff to previous 1.162 (colored)

Change 'Buffer' so that it is the actual struct, not a pointer to it.
Saves having to malloc/free a fixed size structure.
Buf_Init() now takes ptr to Buffer to initialiase.
Change Buf_Destroy() to return ptr to string when not freed.
Remove large number of casts to (Byte) and (Byte *) - 'Byte' is 'char' here.
Buf_AddByte[s] guarantees that the data is 0 termininated, so never add '\0'.
Keep 'count' not 'left' and 'inPtr', code is simplier with only one update.
Fix fallou, no functional change.

Revision 1.162 / (download) - annotate - [select for diffs], Fri Jan 16 21:13:13 2009 UTC (5 years, 9 months ago) by dsl
Branch: MAIN
Changes since 1.161: +18 -9 lines
Diff to previous 1.161 (colored)

Send output of Error() to debug_file (unless stderr/stdout).

Revision 1.161 / (download) - annotate - [select for diffs], Tue Jan 13 18:22:34 2009 UTC (5 years, 9 months ago) by dsl
Branch: MAIN
Changes since 1.160: +4 -4 lines
Diff to previous 1.160 (colored)

Sprinkle a const. (arg of Main_ParseArgLine())

Revision 1.160 / (download) - annotate - [select for diffs], Sat Dec 20 09:42:02 2008 UTC (5 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.159: +3 -4 lines
Diff to previous 1.159 (colored)

Delete very splurious 'free(buf)' that xtos added.
Fixes PR bin/40233

Revision 1.159 / (download) - annotate - [select for diffs], Fri Dec 19 22:03:41 2008 UTC (5 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.158: +9 -3 lines
Diff to previous 1.158 (colored)

if brk_string fail, so do we.

Revision 1.158 / (download) - annotate - [select for diffs], Sat Dec 13 18:11:53 2008 UTC (5 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.157: +4 -4 lines
Diff to previous 1.157 (colored)

fix typo in comment

Revision 1.157 / (download) - annotate - [select for diffs], Sat Dec 13 15:19:29 2008 UTC (5 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.156: +11 -11 lines
Diff to previous 1.156 (colored)

Use NULL instead of -1 cast to the relavant type (usually via NIL).
This was a suggestion from christos - so blame him if there is a deep
reason for using -1 :-)

Revision 1.156 / (download) - annotate - [select for diffs], Sat Dec 13 14:26:10 2008 UTC (5 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.155: +4 -4 lines
Diff to previous 1.155 (colored)

Do not let the variable name "" be set from the command line (-D "")
or from ::= modifiers (${::=foo}).

Revision 1.155 / (download) - annotate - [select for diffs], Sun Dec 7 04:50:15 2008 UTC (5 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.154: +32 -23 lines
Diff to previous 1.154 (colored)

add debug flag for cwd.

Revision 1.154 / (download) - annotate - [select for diffs], Wed Oct 22 15:04:49 2008 UTC (5 years, 11 months ago) by apb
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Changes since 1.153: +5 -5 lines
Diff to previous 1.153 (colored)

Send debugging output to stderr by default, not to stderr.
If you really want debugging to stdout, specify "-dFstdout"
in MAKEFLAGS or on the command line.

Discussed in tech-userlevel.

Revision 1.153 / (download) - annotate - [select for diffs], Sun Oct 19 08:30:10 2008 UTC (6 years ago) by apb
Branch: MAIN
Changes since 1.152: +18 -12 lines
Diff to previous 1.152 (colored)

Always make the debugging output unbuffered; in addition, if debugging
is enabled but debugging output is not directed to stdout, then make
stdout line buffered.

Previously, the code to make debug output unbuffered applied only if
debugging to a file, not if debugging to stdout or stderr.  Making
stdout line buffered when debugging was suggested by Steven Bellovin.

Revision 1.152 / (download) - annotate - [select for diffs], Sat Oct 18 14:35:32 2008 UTC (6 years ago) by apb
Branch: MAIN
Changes since 1.151: +11 -11 lines
Diff to previous 1.151 (colored)

Allow optional "+" in "-dF[+]filename" even if the filename is "stdout"
or "stderr".  Previously, the "+" was alowed only for real file names,
but it's easier to write the documentation if the "+" is always allowed.

Revision 1.151 / (download) - annotate - [select for diffs], Mon Oct 6 22:09:21 2008 UTC (6 years ago) by joerg
Branch: MAIN
Changes since 1.150: +46 -35 lines
Diff to previous 1.150 (colored)

Don't use emalloc and friends directly, but call them consistently
bmake_malloc and friends. Implement them via macros for the native case
and provide fallback implementations otherwise. Avoid polluting the
namespace by not defining enomem globally. Don't bother to provide
strdup and strndup, they were only used for the estrdup and estrndup
comapt code.

This addresses the presence of emalloc in system libraries on A/UX and
resulted strange issues as reported by Timothy E. Larson.

Revision 1.150 / (download) - annotate - [select for diffs], Mon Jul 21 14:19:24 2008 UTC (6 years, 3 months ago) by lukem
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.149: +5 -5 lines
Diff to previous 1.149 (colored)

Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.

Revision 1.149 / (download) - annotate - [select for diffs], Fri Feb 15 21:29:50 2008 UTC (6 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-1, wrstuden-revivesa-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base
Branch point for: wrstuden-revivesa
Changes since 1.148: +26 -30 lines
Diff to previous 1.148 (colored)

back all changes out until I fix it properly.

Revision 1.148 / (download) - annotate - [select for diffs], Fri Feb 15 02:38:07 2008 UTC (6 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: christos-broken
Changes since 1.147: +6 -6 lines
Diff to previous 1.147 (colored)

fix != expansion bug I introduced.

Revision 1.147 / (download) - annotate - [select for diffs], Thu Feb 14 22:11:20 2008 UTC (6 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.146: +27 -23 lines
Diff to previous 1.146 (colored)

- use pid_t/size_t as appropriate instead of int.
- use %ld to print pids.
- fix a bit of lint.
- WARNS=4

Revision 1.146 / (download) - annotate - [select for diffs], Sat Jan 19 06:52:14 2008 UTC (6 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.145: +6 -3 lines
Diff to previous 1.145 (colored)

Implement -dl (aka LOUD) to override '@' at the start of script lines.
Based on supplied patch.

PR: 37202

Revision 1.145 / (download) - annotate - [select for diffs], Fri Dec 21 20:32:24 2007 UTC (6 years, 10 months ago) by dsl
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.144: +8 -4 lines
Diff to previous 1.144 (colored)

If make can't find a rule to create a file it needs to satisfy a rule
that came from .depend then just output a message and contine.

Revision 1.144 / (download) - annotate - [select for diffs], Sat Oct 13 16:16:41 2007 UTC (7 years ago) by apb
Branch: MAIN
CVS Tags: cube-autoconf-base, cube-autoconf
Changes since 1.143: +18 -4 lines
Diff to previous 1.143 (colored)

* Convert all uses of strdup() to estrdup();
* Use estrndup() in a few cases where it simplifies the code;
* Provide compatibility definitions of strndup and estrndup;

Revision 1.143 / (download) - annotate - [select for diffs], Fri Oct 5 15:27:45 2007 UTC (7 years ago) by sjg
Branch: MAIN
Changes since 1.142: +5 -3 lines
Diff to previous 1.142 (colored)

Add the ability to .export variables to the environment.

Revision 1.142 / (download) - annotate - [select for diffs], Mon Oct 1 22:14:10 2007 UTC (7 years ago) by sjg
Branch: MAIN
Changes since 1.141: +16 -3 lines
Diff to previous 1.141 (colored)

Add the ability to tweak the token output before targets in job mode.
Eg.
.MAKE.JOB.PREFIX=${.newline}---${.MAKE:T}[${.MAKE.PID}]
would produce
---make[1234] target ---

Revision 1.141 / (download) - annotate - [select for diffs], Mon Jan 1 21:29:01 2007 UTC (7 years, 9 months ago) by dsl
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.140: +4 -4 lines
Diff to previous 1.140 (colored)

Since the 'buf' code here is only used by make, we don't need two names
for the default buffer size of 256.
Also allow for the trailing 0 byte!

Revision 1.140 / (download) - annotate - [select for diffs], Sat Dec 16 08:59:29 2006 UTC (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.139: +16 -12 lines
Diff to previous 1.139 (colored)

Use open/read/close instead of stdio for makefiles.
Commons up the code for reading files and buffers, and allows a further
change where we don't copy the data out of the buffer when generating 'lines.
This will speed up makefile parsing (esp .if clauses).

Revision 1.139 / (download) - annotate - [select for diffs], Wed Dec 6 20:38:21 2006 UTC (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.138: +4 -4 lines
Diff to previous 1.138 (colored)

Add anewline to the end of the error message output when the debug log
file cannot be opened.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Dec 3 20:37:39 2006 UTC (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.137: +38 -34 lines
Diff to previous 1.137 (colored)

Some minor changes:
- Only test 'printVars' once.
  Has side effect of not trying to find the 'main' target for '-V varname'.
- Only reap the single child process in Cmd_Exec(),
  I think this is for 'xx != cmd' so probobably no other children should exist.
- Don't read and parse .depend if '-r' and '-V varname' are set.
  I suspect that .depend shouldn't affect the output of any -V command...

Revision 1.137 / (download) - annotate - [select for diffs], Fri Nov 17 22:07:39 2006 UTC (7 years, 11 months ago) by dsl
Branch: MAIN
CVS Tags: netbsd-4-base
Branch point for: netbsd-4
Changes since 1.136: +5 -8 lines
Diff to previous 1.136 (colored)

A rather large rototil in the way the parallel make code schedules jobs.
This gives a considerable speedup in the processing of .WAIT and .ORDER.
Both .WAIT and .ORDER stop both the commands of the node, and its dependant
nodes being built until the LH nodes are complete.
.WAIT only applies to the dependency line on which it appears, whereas
.ORDER applies globally between the two nodes.
In both cases dependant nodes can be built because other targets need them.
make now processes the target list left to right, scheduling child nodes
as they are needed to make other nodes (instead of attempting to generate
a bottom-up dependency graph at the start).  This means that 'make -j1'
will tend to build in the same order as a non-parallel make.
Note that:
    all: x y
    x: a .WAIT b
    y: b .WAIT a
does not generate a dependency loop.
But
    x: y
    .ORDER y x
does (unless something elswhere causes 'y' to be built).

Revision 1.136 / (download) - annotate - [select for diffs], Sat Nov 11 22:07:37 2006 UTC (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.135: +24 -13 lines
Diff to previous 1.135 (colored)

If the last 3 bytes of the debug filename supplied with -DFxxxx are .%d then
replace the %d with getpid().
Allows the trace files for different make process is a big recursive make
to be written to different files - and have a slight chance of being useful.

Revision 1.135 / (download) - annotate - [select for diffs], Wed Nov 1 23:48:20 2006 UTC (7 years, 11 months ago) by sjg
Branch: MAIN
Changes since 1.134: +4 -4 lines
Diff to previous 1.134 (colored)

Use of libutil to provide emalloc et al, should be predicated on
a native NetBSD build using TOOLDIR etc.
Otherwise use the local versions.

Reviewed by: christos

Revision 1.134 / (download) - annotate - [select for diffs], Fri Oct 27 21:00:19 2006 UTC (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.133: +8 -8 lines
Diff to previous 1.133 (colored)

Since 'ClientData' is 'void *', nuke almost all the (ClientData) casts.

Revision 1.133 / (download) - annotate - [select for diffs], Sun Oct 15 08:38:21 2006 UTC (8 years ago) by dsl
Branch: MAIN
Changes since 1.132: +111 -73 lines
Diff to previous 1.132 (colored)

Output all debug trace output through 'debug_file' defaulting to 'stdout'.
(Almost all the debug output went there, but some went to stderr.)
Split the parsing of -d (debug flags) out into its own routine.
Allow the output filename to be changed by specifying -dF<file> to create
a log file, or -dF+<file> to append to it. <file> may be stdout or stderr.
Also change so that -d-<flags> acts on <flags> locally but doesn't copy
them to MAKEFLAGS so they aren't inherited by child makes.
I'm not 100% happy with the command line syntax for the above, so they are
currently undocumented.

Revision 1.132 / (download) - annotate - [select for diffs], Wed Oct 11 07:01:44 2006 UTC (8 years ago) by dsl
Branch: MAIN
Changes since 1.131: +14 -14 lines
Diff to previous 1.131 (colored)

There is no need to resize the pollfd array, it can only ever have 2+maxJobs
entries, so allocate at startup.
Use an 'int jobPipe[2]' within the job structure, and create pipes directly
into it.  Common up the code that creates all the pipes - making them all
non-block on the read side in the process.
Call Job_CatchChildren() directly from Job_CatchOutput() so that it only
gets called when a child actually exits.
NB: Something causes a 'pregnant pause' if (for example) you call 'nbmake obj'
in src/tools.  Introduced between netbsd 3 and 4.

Revision 1.131 / (download) - annotate - [select for diffs], Mon Oct 9 14:36:41 2006 UTC (8 years ago) by dsl
Branch: MAIN
Changes since 1.130: +4 -10 lines
Diff to previous 1.130 (colored)

Rip out the code for the undocumented -P (don't use pipes for command
output) option.  I'm sure it is baggage from the past.

Revision 1.130 / (download) - annotate - [select for diffs], Sat Aug 26 22:19:03 2006 UTC (8 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.129: +4 -4 lines
Diff to previous 1.129 (colored)

Fix non-native build.

Revision 1.129 / (download) - annotate - [select for diffs], Sat Aug 26 18:17:42 2006 UTC (8 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.128: +12 -10 lines
Diff to previous 1.128 (colored)

More programs using efun.

Revision 1.128 / (download) - annotate - [select for diffs], Fri Jul 28 17:06:14 2006 UTC (8 years, 2 months ago) by sjg
Branch: MAIN
CVS Tags: abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.127: +11 -7 lines
Diff to previous 1.127 (colored)

Fix minor mem leak in PrintOnError().

Revision 1.127 / (download) - annotate - [select for diffs], Thu Jun 29 22:02:06 2006 UTC (8 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.126: +4 -4 lines
Diff to previous 1.126 (colored)

Fixed gcc warnings about signed vs. unsigned in comparisons.

Revision 1.126 / (download) - annotate - [select for diffs], Fri May 19 17:21:46 2006 UTC (8 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: chap-midi-nbase, chap-midi-base
Branch point for: chap-midi
Changes since 1.125: +6 -4 lines
Diff to previous 1.125 (colored)

Coverity CID 3147: Plug memory leak.

Revision 1.125 / (download) - annotate - [select for diffs], Sat Apr 22 18:48:46 2006 UTC (8 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.124: +6 -6 lines
Diff to previous 1.124 (colored)

Coverity CID 527: Make it painfully obvious that av is freed.

Revision 1.124 / (download) - annotate - [select for diffs], Wed Apr 12 20:32:27 2006 UTC (8 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.123: +22 -10 lines
Diff to previous 1.123 (colored)

Change ReadMakefile to return 0 on success so that it better meets
the expectations of Lst_Find*.  This way we only read the first sys.mk
found via sysIncPath.
At the same time we need to add a ReadAllMakefiles() for the case
where multiple -f makefile args are provided (uncommon, but documented).

Revision 1.123 / (download) - annotate - [select for diffs], Fri Mar 31 21:05:34 2006 UTC (8 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.122: +10 -7 lines
Diff to previous 1.122 (colored)

There is no need to count jobs and job tokens.
If we don't create the job pipe, use the '-j n' option to limit the number
of tokens we will remove from the pipe.

Revision 1.122 / (download) - annotate - [select for diffs], Fri Mar 17 15:39:44 2006 UTC (8 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.121: +42 -36 lines
Diff to previous 1.121 (colored)

Coverity CID 2719: argvalue can be NULL when passed into functions.
De-obfuscate by undefining optarg, and check explicitly for NULL before
use.

Revision 1.121 / (download) - annotate - [select for diffs], Sat Mar 11 17:18:00 2006 UTC (8 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.120: +9 -36 lines
Diff to previous 1.120 (colored)

Remove most of the code seemed to be there to support 'remote jobs'.
It isn't clear that it ever worked, if it did it has almost certainly
bitrotted in the last 12 years.  I'm not even sure all the required
components were present.
I suspect it was written to attempt to use a 'farm' of diskless sun3s.
In any case the apparant random assignment fo jobs to other systems doesn't
actually seem like a good idea!
Things like 'distcc' han be used to help slow systems run native builds.
Removing this code also simplifies make, and should let me speed up some of
its processing - without worrying about bitrotting it further.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Feb 26 22:45:46 2006 UTC (8 years, 7 months ago) by apb
Branch: MAIN
Changes since 1.119: +5 -3 lines
Diff to previous 1.119 (colored)

Make ".WAIT" apply recursively to all children of nodes on the right
hand side of the .WAIT, except when the recursive interpretation would
cause a cycle in the dependency graph.

Discussed in tech-toolchain.  Reviewed by christos, sjg.

Revision 1.119 / (download) - annotate - [select for diffs], Sat Feb 18 04:10:05 2006 UTC (8 years, 8 months ago) by tsutsui
Branch: MAIN
Changes since 1.118: +6 -5 lines
Diff to previous 1.118 (colored)

Don't use data in freed stack.

Revision 1.118 / (download) - annotate - [select for diffs], Sun Jan 22 19:54:55 2006 UTC (8 years, 8 months ago) by dsl
Branch: MAIN
Changes since 1.117: +7 -3 lines
Diff to previous 1.117 (colored)

Make .NOTPARALLEL stop the job engine issuing more than one token (instead
of trying to de-jobify the make.
You can now put .NOTPARALLEL in a submake of a recursive make (where it is
using a job-token pipe from the outer make and have it only run a single job.
You can also specify .NOTPARRALEL in the root makefile of a large recursive
make and have the submakes run multiple commands.
Add some diagnostics printfs (enabled with -dp) to the parser.

Revision 1.117 / (download) - annotate - [select for diffs], Wed Jan 4 21:31:55 2006 UTC (8 years, 9 months ago) by dsl
Branch: MAIN
Changes since 1.116: +3 -4 lines
Diff to previous 1.116 (colored)

When a parallel make job completes, always put the job token back into the
job_pipe and collect another one for the next job.
If we are aborting, remove all the 'normal' job tokens and add an 'error' one.
If we get an 'error' token, remove any other tokens, re-insert the error
token and exit (with error 'cos that is easier).
Add the current pid to some of the DEBUG(JOB) traces.
Combined effect is that parallel makes actually stop some fairly shortly
after an error, rather than running on long enough to fill the scrollback.

Revision 1.116 / (download) - annotate - [select for diffs], Tue Aug 9 21:36:42 2005 UTC (9 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.115: +4 -4 lines
Diff to previous 1.115 (colored)

Add typedefs for DuplicateProc and FreeProc from Max Okumoto.

Revision 1.115 / (download) - annotate - [select for diffs], Mon Aug 8 16:42:54 2005 UTC (9 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.114: +5 -5 lines
Diff to previous 1.114 (colored)

From Max Okumoto:
- Remove casts to NULL.
- Remove space between cast and object.

Revision 1.114 / (download) - annotate - [select for diffs], Fri Aug 5 00:53:18 2005 UTC (9 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.113: +4 -4 lines
Diff to previous 1.113 (colored)

More KNF cleanups from Max Okumoto

Revision 1.113 / (download) - annotate - [select for diffs], Wed Aug 3 20:55:01 2005 UTC (9 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.112: +4 -4 lines
Diff to previous 1.112 (colored)

from Max Okumoto: debug should be int, not boolean.

Revision 1.112 / (download) - annotate - [select for diffs], Mon Jul 25 22:55:58 2005 UTC (9 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.111: +27 -27 lines
Diff to previous 1.111 (colored)

Whitespace KNF cleanup from Max Okumoto

Revision 1.111 / (download) - annotate - [select for diffs], Fri Jun 24 02:53:27 2005 UTC (9 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.110: +11 -0 lines
Diff to previous 1.110 (colored)

Revert rev 1.110 and restore the previous "automagic objdir" support;
at least until we clean up the objdir semantics in <bsd.obj.mk> for
NetBSD builds.

Revision 1.110 / (download) - annotate - [select for diffs], Thu Jun 23 02:31:31 2005 UTC (9 years, 4 months ago) by lukem
Branch: MAIN
Changes since 1.109: +3 -14 lines
Diff to previous 1.109 (colored)

Deprecate support for automagically setting the .OBJDIR to
	./obj.${MACHINE}
	./obj
	/usr/obj/${PWD}

The rules for the default .OBJDIR setting are now simplified to
(and documented as) trying the chdir to the following
(if the appropriate variable is defined):
	${MAKEOBJDIRPREFIX}${.CURDIR}
	${MAKEOBJDIR}
	${.CURDIR}

.OBJDIR can be overridden in the makefile.
<bsd.obj.mk> uses this to provide the "culled" .OBJDIR semantics
for NetBSD's /usr/src builds.

MAKEOBJDIRPREFIX & MAKEOBJDIR still can only be provided
in the environment or on make(1)'s command line.

Per discussion on tech-toolchain.
This should reduce a lot of lossage people have experienced over
the years with various .OBJDIR setups.

Revision 1.109 / (download) - annotate - [select for diffs], Fri Jun 17 19:25:20 2005 UTC (9 years, 4 months ago) by jmc
Branch: MAIN
Changes since 1.108: +6 -3 lines
Diff to previous 1.108 (colored)

Add new debugging option '-dn' which will leave the scripts fed into make on
-j jobs in /tmp for debugging purposes. Add a note to the man page that
this could cause problems if run a lot (due to the number of files created)

Revision 1.108 / (download) - annotate - [select for diffs], Fri Jun 3 16:15:46 2005 UTC (9 years, 4 months ago) by lukem
Branch: MAIN
Changes since 1.107: +6 -3 lines
Diff to previous 1.107 (colored)

appease gcc -Wuninitialized

Revision 1.107 / (download) - annotate - [select for diffs], Wed Jun 1 17:17:34 2005 UTC (9 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.106: +11 -3 lines
Diff to previous 1.106 (colored)

Add :Ox for random ordering, based on patch from
Mike M. Volokhov <mishka@apk.od.ua>

Revision 1.106 / (download) - annotate - [select for diffs], Wed Feb 16 15:11:52 2005 UTC (9 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3
Changes since 1.105: +6 -6 lines
Diff to previous 1.105 (colored)

PR/29203, PR/29204: Max Okumoto: KNF changes to make [no functional changes]

Revision 1.105 / (download) - annotate - [select for diffs], Tue Jul 13 11:59:12 2004 UTC (10 years, 3 months ago) by wiz
Branch: MAIN
Changes since 1.104: +6 -6 lines
Diff to previous 1.104 (colored)

Sync usage with man page; from Kouichirou Hiratsuka in PR 26223.

Revision 1.104 / (download) - annotate - [select for diffs], Thu Jul 1 20:38:09 2004 UTC (10 years, 3 months ago) by jmc
Branch: MAIN
Changes since 1.103: +4 -8 lines
Diff to previous 1.103 (colored)

Change to use __unused instead and provide a compat definition in make.h if
not already defined from cdefs.h

Revision 1.103 / (download) - annotate - [select for diffs], Thu Jul 1 04:39:30 2004 UTC (10 years, 3 months ago) by jmc
Branch: MAIN
Changes since 1.102: +7 -3 lines
Diff to previous 1.102 (colored)

Add some checks for gcc around a few function declarations and note the
unused variables. Also fix a few other warnings that PR#22118 shows when
trying to compile bmake on non-NetBSD hosts

Revision 1.102 / (download) - annotate - [select for diffs], Fri May 7 00:04:38 2004 UTC (10 years, 5 months ago) by ross
Branch: MAIN
Changes since 1.101: +6 -6 lines
Diff to previous 1.101 (colored)

Simplify build, no functional changes.

Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when
you want things simple, instead add MAKE_NATIVE to get those hugely
important features like __RCSID().

It's now possible to build make on some hosts with: cc *.c */*.c

Revision 1.101 / (download) - annotate - [select for diffs], Thu Apr 22 21:19:02 2004 UTC (10 years, 6 months ago) by ross
Branch: MAIN
Changes since 1.100: +9 -6 lines
Diff to previous 1.100 (colored)

Recognize -- (dash dash) and apply the usual interpretation.

Notes:

* The immediately previous version of make errored out on --,
which is what needs fixing.

* Historic bsd make silently ate -- and continued to process
options, so this is a behavior change from that, too, but presumably
there is more to gain in fixing it than in being bug-compatible.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Mar 27 00:17:08 2004 UTC (10 years, 6 months ago) by enami
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.99: +10 -3 lines
Diff to previous 1.99 (colored)

Validate existence of arguemnt.  PR#24933.

Revision 1.99 / (download) - annotate - [select for diffs], Wed Mar 24 00:59:40 2004 UTC (10 years, 7 months ago) by fair
Branch: MAIN
Changes since 1.98: +4 -4 lines
Diff to previous 1.98 (colored)

Fix comment per PR 24437; make(1) tries "makefile" first, and then
"Makefile", not the other way around as previously documented.

Revision 1.98 / (download) - annotate - [select for diffs], Thu Feb 5 23:31:34 2004 UTC (10 years, 8 months ago) by ross
Branch: MAIN
Changes since 1.97: +58 -16 lines
Diff to previous 1.97 (colored)

Parse args with open code to eliminate use of getopt(3).
No functional change under NetBSD.

Restarting a getopt(3) loop is an extension to the posix getopt(3)
behavior and is not portable.

Fixes tools build (tools/groff) under Cygwin.

Revision 1.97 / (download) - annotate - [select for diffs], Tue Feb 3 19:25:29 2004 UTC (10 years, 8 months ago) by chuck
Branch: MAIN
Changes since 1.96: +24 -7 lines
Diff to previous 1.96 (colored)

add parent directory search for make as discussed on tech-toolchain.
 - new dir.c function: Dir_FindHereOrAbove:
      Search for a path in the current directory and then all the directories
      above it in turn until the path is found or we reach the root ("/").
 - add hooks to use it in main.c for -m and syspath (compiled in
      _PATH_DEFSYSPATH and $MAKESYSPATH).
 - updated man page

Revision 1.96 / (download) - annotate - [select for diffs], Mon Jan 5 23:23:35 2004 UTC (10 years, 9 months ago) by jmmv
Branch: MAIN
Changes since 1.95: +4 -4 lines
Diff to previous 1.95 (colored)

Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.

Revision 1.95 / (download) - annotate - [select for diffs], Thu Dec 18 22:36:18 2003 UTC (10 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.94: +13 -3 lines
Diff to previous 1.94 (colored)

When looking for a makefile and curdir != objdir (i.e. working inside of an
objdir) try opening the file from curdir and if that fails try from objdir.
This way .depend files get picked up via their full path names rather than
just .depend so vars like PARSEDIR, PARSEFILE are then set correctly. This
fixes PR#13289 reporting incorrect pathnames for .depends with errors in
them

Revision 1.94 / (download) - annotate - [select for diffs], Sun Dec 7 20:30:28 2003 UTC (10 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.93: +8 -4 lines
Diff to previous 1.93 (colored)

Add a -Dg3 which outputs the 'input graph' only on error exit.
Lets you see the wood for the trees...

Revision 1.93 / (download) - annotate - [select for diffs], Wed Sep 10 18:04:22 2003 UTC (11 years, 1 month ago) by jmmv
Branch: MAIN
Changes since 1.92: +6 -3 lines
Diff to previous 1.92 (colored)

Add the 'e' debug flag (i.e., '-d e'):  when enabled, show the "target
failed" and "command failed" messages added recently.  These introduce
too much noise when debugging some kind of problems, specially in pkgsrc.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Sep 5 06:52:11 2003 UTC (11 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.91: +21 -16 lines
Diff to previous 1.91 (colored)

Allow -V '${FOO}' to print the expanded version of FOO.
A side effect of adding and removing a -E option for the above is that
the cases in MainParseArgs are now ordered correctly?

Revision 1.91 / (download) - annotate - [select for diffs], Thu Aug 7 11:14:53 2003 UTC (11 years, 2 months ago) by agc
Branch: MAIN
Changes since 1.90: +33 -3 lines
Diff to previous 1.90 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.

Revision 1.90 / (download) - annotate - [select for diffs], Fri Aug 1 00:39:53 2003 UTC (11 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.89: +7 -5 lines
Diff to previous 1.89 (colored)

Allow .SHELL: to control the shell used by compat mode too.
Add a shell spec for ksh - a nice portable posix shell.
Document .SHELL:

Revision 1.89 / (download) - annotate - [select for diffs], Mon Jul 14 18:19:12 2003 UTC (11 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.88: +24 -22 lines
Diff to previous 1.88 (colored)

Pass WARNS=3

Revision 1.88 / (download) - annotate - [select for diffs], Sat May 10 19:21:40 2003 UTC (11 years, 5 months ago) by jmmv
Branch: MAIN
Changes since 1.87: +4 -4 lines
Diff to previous 1.87 (colored)

Remove extra space in usage message.

Revision 1.87 / (download) - annotate - [select for diffs], Fri Mar 14 05:19:43 2003 UTC (11 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.86: +10 -5 lines
Diff to previous 1.86 (colored)

Add a -X option, which prevents make(1) from putting variables
set on the command line into the environment individually.  This
can be useful on systems which have a tight limit on the size
of the argument space.

Revision 1.86 / (download) - annotate - [select for diffs], Wed Feb 26 08:59:12 2003 UTC (11 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.85: +4 -3 lines
Diff to previous 1.85 (colored)

Add -B to MAKEFLAGS so that it propagates to sub-makes.
This allows one to use -j1 -B at some point in a tree to
overcome a -jN (which is the main reason one would use -B).

Revision 1.85 / (download) - annotate - [select for diffs], Sat Jun 15 18:24:57 2002 UTC (12 years, 4 months ago) by wiz
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.84: +39 -97 lines
Diff to previous 1.84 (colored)

Remove !__STDC__ stuff, de-__P(), ANSIfy, and de-register.

Revision 1.84 / (download) - annotate - [select for diffs], Sat Apr 27 15:14:30 2002 UTC (12 years, 5 months ago) by bjh21
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Changes since 1.83: +4 -4 lines
Diff to previous 1.83 (colored)

Rather than hardcoding "/bin/sh", use _PATH_BSHELL.  To allow bootstrapping,
provide a default for this in pathnames.h, and only include <paths.h> ifndef
MAKE_BOOTSTRAP.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Mar 14 16:08:39 2002 UTC (12 years, 7 months ago) by pk
Branch: MAIN
Changes since 1.82: +11 -8 lines
Diff to previous 1.82 (colored)

JobExec(): don't use Punt() in the child; it can't possibly DTRT, and will also
mess up the parents variables.

Instead, use execError() for all error paths in the child code.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Jan 27 01:50:54 2002 UTC (12 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.81: +8 -8 lines
Diff to previous 1.81 (colored)

Fix major bug in make(1) ... due to shadowing of the dotLast path used for
the .DOTLAST primitive by a boolean variable with the same name, this whole
mechanism was broken ... it doesn't save much stat calls but it was wrong.

Thanks to Jason Thorpe for the other shadow-variable fixing patches he
made.

Revision 1.81 / (download) - annotate - [select for diffs], Tue Dec 11 20:50:58 2001 UTC (12 years, 10 months ago) by tv
Branch: MAIN
Changes since 1.80: +8 -4 lines
Diff to previous 1.80 (colored)

Allow MAKE_MACHINE to be unset if MAKE_BOOTSTRAP.

Revision 1.80 / (download) - annotate - [select for diffs], Fri Nov 30 01:29:48 2001 UTC (12 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.79: +6 -6 lines
Diff to previous 1.79 (colored)

Clean up some MAKE_BOOTSTRAP issues wrt. MACHINE/MACHINE_ARCH.

Revision 1.79 / (download) - annotate - [select for diffs], Mon Nov 12 21:58:18 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.78: +7 -11 lines
Diff to previous 1.78 (colored)

Redo the hashtable for "." if .OBJDIR changes.

Revision 1.78 / (download) - annotate - [select for diffs], Mon Nov 12 01:33:48 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.77: +4 -3 lines
Diff to previous 1.77 (colored)

Add new make variable .ALLTARGETS, which lists all targets in the Makefile.
(Makes it possible to search the target list for particular things and
apply attributes to all the relevant targets.)

Revision 1.77 / (download) - annotate - [select for diffs], Sun Nov 11 21:40:05 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.76: +25 -6 lines
Diff to previous 1.76 (colored)

Back out my rev. 1.75 on recommendation of christos.

Instead of skipping the PWD check entirely, add a skip of the PWD override
if MAKEOBJDIR is set and contains a variable transform ($).  This has
similar problems to what happens if MAKEOBJDIRPREFIX is set.

Revision 1.76 / (download) - annotate - [select for diffs], Fri Nov 2 15:37:41 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored)

Apparently something was missed in the Main_SetObjdir commit.  Fix a TRUE
value that should start out FALSE.

Revision 1.75 / (download) - annotate - [select for diffs], Fri Nov 2 03:52:21 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.74: +6 -22 lines
Diff to previous 1.74 (colored)

Strike getenv("PWD") entirely, based on prior discussion with sjg.  This
breaks too many situations, including MAKEOBJDIR with a :C,foo,bar,
transform in many cases.  It's ambiguous and unreliable, as the comment
above that code always indicated.  In order to have reliable objdirs, they
need to work the same way Every Time.

(Note that taking this out is not a performance hit; we were already doing
the getcwd() call first.  So the getenv("PWD") didn't increase performance.)

Revision 1.74 / (download) - annotate - [select for diffs], Wed Oct 31 03:59:42 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.73: +54 -67 lines
Diff to previous 1.73 (colored)

Overhaul the initialization and handling of .OBJDIR:

* Replace chdir_verify_path() with Main_SetObjdir(), which can be called
  externally, and can take a "const char *".  (There's a lot of non-const
  "char *" passing around in var.c of what should be const strings....)

* Rewrite the initial "find my .OBJDIR" code to make use of the new
  function.  This still functions as it had in the past, but the comment
  above this block was changed to reflect reality:  if MAKEOBJDIRPREFIX
  or MAKEOBJDIR are set in the environment, then *only that value* is
  tried; make does not fall back to obj.MACHINE, obj, and /usr/obj/`pwd`
  as it would without these env vars set.

* Add a new special target, .OBJDIR:, which when parsed will cause make to
  change to a new object directory and reset .OBJDIR, and PWD in the
  environment.  This will allow some makefiles (mainly, src/tools)
  to override the default objdir semantics in order to add custom logic.

Revision 1.73 / (download) - annotate - [select for diffs], Wed Oct 31 01:15:57 2001 UTC (12 years, 11 months ago) by tv
Branch: MAIN
Changes since 1.72: +26 -25 lines
Diff to previous 1.72 (colored)

Allow "-m" to be used in a .MAKEFLAGS: special target and get it to work.
(This splits out the "default system include paths" into its own Lst
variable, and uses it only if sysIncPath is empty.  This allows sysIncPath
to be filled in by the Makefile itself.)

Revision 1.72 / (download) - annotate - [select for diffs], Sun Sep 16 16:34:43 2001 UTC (13 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.71: +4 -4 lines
Diff to previous 1.71 (colored)

Spell 'occurred' with two 'r's.

Revision 1.71 / (download) - annotate - [select for diffs], Tue Jun 12 23:36:17 2001 UTC (13 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.70: +18 -18 lines
Diff to previous 1.70 (colored)

Add 4th arg (flags) to Var_Set so that VarLoopExpand can tell it not
to export interator variables when using context VAR_CMD.

Reviewed: christos

Revision 1.70 / (download) - annotate - [select for diffs], Sun Jun 10 02:31:00 2001 UTC (13 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.69: +6 -5 lines
Diff to previous 1.69 (colored)

Simplify the exporting of VAR_CMD's via MAKEFLAGS.
We now just list the names of such variables in .MAKEOVERRIDES.
When we come to export MAKEFLAGS we quote the value of each exported variable
using :Q, using: ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
The :O:u suppresses duplicate names.
Also modifed Parse_DoVar to re-export MAKEFLAGS whenever .MAKEOVERRIDES
is assigned to so .MAKEOVERRIDES+= PATH will export PATH=${PATH:Q}
to the environment, while .MAKEOVERRIDES= will disable export of VAR_CMD's.

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jun 9 05:57:31 2001 UTC (13 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.68: +4 -5 lines
Diff to previous 1.68 (colored)

Do a better job of duplicate suppression in .MAKEOVERRIDES.
From Var_Set: We actually want the equivalent of
.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
clearing the previous value for name is important, since
doing simple duplicate suppression does not handle:
$ make FOO=goo
which then runs a sub-make with FOO=boo
the commands from that sub-make should see just FOO=boo.

Revision 1.68 / (download) - annotate - [select for diffs], Sat Jun 9 05:22:47 2001 UTC (13 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.67: +30 -14 lines
Diff to previous 1.67 (colored)

Modify handling of command line variable assignments and their exporting
via MAKEFLAGS.  Instead of appending them directly to .MAKEFLAGS, put
them in .MAKEOVERRIDES (and ensure they are quoted).  This is now done
in Var_Set when it exports VAR_CMD's.
Use ExportMAKEFLAGS() to export MAKEFLAGS, using the combined content
of .MAKEFLAGS and .MAKEOVERRIDES (with duplicate supression).
If .MAKEFLAGS is assigned to in a Makefile, ExportMAKEFLAGS is called again.
This allows a line like:
.MAKEOVERRIDES=
to effectively stop the exporting of the command line vars in MAKEFLAGS.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Jun 1 20:33:37 2001 UTC (13 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.66: +42 -6 lines
Diff to previous 1.66 (colored)

A number of semi-related changes.
1. make -dx turns on DEBUG_SHELL which causes sh -x to be used where
   possible.
2. PrintOnError() is now called when make is stopping due to an error.
   This routine reports the curdir and the value of any variables listed
   in MAKE_PRINT_VAR_ON_ERROR.
3. Variables set via command line, are propagated to child-makes via
   MAKEFLAGS.  This behaviour appears to be necessary for POSIX (according
   to the GNU folk anyway).
4. Do not reset MAKEFILE when reading ".depend" as this rather eliminates the
   usefulness of ${MAKEFILE}.
5. Added ${.newline} as a simple means of being able to include \n in the
   result of a :@ loop expansion.
6. Set ${MAKE_VERSION} if defined.  Need to come up with a useful value.

Reviewed: christos

Revision 1.66 / (download) - annotate - [select for diffs], Tue May 29 17:37:52 2001 UTC (13 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.65: +40 -5 lines
Diff to previous 1.65 (colored)

better error messages on exec* failures. From Simon Burge.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jan 16 02:37:03 2001 UTC (13 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.64: +5 -4 lines
Diff to previous 1.64 (colored)

Avoid accidental use of trigraphs.  Pointed out by development version of gcc.

Revision 1.64 / (download) - annotate - [select for diffs], Sun Jan 14 05:33:53 2001 UTC (13 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.63: +5 -5 lines
Diff to previous 1.63 (colored)

make the -W arg work; it was not put in the getopt string.

Revision 1.63 / (download) - annotate - [select for diffs], Wed Jan 10 15:54:00 2001 UTC (13 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.62: +36 -23 lines
Diff to previous 1.62 (colored)

PR/11800: Chris Demetriou: Add -W flag to exit on parse warnings.
While I am here, s/make:.*"/%s:\1", progname/

Revision 1.62 / (download) - annotate - [select for diffs], Sun Jan 7 06:16:02 2001 UTC (13 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.61: +5 -6 lines
Diff to previous 1.61 (colored)

ReadMakefile: Don't simply fopen() fname before checking if we are in separate
objdir.  This is the way freebsd does it, and apart from being more correct,
saves a lot of pointless fopen() calls.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Jan 1 15:47:37 2001 UTC (13 years, 9 months ago) by sommerfeld
Branch: MAIN
Changes since 1.60: +15 -11 lines
Diff to previous 1.60 (colored)

Delete forceSerial; just use compatMake for that.
Add -N flag to *really* not execute any commands (useful when using
the -d flags to debug usr/src/Makefile)
Document -N
Update documentation of -n to mention that it still executes commands
for targets marked .MAKE so that the -N/-n distinction is clear.

Revision 1.60 / (download) - annotate - [select for diffs], Sat Dec 30 14:21:23 2000 UTC (13 years, 9 months ago) by sommerfeld
Branch: MAIN
Changes since 1.59: +4 -3 lines
Diff to previous 1.59 (colored)

Avoid token leaks when aborting after an error.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Dec 30 02:52:03 2000 UTC (13 years, 9 months ago) by sommerfeld
Branch: MAIN
Changes since 1.58: +4 -4 lines
Diff to previous 1.58 (colored)

strdup tracefile so that it doesn't get smashed.

Revision 1.58 / (download) - annotate - [select for diffs], Sat Dec 30 02:05:21 2000 UTC (13 years, 9 months ago) by sommerfeld
Branch: MAIN
Changes since 1.57: +61 -16 lines
Diff to previous 1.57 (colored)

Add a token-passing scheme to allow a recursive make to successfully
use -j; all make's in a recursive build cooperate to limit the total
number of jobs, using a token-passing scheme.

The current token passing algorithm is similar to the one implemented
by gmake; there is a single pipe which is inherited through the entire
process hierarchy; tokens are obtained by reading a byte from the
"read end" of the pipe, and are returned by writing them to the "write
end".  This exact algorithm is likely to change in the future.

Implementation details:
 - Use the new trace facility to allow measurement of the
effectiveness of different token-passing schemes
 - Get a token in MakeStartJobs(), return it in Make_Update()
 - Eliminate Job_Full() and the jobFull global since they are
redundant with token system.
 - Add an "internal" -J option (to pass the token pipe fd's down to
submakes) and a -T option for tracing.
 - Change how compatMake is forced so that -j means something when
inherited by submakes.
 - When waiting for a token, poll the token-passing pipe as well as
the output pipes of existing jobs.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Jun 6 03:00:11 2000 UTC (14 years, 4 months ago) by sjg
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5
Changes since 1.56: +14 -6 lines
Diff to previous 1.56 (colored)

Check_Cwd_av: Ensure that word after a '(', '{' etc is considered a command,
so that we spot the cd/chdir and don't put one in.

Revision 1.56 / (download) - annotate - [select for diffs], Wed May 10 07:49:35 2000 UTC (14 years, 5 months ago) by sjg
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.55: +4 -6 lines
Diff to previous 1.55 (colored)

Revert to the original behaviour wrt sysIncPath, ie if sysIncPath
is an empty list, use DEFSYSPATH.
The current behaviour may have been useful when DEFSYSMK was an
absolute path (hasn't been the case since 1996), but right now
make -m /no/such/dir will fail to find sys.mk and die.

Revision 1.55 / (download) - annotate - [select for diffs], Sat Apr 29 12:15:16 2000 UTC (14 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.54: +13 -5 lines
Diff to previous 1.54 (colored)

Allow MAKESYSPATH in the environment to override the default syspath.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Apr 20 11:23:26 2000 UTC (14 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.53: +193 -4 lines
Diff to previous 1.53 (colored)

Changes to make MAKEOBJDIRPREFIX useful.

Firstly, we ignore getenv("PWD") if MAKEOBJDIRPREFIX is set so that we always
get the same value for .CURDIR regardless of how make was invoked.

Second, when executing a command we check if it is ${.MAKE} or ${.MAKE:T}
without a preceeding chdir, if so we insert a chdir(${.CURDIR}) so that
the Makefile will be found by the child make.  Note that this behaviour is
dissabled if MAKEOBJDIRPREFIX is not set or if NOCHECKMAKECHDIR is set.
See the comments in main.c for more detail.

With these two changes, one can successfully build usr/src using MAKEOBJDIRPREFIX
allowing the src to be mounted from a CD-ROM.

Revision 1.53 / (download) - annotate - [select for diffs], Sun Apr 16 23:24:23 2000 UTC (14 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.52: +9 -3 lines
Diff to previous 1.52 (colored)

prefix errors with the program name.

Revision 1.52 / (download) - annotate - [select for diffs], Fri Apr 14 06:11:09 2000 UTC (14 years, 6 months ago) by simonb
Branch: MAIN
Changes since 1.51: +3 -5 lines
Diff to previous 1.51 (colored)

Don't declare 'extern opt*' getopt variables.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Feb 8 12:43:25 2000 UTC (14 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.50: +15 -8 lines
Diff to previous 1.50 (colored)

Make chdir_verify_path() do variable expansion on path in case
someone wants to do freaky stuff with $MAKEOBJDIR.
Initialize the Var system and set .CURDIR, MACHINE and MACHINE_ARCH
before chdir_verify_path() is called.

Revision 1.50 / (download) - annotate - [select for diffs], Wed Sep 15 10:47:37 1999 UTC (15 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.49: +8 -3 lines
Diff to previous 1.49 (colored)

Rework how :: dependencies are handled.
Build a list of `cohorts' as before, but do *not* link each one into all the
parent nodes; instead, copy the `cohort' lists into the stream of targets to
be built inside Make_ExpandUse().  Also do the attribute propagation as a
separate pass after parsing.
This eliminates several O(n^2) algorithms.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Sep 15 08:48:17 1999 UTC (15 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.48: +5 -3 lines
Diff to previous 1.48 (colored)

More cleanup code bites it.

Revision 1.48 / (download) - annotate - [select for diffs], Sat Sep 4 04:21:28 1999 UTC (15 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.47: +17 -8 lines
Diff to previous 1.47 (colored)

PR/8259: Chris Demetriou: Fix stack overflow bugs exposed by the glibc-2.1.1
Makefile. Use snprintf everywhere.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Aug 2 17:23:58 1999 UTC (15 years, 2 months ago) by hubertf
Branch: MAIN
Changes since 1.46: +9 -8 lines
Diff to previous 1.46 (colored)

Save the walls, use fly swatters instead of machine guns!
(s/sscanf/strtol/, per Christos)

Revision 1.46 / (download) - annotate - [select for diffs], Mon Aug 2 15:23:11 1999 UTC (15 years, 2 months ago) by hubertf
Branch: MAIN
Changes since 1.45: +14 -6 lines
Diff to previous 1.45 (colored)

Detect invalid arguments to -j and -L by using sscanf() instead of atoi().
Fixes PR 6743 by Assar Westerlund <assar@sics.se>

Revision 1.45 / (download) - annotate - [select for diffs], Sun Nov 1 03:07:34 1998 UTC (15 years, 11 months ago) by itohy
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4
Changes since 1.44: +4 -3 lines
Diff to previous 1.44 (colored)

Reduced memory leaks.
I found some more leaks, but are not in inside of iterations.

Revision 1.44 / (download) - annotate - [select for diffs], Sun Nov 1 03:01:53 1998 UTC (15 years, 11 months ago) by itohy
Branch: MAIN
Changes since 1.43: +5 -5 lines
Diff to previous 1.43 (colored)

Avoid reading outside of allocated memory
on command execution if the output is empty.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Oct 13 17:08:34 1998 UTC (16 years ago) by wsanchez
Branch: MAIN
Changes since 1.42: +7 -3 lines
Diff to previous 1.42 (colored)

Use __ARCHITECTURE__, if defined, as MACHINE_ARCH

Revision 1.42 / (download) - annotate - [select for diffs], Thu Apr 2 10:33:17 1998 UTC (16 years, 6 months ago) by kleink
Branch: MAIN
Changes since 1.41: +4 -3 lines
Diff to previous 1.41 (colored)

Need <time.h> for time() prototype.

Revision 1.41 / (download) - annotate - [select for diffs], Sat Mar 28 22:29:04 1998 UTC (16 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.40: +5 -4 lines
Diff to previous 1.40 (colored)

PR/5225: Jason Thorpe: make with -j 4 and subdirs core-dumps.
This revealed another long standing problem with pmake's port to bsd.
.MAKE was not set as the manual page states. Set it and remove another
typo in my last commit.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Mar 26 19:20:37 1998 UTC (16 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.39: +16 -6 lines
Diff to previous 1.39 (colored)

PR/5210: Hauke Fath: make core dumps with .SHELL
Unfortunately this revealed a deeper problem with the brk_string code.
To fix it:
	- remove sharing of the buffer between brk_string invocations
	- change the semantics of brk_string so that the argument array
	  starts with 0, and return the buffer where the strings are
	  stored

Revision 1.39 / (download) - annotate - [select for diffs], Sat Nov 8 09:33:16 1997 UTC (16 years, 11 months ago) by lukem
Branch: MAIN
Changes since 1.38: +4 -4 lines
Diff to previous 1.38 (colored)

getopt returns -1 not EOF, use memmove  instead of bcopy

Revision 1.38 / (download) - annotate - [select for diffs], Sun Sep 28 03:31:07 1997 UTC (17 years ago) by lukem
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Branch point for: netbsd-1-3
Changes since 1.37: +6 -2 lines
Diff to previous 1.37 (colored)

wrap #include <sys/cdefs.h>, __RCSID(...) stuff in #ifndef MAKE_BOOTSTRAP

Revision 1.37 / (download) - annotate - [select for diffs], Tue Jul 1 21:17:28 1997 UTC (17 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.36: +5 -5 lines
Diff to previous 1.36 (colored)

Add WARNS=1
RCSID police

Revision 1.36 / (download) - annotate - [select for diffs], Thu May 8 21:24:44 1997 UTC (17 years, 5 months ago) by gwr
Branch: MAIN
Changes since 1.35: +14 -11 lines
Diff to previous 1.35 (colored)

Add the new .NOPATH feature which can be used to disable .PATH search
for particular targets, i.e. .depend, objects, etc.  (from Christos).

Revision 1.35 / (download) - annotate - [select for diffs], Thu May 8 05:19:46 1997 UTC (17 years, 5 months ago) by cjs
Branch: MAIN
Changes since 1.34: +5 -3 lines
Diff to previous 1.34 (colored)

If the -m option is used, make will check for the existence of the
directory specified, and add it to sysIncPath only if it exists.
However, afterwards make tested for the presence of a -m option by
checking to see if sysIncPath was an empty list, and assumed that
the -m option was not used if it was empty. This obviously breaks
if -m specified a non-existent directory. So I have added a flag
that is set if the -m option is used, and I test that instead.

Revision 1.34 / (download) - annotate - [select for diffs], Mon Mar 24 20:56:36 1997 UTC (17 years, 7 months ago) by gwr
Branch: MAIN
Changes since 1.33: +5 -5 lines
Diff to previous 1.33 (colored)

Do not compile-in ${MACHINE} (as per PR#3386, OK'ed by christos)

Revision 1.33 / (download) - annotate - [select for diffs], Tue Jan 28 23:58:00 1997 UTC (17 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.32: +14 -7 lines
Diff to previous 1.32 (colored)

make $MACHINE_ARCH settable from the environment.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Dec 31 17:54:16 1996 UTC (17 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.31: +10 -9 lines
Diff to previous 1.31 (colored)

- include <stdlib.h> to get getenv() prototype on SVR4
- if __STDC__ -> ifdef __STDC__ to appease SVR4

Revision 1.31 / (download) - annotate - [select for diffs], Wed Nov 6 17:59:12 1996 UTC (17 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.30: +125 -78 lines
Diff to previous 1.30 (colored)

- Merge in FreeBSD and Lite2 changes.
- Fix bug where a non-archive target with a .a suffix would always
  be considered to be out of date, since it does not have a TOC.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Aug 13 16:42:08 1996 UTC (18 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.29: +18 -3 lines
Diff to previous 1.29 (colored)

Add estrdup(), a checked version of strdup and use it.

Revision 1.29 / (download) - annotate - [select for diffs], Tue May 28 23:34:41 1996 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.28: +139 -2 lines
Diff to previous 1.28 (colored)

- Move -D flags from Makefile to config.h and explain what they do. Add
  -Wall -Wno-unused to CFLAGS. Add new define SYSVVARSUB to enable SysV
  style variable substitutions and enable them.
- Add SunOS style command substitutions via SUNSHCMD
- Fix core dump with '{variable = value'

Revision 1.28 / (download) - annotate - [select for diffs], Sun Mar 31 21:30:05 1996 UTC (18 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-BETA
Branch point for: netbsd-1-2
Changes since 1.27: +9 -11 lines
Diff to previous 1.27 (colored)

make emalloc and erealloc return void *; closes PR/2276

Revision 1.27 / (download) - annotate - [select for diffs], Fri Mar 29 02:17:24 1996 UTC (18 years, 6 months ago) by jtc
Branch: MAIN
Changes since 1.26: +18 -2 lines
Diff to previous 1.26 (colored)

Added erealloc() function that calls enomem() if the allocation fails
(this is like the existing emalloc() function).  Changed all realloc()
calls to erealloc().

Revision 1.26 / (download) - annotate - [select for diffs], Mon Mar 11 13:45:33 1996 UTC (18 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.25: +6 -3 lines
Diff to previous 1.25 (colored)

Jonathan Stone's fixes:
main.c:	Remove double include of <sys/resource.h>; if MACHINE is defined, use
	that instead of uname.
Makefile: Add util.c.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Mar 6 00:15:17 1996 UTC (18 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.24: +48 -11 lines
Diff to previous 1.24 (colored)

Fix PR/2118; apply sysincludes patch.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Feb 4 22:20:49 1996 UTC (18 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

fix pr/1421 and pr/1997

Revision 1.23 / (download) - annotate - [select for diffs], Wed Nov 22 17:40:14 1995 UTC (18 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Updates for POSIX/SVR4 compiling:

arch.c:		 Don't require ranlib stuff. Not everybody has it.
dir.c:		 SunOS-4 != Solaris; change #ifdef sun to #if sun && !__svr4__
job.c, compat.c: Don't use 'union wait', use int and the W*() macros.
main.c: 	 Check for uname() == -1; some unames return > 0...
util.c, job.c:	 Add signal() with BSD semantics for svr4, don't use bsd
		 sigmask and friends.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Nov 8 02:30:58 1995 UTC (18 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.21: +11 -6 lines
Diff to previous 1.21 (colored)

- Turn compat mode on by default. It gets turned off when the -j without
  the -B flag is specified. [Thus you can use -j 1 to turn it off].
- Fix malloc -> emalloc as Gordon noted.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Nov 2 23:54:54 1995 UTC (18 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.20: +47 -10 lines
Diff to previous 1.20 (colored)

Minor:
    - ${.PREFIX} should never contain a full pathname
    - Fixed gcc -Wall warnings
Major:
    - compatMake is now FALSE. This means that we are now running in
      full pmake mode:
	  * rules on dependency lines can be executed in parallel and or
	    out of sequence:

	    foo: bar baz

	    can fire the rule for baz before the rule for bar is fired.
	    To enforce bar to be fired before baz, another rule needs to be
	    added. [bar: baz]
	  * adjacent shell commands in a target are now executed by a single
	    invocation of the shell, not one invocation of the shell per line
      (compatMake can be turned off using the -B flag)
    - The -j flag now works... I.e. make -j 4 will fork up to four jobs in
      parallel when it can. The target name is printed before each burst
      of output caused by the target execution as '--- target ---', when j > 1
    - I have changed all the Makefiles so that they work with make -j N, and
      I have tested the whole netbsd by:
	  'make -j 4 cleandir; make -j 4 depend; make -j 4; make -j 4 install'
    - I have not compiled or tested this version of make with -DREMOTE.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Sep 27 18:42:21 1995 UTC (19 years ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)

include <signal.h> instead of <sys/signal.h>

Revision 1.19 / (download) - annotate - [select for diffs], Wed Jun 14 15:19:34 1995 UTC (19 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.18: +7 -2 lines
Diff to previous 1.18 (colored)

- $NetBSD$ rcsids
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
  Posix mandates
- Added .PHONY target keyword

Revision 1.18 / (download) - annotate - [select for diffs], Fri Jan 6 19:57:27 1995 UTC (19 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.17: +11 -7 lines
Diff to previous 1.17 (colored)

Fixes from Paul Borman (prb@bsdi.com)
1. Honor environment variable $MACHINE if set over uname.machine
2. archives with :: are always out of date, even when they have no children.
3. VAR= a b c     # comment, gets the trailing blanks trimmed, unless
   escaped by \. I'll have to read the posix manul to make sure that it
   is ok to handle escapes here.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Sep 30 03:14:21 1994 UTC (20 years ago) by gwr
Branch: MAIN
Changes since 1.16: +17 -5 lines
Diff to previous 1.16 (colored)

Get the name of this type of MACHINE from utsname
so we can share an executable for similar machines.
(i.e. m68k: amiga hp300, mac68k, sun3, ...)

Revision 1.16 / (download) - annotate - [select for diffs], Fri Sep 23 09:33:21 1994 UTC (20 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

Use getcwd(3), not getwd(3), and remove some old, unused compatibility code.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Jun 16 18:50:13 1994 UTC (20 years, 4 months ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.14: +2 -3 lines
Diff to previous 1.14 (colored)

Christos' fix for quoting variable extraction properly.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jun 6 22:45:33 1994 UTC (20 years, 4 months ago) by jtc
Branch: MAIN
Changes since 1.13: +35 -7 lines
Diff to previous 1.13 (colored)

Fixes from Christos Zoulas, who used purify, objectcenter and testcenter
to find memory leaks and illegal memory accesses.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Mar 5 00:34:53 1994 UTC (20 years, 7 months ago) by cgd
Branch: MAIN
Changes since 1.12: +158 -57 lines
Diff to previous 1.12 (colored)

fixes/improvements from Christos Zoulas <christos@deshaw.com>.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jan 13 21:01:55 1994 UTC (20 years, 9 months ago) by jtc
Branch: MAIN
Changes since 1.11: +4 -2 lines
Diff to previous 1.11 (colored)

Include appropriate header files to bring prototypes into scope.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Dec 22 00:25:57 1993 UTC (20 years, 10 months ago) by pk
Branch: MAIN
Changes since 1.10: +5 -1 lines
Diff to previous 1.10 (colored)

Introduced ${.OBJDIR}. The variable is similar to .CURDIR but points at
the directory where make builds the targets. It can be used to clean up
those cumbersome Makefiles that have to guess at the "obj" directory.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Dec 17 23:55:57 1993 UTC (20 years, 10 months ago) by jtc
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

POSIX.2 added the -S flag (opposite of -k).  It was allready there,
just #ifdef'ed out.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Dec 15 18:26:40 1993 UTC (20 years, 10 months ago) by jtc
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

Fix bug (PR #42) with -j flag.  Doesn't seem to do anything, but at
least it doesn't dump core anymore.

Revision 1.8 / (download) - annotate - [select for diffs], Sat Dec 4 02:12:40 1993 UTC (20 years, 10 months ago) by cgd
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored)

add MACHINE_ARCH

Revision 1.7 / (download) - annotate - [select for diffs], Sat Oct 23 02:32:03 1993 UTC (21 years ago) by cgd
Branch: MAIN
Changes since 1.6: +19 -6 lines
Diff to previous 1.6 (colored)

add support for an obj.${MACHINE} dir, which will be used rather than obj,
if both exist.  basically, precedence is now:
	MAKEOBJDIR or (obj.${MACHINE} then obj)
	.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Aug 23 05:29:31 1993 UTC (21 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.5: +5 -6 lines
Diff to previous 1.5 (colored)

fix from chmr@edvz.tu-graz.ac.at (Christoph Robitschko)
to get things right if obj is a symlink and points to nowhere.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Aug 1 18:11:47 1993 UTC (21 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.4: +2 -8 lines
Diff to previous 1.4 (colored)

Add RCS identifiers.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jul 8 03:41:58 1993 UTC (21 years, 3 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9
Changes since 1.3: +11 -11 lines
Diff to previous 1.3 (colored)

remember curdir as something other than ".", so that makes
of things which include files in directories won't get hosed...

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 23 07:26:38 1993 UTC (21 years, 7 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-8
Changes since 1.2: +4 -8 lines
Diff to previous 1.2 (colored)

made .CURDIR be absolute, not relative, thereby eliminating
the need for some of the makefile trickery when making objects,
and fixing a few .PATH bugs

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 21 18:04:42 1993 UTC (21 years, 7 months ago) by cgd
Branch: MAIN
CVS Tags: patchkit-0-2-2
Changes since 1.1: +11 -1 lines
Diff to previous 1.1 (colored)

after 0.2.2 "stable" patches applied

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (21 years, 7 months ago) by cgd
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>