Commit Graph

167 Commits

Author SHA1 Message Date
matt b5db9f5e6e Implement my MKLINKLIB=yes fix a bit differently. Don't include ${OBJS}
in ${ALLOBJS} if MKLINKLIB=yes.  This allows Makefiles to continue to
modify ${OBJS}.
2000-05-03 15:15:50 +00:00
matt 1fef86f176 rework slightly so that when MKLINKLIB=no only the shared objects are built.
(building normal objects when they are never used really sucks on slow build
machines).
2000-05-03 03:44:12 +00:00
dmcmahill 7d8f383dc6 Change -fpic to -fPIC. Change was approved by mycroft. 2000-04-29 17:41:11 +00:00
simonb 1177aeba7c White space bogons (double spaces, spaces instead of tabs). 2000-04-24 14:22:05 +00:00
erh 6092e1aa2a Add NOPATH for all output files to prevent their presence in the search path from causing problems. 2000-02-19 05:36:23 +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
abs a4cc9c62f3 remove duplicate += of OBJS, introduced in 1.158 - fixes PR #8487 2000-01-17 18:37:23 +00:00
simonb 3047c747cf Add a MKPICLIB variable. If set to "no", don't build an _pic.a library
and build shared objects from the .a library.  A symlink is installed
in /usr/lib so that the name "libfoo_pic.a" still exists for third party
software that explicitly wants an _pic.a library.
1999-11-28 04:50:41 +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
christos 3d2671a09d sort the object file build so that we get better buffer cache behavior.
[from perry, with fixes from me]
1999-09-12 00:31:34 +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
wrstuden 5b112fce77 Re-arrange location of "-nostdlib" in DESTDIR case so that cross-ld's
won't name the output file "stdlib".
1999-07-14 20:18:07 +00:00
simonb 3a3605e823 Use ${SHLIB_VERSION_FILE} as the location of the shared library version
file.  Pass this to checkver with the new -v option as well.
1999-06-10 00:40:05 +00:00
christos 11cfd21df0 Don't strip symbols if -g is specified. We might want to be able to debug
libraries!
1999-06-07 01:37:00 +00:00
fair e1134b1863 Patched per PR 7283; this causes shared libraries which depend on
other shared libraries to load against the ones just built when
DESTDIR is set (i.e. -L${DESTDIR}${LIBDIR} ), rather than what's
installed in /usr/lib (previous behavior definitely violated the
Principle of Least Astonishment!).
1999-03-30 09:30:43 +00:00
drochner cf3c9d73cd add missing parts of the "mips"->"mipse?" transition 1999-02-24 14:42:36 +00:00
christos 7054064487 Add sparc/elf bits. 1999-02-14 19:12:09 +00:00
lukem 41510f9a2b for MKSHARE=no, set MKDOC=no MKMAN=no MKNLS=no, and for MKMAN=no, set
MKCATPAGES=no.  this simplifies various tests.
1999-02-12 12:38:44 +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
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
thorpej adab608611 When installing a shared library, run /sbin/ldconfig -m ${LIBDIR} if
DESTDIR is not set and the object format is a.out.
1998-12-02 22:52:21 +00:00
erh 36f7c92000 Don't do the version check if we can't find the script. 1998-11-30 23:34:44 +00:00
erh 792cde2d0d Add ability to use either a file or the sets files when checking library version numbers. Added -d, -s and -f flags for check dir, check sets and check file. Suggested by Simon Burge. 1998-11-12 05:39:45 +00:00
erh 14b0d1f276 Add a checkver target to bsd.lib.mk. This target executes the checkver script to find installed shared libraries with major/minor versions that are too big. The realinstall target now depends upon this target so this check is done whenever a library is installed. The check may be disabled by setting NOCHECKVER. 1998-11-07 09:40:35 +00:00
jonathan e66cc6b3b1 Set SHLIB_LD{START,END}FILE to crt{begin,end}S.o for all ELF ports. 1998-11-05 00:52:02 +00:00
wrstuden 922332701f Make lintlib generation work with PATH'd source. We should pull in the
real source, not the implied names, so that we find things we PATH in from
other directories.
1998-10-07 17:49:15 +00:00
christos ddb60058ff Use preserve flag in install. 1998-09-28 08:13:37 +00:00
tv 1428a599bf Rethink the origins of LDSTATIC. Instead, use an option NOLINKLIB, which
builds and installs only what is necessary to link and run binaries, when
the library is not externally useable.
- NOPIC: Create and link against a static library.
- PIC: Create, link against, and install a shared object.
- PIC+LDSTATIC: Create and link against a static library; create and
  install a shared object.
