Commit Graph

763 Commits

Author SHA1 Message Date
Will Andrews
7a37b5fc17 Add a ${CP} alias for copying files in the build.
Some users build FreeBSD as non-root in Perforce workspaces.  By default,
Perforce sets files read-only unless they're explicitly being edited.
As a result, the -f argument must be used to cp in order to override the
read-only flag when copying source files to object directories.  Bare use of
'cp' should be avoided in the future.

Update all current users of 'cp' in the src tree.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	Spectra Logic
2015-01-16 21:39:08 +00:00
Devin Teske
be44449f2d When producing fmake(1), `make clean' should remove fmake.1 (a copy of
make.1). Introduced initially via SVN r250699 (sjg).

Reviewed by:	sjg, gjb
MFC after:	3 days
X-MFC-to:	stable/10
2014-07-23 23:01:54 +00:00
Julio Merino
5ae59dec60 Move old fmake tests into bmake and hook them to the build.
This first step is mostly to prevent the code from rotting even further
and to ensure these do not get wiped when fmake's code is removed from
the tree.

These tests are currently being skipped because they detect the underlying
make is not fmake and thus disable themselves -- and the reason is that
some of the tests fail, possibly due to legitimate bugs.  Enabling them to
run against bmake will come separately.

Lastly, it would be ideal if these tests were fed upstream but they are
not ready for that yet.  In the interim, just put them under usr.bin/bmake/
while we sort things out.  The existence of a different unit-tests directory
within here makes me feel less guilty about this.

Change confirmed working with a clean amd64 build.
2014-05-14 18:43:13 +00:00
Warner Losh
d03127447d Remove support for WITHOUT_BMAKE. bmake is now the only make that can
build world, so it is the only make we build or install. fmake is
still in the tree, but disconnected, and upgrades from older systems
that still have bmake has not been removed, but its state has not been
tested (it should work given how minimal the work to upgrade to bmake
is).
2014-05-06 04:22:37 +00:00
Warner Losh
c6063d0da8 Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
Julio Merino
8d08c1118c Add Makefiles missed in r263346.
Grrr, I wish svn clearly displayed files not yet added when about to commit.
2014-03-19 12:32:50 +00:00
Julio Merino
d525bcd959 Migrate tools/regression/usr.bin/make/ to the new tests layout.
Note that these tests are for fmake, not bmake, and thus they are not
installed nor run when bmake is selected (the default).  Yes, I have
wasted a *ton* of time on moving tests for no real reason other than
ensuring they are not left behind.

But maybe, just maybe, it was not work in vain: the majority of these
tests also work with bmake and the few that don't may point at broken
stuff.  For example, the tests for the "archive" feature do not work
with bmake, but bmake's manpage and source tree seem to imply that they
should.  So... to be investigated later; need to poke sjg@.
2014-03-19 12:29:20 +00:00
Eitan Adler
dda5b39711 multiple: Remove 3rd clause from BSD license where approved by the
regents and renumber.

This patch skips files in contrib/ and crypto/

Acked by:	imp
Discussed with:	emaste
2014-03-14 03:07:51 +00:00
Kevin Lo
ed74b69c2d Remove unnecessary cast to pid_t. 2013-07-04 03:24:58 +00:00
Simon J. Gerraty
4c67ba2c7b Reverse the sense of the test wrt bmake, and guard against
MK_BMAKE not being defined.
2013-05-16 21:26:46 +00:00
Simon J. Gerraty
3ddfb24d3a Build bmake by default.
If someone explicitly builds usr.bin/make while MK_BMAKE==yes,
install it as 'fmake'.

Reviewed by:	brooks
2013-05-16 15:28:38 +00:00
Jung-uk Kim
04704c638e Remove fictitious support for 80386-class CPUs from bsd.cpu.mk and make(1).
It was removed from head more than 8 years ago (see r137784 and r137785).

Reviewed by:	imp, delphij, dim
2012-12-03 19:27:31 +00:00
Andriy Gapon
09606b760a make: report :M or :N pattern in debug mode
MFC after:	12 days
2012-10-06 19:19:32 +00:00
Dimitry Andric
30a845609c In usr.bin/make/var.c, function ParseModifier(), initialize the 'error'
variable to NULL, to avoid using it uninitialized in certain cases.

This fixes the following clang 3.2 warning:

  usr.bin/make/var.c:1770:10: error: variable 'error' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                                          if (vp->execute) {
                                              ^~~~~~~~~~~
  usr.bin/make/var.c:1777:10: note: uninitialized use occurs here
                                          if (error)
                                              ^~~~~
  usr.bin/make/var.c:1770:6: note: remove the 'if' if its condition is always true
                                          if (vp->execute) {
                                          ^~~~~~~~~~~~~~~~~
  usr.bin/make/var.c:1768:23: note: initialize the variable 'error' to silence this warning
                                          const char      *error;
                                                                ^
                                                                 = NULL

MFC after:      1 week
2012-08-05 15:55:36 +00:00
David E. O'Brien
83b322edc6 Correct typo in version. 2012-06-20 00:37:00 +00:00
David E. O'Brien
28c508787d Update date for r236338 & r236346. 2012-05-31 20:13:44 +00:00
David E. O'Brien
b3dc6c07e2 Add "-V '${VAR}'" variable expansion from Portable Berkeley Make.
Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-05-31 00:36:56 +00:00
David E. O'Brien
d81f04d7fa Deprecate the FreeBSD make's ":U" (to-upper case) and ":L" (to-lower case)
modifiers for ":tu" and ":tl" from OSF's ODE, which made its way into
NetBSD's make, which is the source for the Portable Berkeley Make.

Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-05-30 22:23:08 +00:00
Joel Dahl
35471bf8ef Minor mdoc nits. 2012-05-13 14:16:04 +00:00
Warner Losh
18cf7ddfca Make is part of the bootstrap path, so we need to guard against this
not being defined.  Otherwise we don't make a new make when the old
make is incompatible.
2012-05-09 04:54:50 +00:00
Konstantin Belousov
4f20e4f263 Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the
toolchain binaries as dynamically linked.  Option is disabled by
default.

Reviewed by:	ru (previous version)
MFC after:	2 weeks
2012-04-29 09:32:44 +00:00
Max Khon
42e4b4f7df Include target names in diagnostic output.
Submitted by:	Garrett Cooper
2012-02-12 05:34:01 +00:00
Robert Millan
475cc570f4 Map foreign architecture names to FreeBSD naming convention.
Approved by:	kib (mentor)
2012-01-20 18:55:56 +00:00
Ulrich Spörlein
487ac9ac21 Spelling fixes for usr.bin/ 2011-12-30 11:02:40 +00:00
Max Khon
94f176ebd4 Revert r228521: sometimes job output is lost
(see tools/regression/usr.bin/make/execution/joberr test).

openpty(fd + 0, fd + 1,...) version does not have this problem but
it sometimes enters an infinite sleep in "ttywait" state in tty_drain()
when make(1) closes slave pty.
2011-12-15 06:25:19 +00:00
Max Khon
366cd46cbe job make: if stdout is a tty create a pty when running a command. 2011-12-15 03:13:23 +00:00
Max Khon
019bd13977 - Fix segmentation fault when running "+command" when run with -jX -n due
to Compat_RunCommand() being called with `cmd' that is not on the node->commands
list
- Make ellipsis ("..." command) handling consistent: check for "..." command
in job make after variables expansion to match compat make behavior
- Fix empty command handling (after variables expansion and @+- modifiers
are processed): now empty commands are ignored in compat make and are not
printed in job make case
- Bump MAKE_VERSION to 5-2011-11-30-0
2011-11-30 18:07:38 +00:00
Ed Schouten
efd6c7ccc9 Add missing static keywords to make(1) 2011-11-06 08:16:06 +00:00
Jilles Tjoelker
4f6d8894a4 make(1): obj dirs are physical paths so write pwd -P rather than pwd.
Regular pwd may return a pathname containing symlinks, but make does not use
such pathnames.
2011-11-05 21:32:17 +00:00
Rebecca Cran
6bccea7c2b Fix typos - remove duplicate "the".
PR:	bin/154928
Submitted by:	Eitan Adler <lists at eitanadler.com>
MFC after: 	3 days
2011-02-21 09:01:34 +00:00
Ulrich Spörlein
cded07a878 Move most of the remaining USD/PSD/SMM papers into share/doc 2010-12-04 10:11:20 +00:00
Warner Losh
9a6945bc4a Remove hack needed by 6.x machines and older machines to run newer
makes on FreeBSD/pc98.  The need for this hack has passed.  If you are
one of the rare people that may need this, then you should setenv
MACHINE=pc98 as a workaround.
2010-10-06 20:54:17 +00:00
Warner Losh
2a13464829 Use more portable errx instead of errc. The latter doesn't buy us
anyting anyway, since the error EAGAIN's error message doesn't add
anything to the error strings that are there now.
2010-10-06 20:49:45 +00:00
Ed Maste
bccf948ea9 Remove extraneous ; 2010-07-12 17:18:58 +00:00
Christian Brueffer
346bfbfcce - Missing full stops
- Upper case the first character of an description
- Section headings do not need to be quoted. From OpenBSD's make.1, revision 1.81
- Plural of suffix is suffixes. From OpenBSD's make.1, revision 1.61
- s/seperating/separating/

