#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
252048 |
|
20-Jun-2013 |
sjg |
share/mk: merge: r241298,243393,249057,251506 from head for bmake support.
Makefile: buildworld etc will be done with make from src tree, make sure that bmake's -J 15,16 are not passed to it.
Reviewed by: obrien
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
144893 |
|
11-Apr-2005 |
harti |
Make sure the only thing that follows .endif or .else is a comment.
|
#
139761 |
|
06-Jan-2005 |
krion |
Remove trailing spaces.
|
#
139103 |
|
21-Dec-2004 |
ru |
Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by: core
|
#
128188 |
|
13-Apr-2004 |
ru |
Mark the "obj" target with the .PHONY attribute.
|
#
124503 |
|
13-Jan-2004 |
green |
Clarify revision 1.49. Specifically, using ${MAKE} target instead of depending on a target will cause ${MAKE} to have been "reset" to the initial value by make(1). This breaks, for example, make MAKE="make -f subMakefile" clean. The supported way to pass these sorts of make flags is actually the .MAKEFLAGS variable.
|
#
124061 |
|
02-Jan-2004 |
green |
Fix a very corner case when you want to make cleandir SUBDIRs which are built using a ${MAKE} that's not just "make".
Test by: make universe (followed by cleandirs)
|
#
102660 |
|
31-Aug-2002 |
kris |
test -h is deprecated; use -L instead.
Submitted by: april <april@oublinet.net> PR: misc/38724 (part of) MFC after: 3 days
|
#
99875 |
|
12-Jul-2002 |
ru |
Moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk, to make it call `install' in the bsd.subdir.mk-driven makefiles too. (share/examples/Makefile,v 1.29 changed the bsd.prog.mk to bsd.subdir.mk and many stuff was lost during "make release". I then merged this change in rev. 1.28.2.2 to work around the namespace pollution (FILES) in this makefile.)
There was an added complexity here. Both the `distribute' and `install' targets are recursive (they propagate to SUBDIRs). So `distribute' first calls `install' in the ${.CURDIR}, then calls `distribute' in each SUBDIR, etc. The problem is that `install' (being also recursive) causes the stuff from SUBDIR to be installed twice, first time thru `install' in ${.CURDIR} triggered by `distribute', second time by `distribute' run in the SUBDIR. This problem is not new, but it became apparent only after I moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk. My first attempt testing the fix failed due to this, because the whole world was distributed twice, causing all the imaginable mess (kerberos5 stuff was installed into both "base" and "krb5" dists, there was /sbin/init.bak, etc.) I say the problem is not new because bsd.prog.mk and bsd.lib.mk makefiles with SUBDIR (even without this fix) had this problem for years. Try e.g. running ``make distribute DISTDIR=/foo'' from usr.bin/bzip2 or from lib/libcom_err (without the fix) and watch the output.
So the solution was to make `install' behave non-recursive when executed by `distribute'. My first attempt in passing SUBDIR= to the `install' in the `distribute' body failed because of the way how src/Makefile and src/Makefile.inc1 communicate with each other. SUBDIR='s assignment precedence on the "make install SUBDIR=" command line is lowered after src/Makefile wrapper calls "make ... -f ${.CURDIR}/Makefile.inc1 install" because SUBDIR= is moved into environment, and Makefile.inc1's assignments now take higher precedence. This may be fixed someday when we merge Makefile with Makefile.inc1. For now, this is implemented as a NO_SUBDIR knob.
Spotted by: Dmitry Pryanishnikov <dmitry@atlantis.dp.ua> Prodded by: des MFC after: 3 days
|
#
99344 |
|
03-Jul-2002 |
ru |
Moved checkdpadd target to where it logically belongs.
|
#
99202 |
|
01-Jul-2002 |
ru |
Fixed typos.
|
#
98546 |
|
21-Jun-2002 |
ru |
Quiet ``make objlink'' when NOOBJ is defined.
PR: bin/21142 Submitted by: Craig Leres <leres@ee.lbl.gov>
|
#
95368 |
|
24-Apr-2002 |
ru |
Abuse bsd.obj.mk for defining default distribute target.
|
#
95306 |
|
23-Apr-2002 |
ru |
Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.
Ensure all standard targets honor SUBDIR. Now `make obj' descends into SUBDIRs even if NOOBJ is set (some descendants may still need an object directory, but we do not have such precedents). Now `make install' in non-bsd.subdir.mk makefiles runs `afterinstall' target _after_ `install' in SUBDIRs, like we do in bsd.subdir.mk. Nothing depended on the wrong order anyway.
Fixed `distribute' targets (except for the bsd.subdir.mk version) so that they do not depend on _SUBDIR; `distribute' calls `install' which already depends on _SUBDIR.
De-standardize `maninstall', otherwise manpages would be installed twice. (To be revised later.)
|
#
95254 |
|
22-Apr-2002 |
ru |
Fixed _SUBDIR.
Obtained from: bsd.subdir.mk
|
#
94940 |
|
17-Apr-2002 |
ru |
Don't include bsd.own.mk from sys.mk, this makes it impossible to use ``.if defined()'' inside bsd.own.mk to test for defines in individual makefiles. For example, setting DEBUG_FLAGS in Makefile didn't take the desired effect on the STRIP assignment.
Added bsd.init.mk (like in NetBSD) that handles the inclusion of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that "build something".
Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back to sys.mk (several source tree makefiles want to check it early) and removed MACHINE_ARCH initialization (it's hard to see from looking at the commitlogs what the problem was at the time, but now it serves no purpose).
Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk.
Protect bsd.obj.mk from repetitive inclusion. Prohibiting the direct inclusion of bsd.obj.mk might be a good idea too.
|
#
94410 |
|
11-Apr-2002 |
ru |
Really finish the removal of ${LDDESTDIR} in bsd.lib.mk,v 1.55. bsd.lib.mk,v 1.101 only did that partly.
|
#
90312 |
|
06-Feb-2002 |
ru |
Neither .depend nor ${DEPENDFILE} depend on _SUBDIR. (One step closer to _SUBDIR <-> _SUBDIRUSE merge.)
|
#
76896 |
|
20-May-2001 |
ru |
Fixed `objwarn' so that it doesn't issue spurious warnings, especially now that ${.OBJDIR} is canonicalized by make(1).
Urged by: bde Reviewed by: bde
|
#
76021 |
|
26-Apr-2001 |
ru |
... and do it make(1) way.
|
#
75867 |
|
23-Apr-2001 |
ru |
Fix the fix in rev.1.34.
Makes `cleandir' DTRT if MAKEOBJDIRPREFIX set and not empty, like in `buildworld' case.
|
#
68151 |
|
01-Nov-2000 |
obrien |
Use test -z rather than -n.
Submitted by: bde
|
#
64843 |
|
19-Aug-2000 |
markm |
Fix the arguments to [(1) (AKA test(1)). If the string being tested by -n is nonexistant, then the following -d was misinterpreted with a strange error. By putting double quotes (") around the argument, we can be sure there is _something_ there that we can check a zero length against.
|
#
64784 |
|
17-Aug-2000 |
sheldonh |
The previous delta was wrong; an empty MAKEOBJDIRPREFIX should cause the working directory to be used. Make it so.
When we're more convinced that it'll work, we might try this to avoid a shell invocation:
.if defined(MAKEOBJDIRPREFIX) && !empty(MAKEOBJDIRPREFIX) && exists(${CANONICALOBJDIR}/)
Reported by: bde
|
#
64712 |
|
16-Aug-2000 |
sheldonh |
Do not allow the cleandir target to blow away the entire source directory when MAKEOBJDIRPREFIX is defined but empty.
Reported by: Vernon Schryver <vjs@calcite.rhyolite.com>
|
#
53152 |
|
14-Nov-1999 |
marcel |
${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture. Unification is required for cross-building.
Tags added to: sys/boot/Makefile sys/boot/arc/loader/Makefile sys/kern/Makefile usr.bin/cpp/Makefile usr.bin/gcore/Makefile usr.bin/truss/Makefile
usr.bin/gcore/Makefile: fixed typo: MACHINDE -> MACHINE_ARCH
|
#
50476 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
44922 |
|
21-Mar-1999 |
bde |
Restored objlink. The previous commit was confused about the difference between OBJLINK and objlink.
|
#
44755 |
|
14-Mar-1999 |
markm |
Bitrot. Remove objlink as it is not pleasant to be downwind.
PR: 8071 Reviewed by: Sheldon Hearn <sheldonh@iafrica.com>
|
#
38655 |
|
30-Aug-1998 |
jb |
BINFORMAT -> OBJFORMAT ready for E-day.
|
#
36641 |
|
04-Jun-1998 |
peter |
Make the whereobj target print it's output without the overhead of starting another make.. Besides, make -V is broken, since it will print unexpanded variables.
|
#
35789 |
|
06-May-1998 |
bde |
Only include bsd.dep.mk in `mk'files that handle C sources. Abuse bsd.obj.mk instead of bsd.dep.mk for defining the _SUBDIR target and a default tags target. Abuse bsd.obj.mk for defining default cleandepend and depend targets.
|
#
34576 |
|
14-Mar-1998 |
bde |
Improved comparison of ${DPADD} with ${LDADD} for the checkdpadd target. `BINFORMAT=foo make checkdpadd' in /usr/src now reports only 2 false negatives (in libss and init). (BINFORMAT=foo is to turn off better handling of the a.out case.)
|
#
33815 |
|
25-Feb-1998 |
bde |
Remove ${CLEANDIRS} in the default clean rule, so that bsd.prog.mk can use the default without losing any (currently unused) features. (CLEANDIRS is only used by for libgmp and libmp via bsd.lib.mk, and only documented everywhere it is supported except of course where it is actually used.)
|
#
31859 |
|
19-Dec-1997 |
bde |
Only remove ${CLEANFILES} in the default clean rule. In particular, don't remove a.out explicitly. a.out should only be generated for libraries and is removed in the non-default rule in bsd.lib.mk.
Removed undocumented cleanfiles target. It was the same as the default clean target except it didn't descend into subdirs. It was different from special clean targets in other ways. This feature hasn't been missed for more important targets.
Removed unused default cleandepend target. bsd.dep.mk has a better version which is always used.
Use a better rule for checkdpadd in the BINFORMAT=aout case. This mainly checks that ld -f is working correctly. The old rule is still available via `make BINFORMAT=foo checkdpadd' and should be used to check for regressions under 2.2 where ld -f is not available.
|
#
25316 |
|
30-Apr-1997 |
bde |
Added trailing slash to ${CANONICALOBJDIR} in tests for directories, so that /usr/obj can be a symlink to an existing directory.
|
#
22988 |
|
22-Feb-1997 |
peter |
Revert $FreeBSD$ to $Id$
|
#
22700 |
|
14-Feb-1997 |
jdp |
In the "cleanobj" target, always remove the old-style "${.CURDIR}/obj" links if they exist. The old-style links confused make and caused problems when upgrading from a 2.1.5 or 2.1.6 system.
I will merge this into -2.2.
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
18566 |
|
29-Sep-1996 |
bde |
Don't warn about non-canonical object directories if they have been forced in any of the standard ways (MAKEOBJDIR was lost in the previous commit). Simplified the conditionals for this.
Restored comment about MAKEOBJDIR from rev.1.4.
Improved English in comments.
|
#
18545 |
|
28-Sep-1996 |
nate |
The warning was triggering off the unused variable MAKEOBJDIR, instead of the variable OBJLINK which is used in /etc/make.conf to build 'obj' links in the current directory. This caused lots of useless warnings since if OBJLINK is defined ./obj will be created and used.
|
#
18483 |
|
24-Sep-1996 |
ache |
Back out my brackets change, it is definitely make bug, (recently introduced) because old make version I check do the right job.
|
#
18481 |
|
24-Sep-1996 |
ache |
Add brackets to change bogus make expression priority, i.e. !defined(X) && $(A) != $(B) parsed as (!defined(X) && $(A)) != $(B) and not as !defined(X) && ($(A) != $(B)) Probably it should be fixed in make
|
#
18427 |
|
20-Sep-1996 |
bde |
Added a `checkdpadd' target to help check that ${DPADD} is consistent with ${LDADD}. It doesn't handle internal libraries very well yet.
|
#
18426 |
|
20-Sep-1996 |
bde |
Fixed and simplified `whereobj' rule. Use the not-so-new -V feature. Echoing ${.OBJDIR} would work. but -V is more general.
|
#
18373 |
|
19-Sep-1996 |
peter |
disable the objwarn warning if NOOBJ is set.. We have quite a few places in the tree that use things like bsd.prog.mk just to get the default targets like install, tags, obj, clean, cleandir, cleandepend, but do not actually build anything there.
|
#
18340 |
|
18-Sep-1996 |
swallace |
.TARGETOBJDIR has been removed from make and CANONICALOBJDIR set in bsd.obj.mk. Also, a make target called objwarn checks to see if ${.OBJDIR} != ${.CURDIR} and ${.OBJDIR} != ${CANONICALOBJDIR} and outputs a warning. (No warning for the latter if MAKEOBJDIR or MAKEOBJDIRP REFIX is set). objwarn is called from all targets in bsd.prog.mk, bsd.kmod.mk, and bsd.lib.mk.
Reviewed by: bde
|
#
18051 |
|
05-Sep-1996 |
bde |
Fixed `make objlink' (and `make obj' in the (non-default) OBJLINK case). Running them twice usually destroyed the target binary. E.g., the second `make objlink' in `make objlink; make; make objlink' replaced the `cat' binary by a symlink cat@ -> /usr/obj/usr/src/bin/cat.
`ln -fs' is unusable when the target might be a symlink that resolves to a directory. Then -f applies to a file in the directory and not to the symlink. This seems to be the standard (and sometimes useful) behaviour.
|
#
17168 |
|
14-Jul-1996 |
peter |
Fix the recently added whereobj target.
Add missing end-of-line backslash Remove two extra @ characters
|
#
17116 |
|
12-Jul-1996 |
pst |
Add whereobj target to find that pesky obj dir
|
#
16663 |
|
24-Jun-1996 |
jkh |
Bring in my changes for removing the pestilent obj links (unless you really want them) from /usr/src. This is the final version of the patches, incorporating the feedback I've received from -current.
|
#
15948 |
|
27-May-1996 |
wosch |
Add a note that MAKEOBJDIR is an enviroment variable and does work proper only if set as enviroment variable, not as global or command line variable.
|
#
15353 |
|
22-Apr-1996 |
wosch |
New variable NOOBJLINK Create 'obj' directory in current directory instead a symbolic link to the 'obj' tree if defined. [not set]
Print a warning if 'obj' tree (/usr/obj) does not exist.
Change default 'obj' directory from ``obj.${MACHINE}'' back to ``obj'', unfortunately many Makefiles are wired with the name ``obj''.
Add some comments for variables and targets.
|
#
15166 |
|
09-Apr-1996 |
wosch |
Add targets cleanfiles/clean, cleandir
|
#
14801 |
|
24-Mar-1996 |
wosch |
Obtained from: NetBSD
"obj" directory stuff work
|