1998-09-13 23:25:18 +00:00
tv aefeb9110b Fix the .c.a brokenness with libbfd the "right" way - nuke everything but
*o from .ALLSRC.
1998-08-22 18:59:40 +00:00
lukem 24bd0530c9 add distclean as a synonym for cleandir 1998-08-09 14:46:19 +00:00
christos 62017450ca fix lint library rule bug; use ${.ALLSRC} as suggested. 1998-05-02 15:19:04 +00:00
tv 8ab6713503 Fix symlinks creation in the build directory: create the symlinks there,
not in ${DESTDIR}.
1998-04-17 13:34:55 +00:00
tv aea014c22a Braindead pmake conditionals. 1998-04-15 12:07:10 +00:00
tv 820dd24a68 Create the ELF symbolic links in the build tree, too. Needed for libamu
and egcs libcc1 to make sure linking is done against the correct shared
object.
1998-04-15 02:39:53 +00:00
tv 7484409ac2 Compare ${LDSTATIC} against ""; don't check for definition. Make this
DTRT on setups with a global setting of LDSTATIC= (nothing)
1998-04-15 01:38:27 +00:00
tv c97729d6b8 Also build a static library regardless of NOSTATICLIB if LDSTATIC is
defined.  In situations where a "private library" is being built, a static
library is needed to link binaries statically (LDSTATIC=-static).
1998-04-12 21:22:20 +00:00
tv 854cea27cc New flag, NOSTATICLIB, prevents build and install of the standard static
library unless NOPIC is set.
1998-04-09 00:51:06 +00:00
tv 482063559a .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
1998-04-09 00:32:31 +00:00
tv 875f72aa79 Revert. This broke too much in the build tree, and a better solution
needs to be created.  (The existing situation breaks a lot too.)
1998-04-01 16:58:33 +00:00
tv 755c261508 Fix .y rules to DTRT with possibly generated .h files. See mail on
tech-toolchain for a very detailed explanation of this.  In short, add
a .y.h rule identical to the .y.c rule and make the .y.c rule rename
the .h file; also, clean the .h file in CLEANFILES.
1998-04-01 15:23:36 +00:00
jonathan 6fbfecba04 Use the new binutils-compatible ld commandline syntax to build
shared-library .so files on both ELf and  a.out platforms.
1998-03-07 02:02:58 +00:00
jonathan 5e0e8cec39 More table-driven changes for different toolchains:
* new bsd.own.mk variable OBJECT_FMT with values "a.out" or "ELF".
  * use OBJECT_FMT in Makefile tests that depend on toolchain.
  * Add new bsd.own.mk variable NOSHLIB that, if set indicates a given
    port doesnt yet do shared libraries. Set on powerpc.
  * Document new feature-test variables in src/share/mk/bsd.README.
Tested on i386, mips, fakedup Alpha environment.
1998-02-23 10:09:31 +00:00
jonathan b947725fbb Fix dyslexic typo. 1998-02-18 08:14:31 +00:00
jonathan 4cbc9ecd8e Make bsd.lib.mk rules to build ELF vs a.out shlibs more table-driven.
No more .if in solib link rule.
1998-02-18 03:14:31 +00:00
cgd 70fa7e3060 kill a couple of (insignificant but) bogus extra spaces 1997-12-24 05:15:54 +00:00
thorpej 42b5acd98e Fix .c.ln rule: use CPPFLAGS, not CFLAGS. 1997-11-05 05:34:24 +00:00
gwr 0919e2346b Use LORDER, TSORT 1997-11-04 20:33:11 +00:00
lukem 513a06e6f5 remove lint rules for objective c as lint can't cope 1997-10-30 07:25:32 +00:00
lukem 55209d604d add default rules for Objective C sources (`.m' suffix):
- sys.mk:
	add ${OBJC} and ${OBJCFLAGS} (equivalent to ${CC} and
	${CFLAGS} respectively), and ${COMPILE.m} and ${LINK.m} rules
- bsd.sys.mk:
	add .m, .m.o, and .m.ln rules (as per the C rules in sys.mk).
	it's here, rather than in sys.mk, because `.m' isn't
	exclusively used for Objective C files.
- bsd.lib.mk:
	add .m.o, .m.po, .m.so, and .m.ln rules (as per C)
1997-10-28 12:40:16 +00:00