Commit Graph

144 Commits

Author SHA1 Message Date
lukem
efcc9a4c9d * Add user-controlled mk.conf variables
- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
2001-12-28 01:32:37 +00:00
tv
4a1ad2db60 If DESTDIR is set, do a similar nostdinc dance for the standard C++ include
directory.
2001-11-28 04:38:29 +00:00
thorpej
8bfeb9a270 Use a little transitional hack to determine if we use -isystem
or -idirafter.  Use the former only of USE_NEW_TOOLCHAIN, since
-isystem causes the old toolchain to bomb out when building
libstdc++.
2001-11-19 02:46:50 +00:00
tv
6699960dbf C/..$/.c/ -> C/\..$/.c/ 2001-11-14 23:06:26 +00:00
tv
c8c3cf578b Move the DESTDIR-based nostdinc logic to bsd.lib.mk and bsd.prog.mk where
it belongs (with the native target compile rules).
2001-11-14 21:49:53 +00:00
tv
0812154e48 Use INSTALL_FILE/INSTALL_DIR as appropriate. 2001-11-02 18:10:00 +00:00
tv
1129ed4afe Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments.  The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ.  Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
2001-11-02 05:21:47 +00:00
tv
ccfbe64e81 Add .NOPATH for all files generated from .l or .y files in SRCS. Fixes PRs
bin/14187 and lib/14239.

Also simplify the handling of these transforms to .c and .h files a bit by
leveraging make's builtin macro operators.
2001-10-19 15:55:52 +00:00
tv
84a997640e Set .NOPATH on program to build to make sure it goes in .OBJDIR.
Problem noted by <seebs@plethora.net>.
2001-09-25 02:19:26 +00:00
lukem
13a5c8134c fix previous (hi thor!) - $OBJS and $CLEANFILES might be empty, and
rm needs some files to delete...
2001-09-24 09:18:05 +00:00
tls
38809e7a94 Split "cleanprog" target apart: now you can zap only object files or
CLEANFILES (needed to fix crunchgen lossage).
2001-09-24 01:04:32 +00:00
thorpej
913b93d749 Add LIBPCI. 2001-09-13 23:23:26 +00:00
tv
d0f9e45413 Rather than explicitly saying "clean cleandir:" all the time, make clean
a dependency of cleandir (so that "make cleandir" implies "make clean").
2001-08-14 07:02:13 +00:00
tv
dd70bf30ad Make "distclean" a REAL synonym for "cleandir" by actually aliasing it
in <bsd.own.mk>, rather than sprinkling it in all the .mk files (and
some Makefiles throughout the tree).
2001-06-01 17:49:32 +00:00
sommerfeld
263f3e581d Suppress duplicate entries in ALLFILES, FILES, INCS, DEPINCS, INFOFILES,
NLSALL, CATPAGES, MANPAGES, HTMLPAGES, and SCRIPTS.
2001-05-08 03:19:51 +00:00
jmc
788f1c082f Wrap target() checks around afterdepend rule as some Makefiles override this 2001-02-19 07:56:14 +00:00
itojun
ccfc624fe0 fix typo in LIBSSL decl. it made programs with DPADD+=${LIBSSL} to build
every time we type "make".  From: bernd
2001-01-26 09:42:49 +00:00
christos
1e8e6439aa use the new .if commands(<target>) directive so that we don't have to
change Makefiles.
2001-01-14 20:49:36 +00:00
christos
c4a3a5ddb2 fix thinko: test for the existance of the target before we define it... 2001-01-14 09:53:57 +00:00
christos
89923c1ef5 Alter previous redefined target protection. If the ${PROG} target is defined,
add the dependencies as usual, but don't add the commands. This avoids
having to change all the Makefiles that redefine the PROG target.
2001-01-14 09:40:35 +00:00
christos
3769adf593 allow programs to override the program target. 2001-01-14 06:17:27 +00:00
mrg
9354cc7a64 add missing $LIBCRYPTO_RC5 and $LIBCRYPTO_IDEA 2001-01-08 07:41:10 +00:00
mrg
762bc3c71a add missing $LIBSSL 2001-01-08 07:36:10 +00:00
garbled
9c926b4602 Add LIBCDK and LIBFORM definitions 2001-01-04 23:52:00 +00:00
itojun
caf7b11063 add ${LIBINTL} for use with DPADD. 2000-10-31 10:49:01 +00:00
deberg
ad0e0b565c fix typos, PR 11159 2000-10-07 20:26:36 +00:00
erh
c2256d0630 For the case when DESTDIR is set: move the -L${DESTDIR}/usr/lib after ${LDADD} so any -L directories set in LDADD are searched first to avoid possibly linking against old versions of libraries. 2000-06-25 05:07:22 +00:00
thorpej
c55e4231ce Sync up the LIB* list. 2000-06-19 19:00:14 +00:00
mycroft
750b27b82a Use ${.ALLSRC:T} when doing the generated variable name lookups, so that it
DTRT for generated files in and obj directory (or accessed via .PATH).
2000-06-10 14:12:03 +00:00
mycroft
b124cdf163 Abuse .USE some more. 2000-06-06 09:53:29 +00:00
mycroft
befa5650d3 Minor rearrangement. 2000-06-06 09:22:00 +00:00
mycroft
34e1bda46a Use ODE make(1) features to eliminate extra variables and move several things
outside of .for loops.  (Needs more work to completely eliminate .for.)

