it also sets RUN_DEPENDS (USE_GMAKE is BUILD_DEPENDS only).
The (immediate) purpose of this is to avoid having to change 70
zillion ports when the version of perl changes. Also, when perl5 is
pulled into -current, this will become a no-op in -current's
bsd.port.mk.
Reviewed by: jfitz
(bsd.dep.mk) and compiling assembly language sources (bsd.lib.mk).
This doesn't change anything for our current source tree, but if you
want to use the -B switch in C*FLAGS to specify the location of
compiler subprograms, now you can do it.
Reviewed by: bde (implicitly)
"do-install" target to the beginning of the "install" meta-target, so
that ports that define their own do-install will also run it without
having to duplicate it themselves.
Tested by: rebuilding all packages
like bsd.lib.mk and bsd.prog.mk. It doesn't add it to CXXINCLUDES, I
don't think anybody has written a kernel module with C++. (Not that I
think DavidG will allow it anyway. :)
Reviewed by: bde
/usr/X11R6 if USE_IMAKE or USE_X11 is set. It is mostly designed
after the XFree86 distribution, but also includes some of our own
goodies (libexec, share/doc, etc/rc.d).
(2) Full support for per-port dependency target. An optional
":<target>" can be added to any of the *_DEPENDS variables. Do
not attempt to print out anything about dependencies if NO_DEPENDS
is set (there was already too much code duplication, and this
extra colon has really pushed it over the limit).
Requested by: jfitz
(3) Make "reinstal" pmake-safe.
Reminded in an e-mail from: jkh
Murphy's Law: define LPR=true in /etc/make.conf if you don't want
tomorrow find 3 paper copies (ascii, latin1, postscript) of the
handbook in your printer (or someone else printer on the other half of
the world).
libraries. Remove the now-unneeded CPLUSPLUSLIB hack. I will also
remove the CPLUSPLUSLIB definitions from the Makefiles that use it,
after the dust settles.
Use gcc's LIBRARY_PATH environment variable to handle DESTDIR,
instead of -L flags in LDDESTDIR. LIBRARY_PATH is documented in
the gcc info pages. It is better than using -L flags, because it
modifies the search for start-up files as well as for libraries.
A new variable LDDESTDIRENV is used to contain the normally-empty
LIBRARY_PATH environment setting.
LDDESTDIR is no longer set in <bsd.lib.mk>. It is still honored for
the time being, because a couple of userland Makefiles still (wrongly)
set it. These should be fixed, and LDDESTDIR should vanish.
Removed the commented-out "LDDESTDIR+=-nostdlib", because "gcc -shared"
doesn't link in any standard libraries anyway.
Removed the ".if defined(LDADD)" around the _EXTRADEPEND target for
shared libraries. This target is always necessary now, because
c++rt0.o is linked into every shared library.
Don't merge this into -2.2 without first merging the support for
"gcc -shared".
latin1 looks very ugly on Russian screens/printers and users should
be able to print/view handbook first without inner knowledge of
bsd.sgml.mk tuning.
with these files MUST understand what a `make release' does before
making changes like this or get nasty-grams from me when my builds start
falling over. In fact, if they can't test "make release" after making
such changes then they *should leave these files completely alone*.
Thank you.
opt_smp_invltlb.h
from:
SMPHDRS= opt_smp.h opt_smp_invltlb.h
SMP_INVLTLB is no longer a valid config option, the invalidation of the TLB
via inter-CPU IPIs is now standard when APIC_IO is used.
file so that we fail if it isn't already installed. The bootstrap
is now done by `make install' in the top-level src directory. As
well as being gross, the rule didn't actually work for src trees
other than /usr/src, and this is difficult to fix since the whole
src tree may not exist.
(default: IS_DEPENDED?=install) target on the depended port, call
DEPENDS_TARGET (default: install) from the depending port.
Other than being more flexible (some ports don't require the
dependency to be fully installed: see ghostscript4), this seems
like a more natural thing to do. (I never understood the
convoluted logic that was used before.)
By building packages with "DEPENDS_TARGET=package", I can avoid
file-sharing problems (like gs3 binary going into the gs4
package).
(2) Add new variable PATCH_SITE_SUBDIR and separate it from
MASTER_SITE_SUBDIR. Fixes linuxls port and is a correct thing to
do anyway.
Initially suggested and reviewed by: fenner
(3) Add new variable MASTER_SITE_LOCAL for local ports. Defaults to
LOCAL_PORTS subdir on ftp.freebsd.org's distfiles dir.
Submitted by: jkh
make world fails when it tries to build LKMs because the files
opt_smp.h
opt_smp_invltbl.h
are missing.
This patch to /usr/src/share/mk/bsd.kmod.mk is a temporary workaround.
Note that LKMs built in this way may or may NOT work properly with an
SMP kernel.
Fixed back to front -X and -x strip flags in .m.o and .m.po rules.
Fixed disordered .m.o and .m.po rules. What is .m?
Stripping probably should be removed. It makes problems in library
functions hard to debug...
for how to use gcc to invoke the linker only.
Removed `.if 0'ed support for not creating intermediate object files.
Removed unused include of bsd.libnames.mk (LDONLY had the last reference
to it).
Removed stale misplaced comment about MANDEPEND.
means.
(2) Change MASTER_SITE_GNU etc. to use += instead of ?=, so users can
specify a local mirror in /etc/make.conf and still get the full
fallback in case something is missing.
Submitted by: Narvi <narvi@haldjas.folklore.ee>
(3) Skip port if USE_X11 or USE_IMAKE is defined and /usr/X11R6
doesn't exist.
Submitted by: imp
(4) Add "-" in front of rmdir of ${DISTDIR}/${DIST_SUBDIR} in
distclean target; the directory might not be empty because the
subdir is shared with some other ports' distfiles.
almost perfect dependencies on crt0's and libraries. DPADD and
bsd.libnames.mk should go away soon. Use a new _EXTRADEPEND target
to implement this and to avoid editing of .depend when .depend isn;t
being rebuilt. The afterdepend target doesn't seem to be good for
anything and is now unused.
Fixed LDDESTDIR for the DESTDIR case when ${SHLIBDIR} != /usr/lib.
Added commented-out -nostdlib to LDDESTDIR for the DESTDIR case.
The wrong libraries may be used without this; however it breaks
linkage to crt0 and libc.
is most useful for centralizing the definitions of paths to contrib
directories.
Removed useless subshell and evil-hiding @ in the the rule for
initializing the info dir.
'make -j3 world' works
Jordan points out that this may not be the only place this is required to be
added, but so far, its the only one I've found to break -j3
interesting problems because the resulting file is newer than the source
and this stops 'make' from rebuilding it. Go via an intermediate file
and rename to make sure this doesn't happen.
to before they are used in .for loops and .SUFFIXES lists, or it
doesn't work! Without this, 'make all' doesn't gzip the result as the
generated 'all' target doesn't seem to be defined completely.
bsd.doc.mk:
rename GZIPCMD to DCOMPRESS_CMD, add DCOMPRESS_EXT
bsd.info.mk:
rename GZIPCMD to ICOMPRESS_CMD, add ICOMPRESS_EXT
set INFOTMPL to ${INFODIR}/dir-tmpl
bsd.man.mk
rename ZEXTENSION to MCOMPRESS_EXT, MCOMPRESS to MCOMPRESS_CMD