PR:		135165
Submitted by:	Alan R. S. Bueno <alan.bsd@gmail.com>
MFC after:	1 week
2010-05-12 02:00:11 +00:00
Warner Losh
83d90bb1dd Remove yet another vestage of alpha support. 2010-04-06 02:48:59 +00:00
Ruslan Ermilov
8f5f49447d Eliminated nits from last commit.
OK'ed by:	rodrigc
2010-01-27 21:06:53 +00:00
Craig Rodrigues
ab13f9f29e Partial merge of man page cleanups from NetBSD:
revision 1.91
  Fri Nov 7 01:01:46 2003 UTC by lukem

  Add some subsections in the VARIABLE ASSIGNMENTS section.

  In the "modifier description" list, show each modifier with the leading `:'.
  Rationale: it's hard to search for modifiers without it, and we already do
  the same thing in the -options and .makecommands lists.  I now find it much
  easier to find the description for a modifier in the man page.

Obtained from: NetBSD
2010-01-27 02:38:10 +00:00
Hartmut Brandt
cd7215ceba Fix the previous commit (still not used to svn vs. cvs). Use the
define from paths.h for the default temporary directory and remove
and unneccessary getenv call.
2010-01-11 09:16:42 +00:00
Hartmut Brandt
f7ea64353c Make make respect the TMPDIR environment variable.
PR:		bin/115447
Submitted by:	Eugene Grosbein
2010-01-10 20:26:03 +00:00
David E. O'Brien
290dac20e6 Add ability to search up the directory hierarchy for the system directory.
Do by specifying ".../" with '-m' or MAKESYSPATH (new) environment variable.

Reviewed by:	<sjg@NetBSD.org>
Obtained from:	NetBSD (+ embellishment by me, sent back to NetBSD)
2010-01-04 18:57:22 +00:00
David E. O'Brien
bfc4c0cf08 Report lines that ought to contain a ':' operator but start with a '.'
as "Unknown directive" sinze they are more likely to be .elseif (etc).
(NetBSD PR 37222).

Obtained from:	NetBSD
2010-01-04 00:49:04 +00:00
David E. O'Brien
6100e6c2c9 Add check for subversion "original" marker. 2010-01-04 00:32:22 +00:00
Ed Schouten
b7946da96b Build usr.bin/ with WARNS=6 by default.
Also add some missing $FreeBSD$ to keep svn happy.
2010-01-02 10:27:05 +00:00
Ed Schouten
8a036b7c03 Add missing `void' keyword. 2009-12-29 22:33:07 +00:00
Stanislav Sedov
4ee23f5ee8 - Partially revert r200417. config.h brings several definitions,
that appears to be actually used.  Without config.h included
  cross-build of world failed (at least for ARM).
2009-12-17 12:42:45 +00:00
Xin LI
512be259a7 Remove unnecessary includes.
Reviewed by:	rodrigc
2009-12-11 23:20:02 +00:00
Stefan Farfeleder
023c421a96 Add a missing space to the error message when execvp() failed. 2009-12-05 13:12:04 +00:00
David E. O'Brien
1511301cd8 Catch up with r144020's /Dir_FindFile/Path_FindFile/ 2009-11-17 19:35:39 +00:00
David E. O'Brien
952ffdb9da Garbage collect some old #ifdef'ed code from 1994 that causes vi's '%'
to be unable to find a match in Path_FindFile().
2009-11-17 16:26:45 +00:00