XXX Don't look at this stuff.  It will make your head hurt.
2000-06-06 05:40:47 +00:00
mrg
114bdbd5eb use -rpath-link rather than -R when linking objects using a DESTDIR.
this replaces the previous change as that ended up adding
$DESTDIR/usr/lib to the runtime path of every binary created, which
is bogus and dangerous.
2000-04-14 03:36:13 +00:00
mycroft
1f813e767e When linking with $DESTDIR, use an explicit -R to get library dependencies
correct.
2000-03-25 23:15:13 +00:00
veego
70b32a2849 Remove unused libahdi.
It will be replaced in the future with a more generic libdisklabel.
2000-03-07 20:54:57 +00:00
jdc
2133a0f528 Add libahdi entries. 2000-02-05 20:54:12 +00:00
eeh
5d315f245c Add some support for FCode binaries. 2000-01-23 19:38:53 +00:00
mycroft
3e13200b73 Make dependall' play nicely with SUBDIR, using a hack similar to realinstall'
for both `depend' and `all'.
Also, remove the old hack that invokes an extra shell for .depend, now that
make(1) has been fixed.
2000-01-22 19:31:00 +00:00
assar
39e002e7ea all: depend on ${SCRIPTS} so that they get generated if they need to 2000-01-16 03:34:27 +00:00
blymn
38bd927ca8 Added libmenu library. 1999-11-23 13:22:37 +00:00
perry
9ad44ce879 Add a "dependall" target, which does a "make depend" and then "make all"
in a single directory. This is useful in "make build" because by doing
the build immediately after the depend, all sources will typically
still be in the buffer cache, thus saving significant time over doing
a "make depend" on all the directories and then a "make all".
1999-09-14 01:31:11 +00:00
fredb
1008436afc Permit "make all install", as well as "make foo install" (where foo would be
installed by "make install") without setting of BUILD. All cases where BUILD
is already set are unchanged from the old behavior.

"make all install" is now practically equivalent to "make BUILD= all install",
but without actually setting build.

Fixes pr's 8313, 3894.
1999-09-04 21:48:33 +00:00
simonb
7987e3b34d Add ${INSTPRIV} to ${INSTALL} commands. 1999-08-21 06:17:45 +00:00
itojun
5e4f18efbb add LIBIPSEC for use from DPADD. 1999-07-01 20:19:18 +00:00
lukem
497d11782a * Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL
MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
  variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
1999-02-12 01:10:06 +00:00
tv
bd8a69f172 libbfd_pic.a is no longer installed; remove ${LIBBFD} define. 1999-02-10 20:55:56 +00:00
christos
f16578a952 PR/2936: Brian C. Grayson: Avoid truncating precious files when installing
and the filesystem is full. Added ${RENAME} flag to install, which when set
to -r installs on a temporary file and then renames to the final destination.
${RENAME} is currently set to nothing in bsd.own.mk, but one can turn it
on in /etc/mk.conf.
1999-02-04 11:58:30 +00:00
jonathan
7574d9a952 Do DESTDIR support for crtbegin/crtend on all ELF ports (adds mips). 1998-11-07 07:10:19 +00:00
christos
ddb60058ff Use preserve flag in install. 1998-09-28 08:13:37 +00:00
ross
08d3e70e4f Define a LIBBZ2?=... for use in DPADD=... lines. 1998-09-10 00:40:33 +00:00