Commit Graph

212 Commits

Author SHA1 Message Date
veego 2fbf728651 Add '-nostdlib -L${BUILDDIR}/usr/lib' for ${LDADD} so it links a shared
library with the correct shared library.
1997-05-28 11:16:19 +00:00
mycroft d5e3cfc07a Add a missing / in SHLIB_LD*FILE. 1997-05-27 18:51:12 +00:00
cjs 058d54e069 Always look in usr/lib for crtbegin/crtend; LIBDIR is the destination
directory of the library we're currently compiling.
1997-05-27 18:21:16 +00:00
cjs 2fc3406301 Re-add other folks' changes that I accidently reverted when I did my
build system changes commit.
1997-05-27 17:45:57 +00:00
cjs 5fd7ce7066 These updates to the build allow building against include files
and libs in the object tree, if you use a separate object tree,
while maintaining backward compatability with other build methods.
See the notes in src/share/mk/bsd.README for full details. Note
that the `make includes' target now only installs the include files
in the build directory (if you use one--otherwise they go in DESTDIR
just like before); `make install' will install include files in
DESTDIR.
1997-05-26 03:55:19 +00:00
jonathan 346af6eeff More table-driven changes: split CPICFLAGS into separate flags, to
support the two different incompatible rules for build .so files from
.S source on both NetBSD and binutils toolchains:

	 ${CPP} | ${AS} for syscalls
	 ${CC}   	for non-syscalls
for which the different toolchains's ${AS}  requires diffferent flags.
1997-05-24 01:42:36 +00:00
mycroft a9b9dbd457 Do LINKS and SYMLINKS after FILES and INCS. 1997-05-17 16:43:31 +00:00
mycroft e30142d40d Remove unneeded .SUFFIXES lines, and move .s and .S closer to .o to give the
right preferences.
1997-05-17 02:01:07 +00:00
mycroft 3ae4ef8d4c Fix typo in previous. 1997-05-09 13:40:34 +00:00
mycroft 4e5d05c9cc Automatically add the .c files corresponding to .l and .y files to DPSRCS.
Automatically add DPSRCS to CLEANFILES.
1997-05-09 13:25:46 +00:00
mycroft fde14a0e77 Remove cruft. 1997-05-09 07:56:00 +00:00
mycroft a6b93bb66a Don't empty the suffix list. 1997-05-09 06:19:55 +00:00
mycroft ca03cbbd4d Oops; rearrange dependencies to get things built early enough. 1997-05-09 05:43:41 +00:00
mycroft f0a00ea4d3 Make sure INCS and SRCS are built if necessary. 1997-05-09 05:17:29 +00:00
mycroft b2a77a6aa4 Don't use _SUBDIRUSE outside of bsd.subdir.mk. 1997-05-07 17:06:16 +00:00
mycroft bb8827f7d1 Various simplifications. 1997-05-07 15:53:28 +00:00
mycroft 1bd348b5f9 Shuffle some .PHONYs around, to work better with `-t'. 1997-05-07 08:42:18 +00:00
mycroft 2da111c521 Make most of the install targets .PRECIOUS. 1997-05-06 21:29:33 +00:00
mycroft 5acae7b6ea Add a pile of missing .PHONYs. 1997-05-06 20:54:31 +00:00
thorpej 2e6057dd39 Pass the program to use for nm(1) to lorder(1), helps cross-compiling. 1997-04-17 06:32:23 +00:00
mikel 76cfd073e9 merge lite-2 changes (mostly SCCSids) 1997-03-29 08:02:45 +00:00
christos cef52070f9 Put the FILES generated rules in a separate .mk file since both bsd.prog.mk
and bsd.lib.mk use them.
1997-03-27 17:33:34 +00:00
christos 7600672517 put the 'r' back in archive. 1997-03-24 23:19:12 +00:00
christos 25f6ec749f make rules update:
- add UPDATE and BUILD features
- add new FILES, INCS, SCRIPTS variables
- allow man pages source installation
1997-03-24 21:54:12 +00:00
cgd d46cdace76 add SHLIB_LDSTARTFILE and SHLIB_LDENDFILE variables for a.out shared lib
architectures, for consistency.  (For a.out shared libs, they're empty.)
Make the shared library target depend on them.
1997-03-23 00:52:20 +00:00
perry 1d624f4f7e Fix SYMLINKS not to include DESTDIR in the link itself 1997-03-22 22:33:53 +00:00
jonathan d012191d6d Use table-driven rules for linking shared libraries on a.out or ELF systems. 1997-03-15 11:35:04 +00:00
cgd b7e0994151 pull crtbeginS.o and crtendS.o in from DESTDIR 1997-03-14 00:52:50 +00:00
perry de40e6afd4 add SYMLINKS, by analogy to LINKS. Vetted by Christos. 1997-03-13 02:45:58 +00:00
cgd f8c02ac2a7 clean up Alpha (ELF) shared library build and install rules. The latter
are now more like what's "normal" for ELF.
1997-02-17 19:24:47 +00:00
mikel ffba261ec0 add support for COPTS, as in bsd.prog.mk 1997-01-28 03:38:40 +00:00
cgd 1d20ab5d2e if 'clean' is not already defined, rather than simply defining it with
a bunch of rules, define a clean{kmod,lib,prog} target with the rules,
and have both clean and cleandir depend on that.  That eliminates a bug
where 'cleandir' in a directory which included e.g. bsd.prog.mk but which
also had subdirs would 'make clean' all the subdirs and then 'make cleandir'
all ofthe subdirs.  It also allows Makefiles to add more dependencies
to 'clean' after inclusion of the make template.

If 'clean' is already defined, the behaviour is the same as it used to be.
1997-01-22 01:34:11 +00:00
christos 398a0a033b Don't use @echo "${command}" to echo commands, because if ${command} contains
double quotes we generate shell syntax errors. Use @echo ${command:Q} instead
which properly quotes shell metacharacters.
1996-12-29 19:14:32 +00:00
cgd 6cd7e38583 change the afterdepend target so that its sed script adds <filename>.ln
for each <filename>.o as an object file which has the given dependencies
(in addition to <filename>.po and <filename>.so, which were already there).
1996-12-20 16:36:56 +00:00
cgd 2dbbba03f0 remove outdated XXX comment (mine) 1996-12-19 07:51:59 +00:00
cgd cbff9abf27 undo (or actually, do differently) that last: On the Alpha, build shared
libraries with LD, but add /usr/lib/crtbegin.o and /usr/lib/crtend.o
before and after the rest of the stuff being linked.  This is a losing
situation all-around: for correct 'DESTDIR' builds, it should be including
them from ${DESTDIR}/usr/lib.  However, since those objects should be
included for all shared libraries, including them from ${DESTDIR} won't work,
because they won't be installed by normal builds by the time they need to
be used.
1996-12-17 23:14:23 +00:00
cgd 47b997f2e0 build Alpha shared libraries with ${CC} rather than ${LD}, because cc
understands how to do the c run-time startup magic necessary for shared
libraries and ld doesn't.
1996-12-17 21:05:40 +00:00
jtc 43a3714539 Define GPROF when assembling *.S files 1996-11-30 02:18:54 +00:00
mikel 4620721b06 Remove extra ".o"s; fixes PR misc/2883. 1996-11-05 05:40:28 +00:00
thorpej 416caa144c Use ${INSTALL} rather than "install".
From Simon J. Gerraty <sjg@zen.void.oz.au>, PR #1458.
1996-10-18 02:34:42 +00:00
cgd a23bd4576c if ${MACHINE_ARCH} is "alpha" build shared libs with the 'normal' GNU
linker's command line args, rather than the NetBSD linker's command
line args.  This is a hack, and should go away in favor of something
more general when that something is developed.  In the mean time, it
might be appropriate for the various mips ports to do the same thing.
1996-10-13 20:39:36 +00:00
abrown 795306043d Add missing quote (") in @echo line of .S.o rule, to prevent sh from
getting confused in certain cases.
1996-09-23 20:23:05 +00:00
jtc a66b1cae00 Fix from Aaron Brown that fixes some typos 1996-09-23 18:15:48 +00:00
jtc 3d592bf5cd Use `${COMPILE.S}' instead of `${CPP} ..... | ${AS} ....' to compile
assembly language source.
1996-09-20 19:51:50 +00:00
cgd ea52c85b3a use -pg rather than -p when compiling profiled objects. 1996-09-05 19:12:33 +00:00
mycroft fceadcfbd1 Use the `-q' option to tsort(1). From der Mouse, PR 1204. 1996-01-17 20:39:26 +00:00
christos 70174eb6fe Added include file <bsd.sys.mk> that contains lex and yacc "parallel aware"
rules. These rules are not turned on by default; they are enabled by setting
the PARALLEL variable.
1995-10-22 00:45:53 +00:00
pk ba51c14e09 Use CPPFLAGS in .S rules. 1995-09-30 12:21:33 +00:00
christos 6e591491c3 - make sure the afterdepend rule fires `after' .depend gets created.
[fixed for parallel make]
- make depend prettier printing.
1995-09-27 01:15:09 +00:00
jtc 7065a25cef Fix .cc.o .C.o rule; PR #1522 1995-09-26 23:48:24 +00:00
christos 03d121f492 - Actually commit the bsd.lib.mk changes mentioned above... 1995-09-25 00:53:09 +00:00
cgd 73037ca2b0 oops 1995-06-29 17:43:13 +00:00
cgd 7d5b9a0d95 fix a paste-o 1995-06-27 20:37:29 +00:00
cgd aebda19c0b fix more possibly-empty 'rm's, here. kill long-dead {profiled,...}/* cleans 1995-06-26 00:19:44 +00:00
cgd f386420eb0 update lint rules, but keep linting disabled 1995-06-24 08:27:37 +00:00
jtc e3c663eb4c .include <bsd.nls.mk> unless NONLS is defined. 1995-04-21 20:29:40 +00:00
cgd 622d3ff963 don't ranlib read-only files. patch for bug 977, from Greg Hudson
(ghudson@MIT.EDU).  He doesn't think this patch is particularly
beautiful, but i'm not sure much can be done about that.
in particular:
	(1) installing to a different file name, then chowning that
		and using 'mv' brings up a couple of bugs that
		can't reasonably be tested for (and shouldn't have to be),
	(2) you don't particularly want people trying to use the libraries
		until they've been successfully installed, anyway.
1995-04-19 06:26:50 +00:00
mycroft 6f9568d22b Slight simpliciation. 1994-12-13 08:46:22 +00:00
cgd 02ee725315 include bsd.own.mk early on, to get NOPIC definition. 1994-08-19 15:48:12 +00:00
pk 0e7e1e9127 Don't keep local symbols in a shared library symbol table. 1994-08-09 13:04:28 +00:00
mycroft 753b97a485 Include ${CPPFLAGS} when compiling .c and .cc files. 1994-07-06 04:09:55 +00:00
deraadt ec891b096e .m4 files are sources too 1994-06-30 06:47:38 +00:00
cgd 61d2ae79f4 RCSID frobbing, and minor sanity adjustments. 1994-06-30 05:31:04 +00:00
cgd b233f19e46 don't be careless with _SUBDIRUSE 1994-06-30 05:21:28 +00:00
mycroft 41172b0ea8 Remove *.core on clean. 1994-03-24 16:11:38 +00:00
cgd 38a3d1726d kill install -d's. 1994-02-09 23:50:32 +00:00
jtc 894ae428ab Moved manpage formatting rules from sys.mk to bsd.man.mk.
Some programs (like ispell) use *.[0-8] for non-manpage things, and having
the manpage rules in sys.mk really messes things up.
1994-01-31 18:40:10 +00:00
pk ea692b4d19 Archive member names need no longer be truncated. 1994-01-07 00:52:44 +00:00
mycroft 27f957c30b `ld -x -r' on .so files really does work now. Maybe it will continue to for
a little while.
1994-01-06 04:32:35 +00:00
mycroft 0f7e1c4931 ld -x -r for .so files clearly does not work yet. 1994-01-05 23:29:39 +00:00
mycroft 928cf6a75f Use ${DPADD} and ${LDADD} only when building shared library. 1994-01-04 20:26:52 +00:00
mycroft 28c41313e6 Reinstate `ld -x -r' for .so. 1994-01-04 19:08:55 +00:00
cgd e501423fab allow .S; keep .s around for now 1993-12-04 01:28:39 +00:00
pk c1420efe26 Always install lib*_pic.a archives. 1993-11-14 16:45:05 +00:00
cgd 2b2415ec15 make libfoo.so.m.n depend on libfoo_pic.a, and also explain
what we're  doing when building libfoo.so.m.n.
1993-11-02 23:14:50 +00:00
cgd 1f88f697c0 MAJOR -> SHLIB_MAJOR, MINOR -> SHLIB_MINOR 1993-11-02 23:08:20 +00:00
pk 8982f4f808 Add `-Bshareable' to shared library rule. 1993-11-02 22:59:06 +00:00
pk f7f25f3486 Don't try to build things when installing. 1993-11-02 22:02:12 +00:00
pk 80ee143924 `-Bshareable' added to link rule for shared libs. 1993-10-27 00:58:31 +00:00
pk 8b65437bb1 Install shared library with version numbers from `shlib_version'. 1993-10-24 00:05:31 +00:00
pk f1e94cd5cd Added rule for installing PIC archives (not the shared libraries themselves). 1993-10-17 01:09:01 +00:00
pk a451477f66 Removed `ld -r -X' line from the .cc.so and .C.so rule, as ld does
not yet support it.
1993-10-11 21:49:06 +00:00
cgd d415bba2d7 rm _pic libs on clean, too. 1993-10-07 01:34:07 +00:00
pk 6dd02c67e8 Added .so to `.depend' (Thanks to Andrew Wheadon for poiting this out). 1993-10-06 17:54:01 +00:00
cgd c5a97edc94 add .so rules for c++ files. 1993-10-04 20:54:33 +00:00
pk 5a4a780b36 Support for building PIC libraries.
Given a library name `x', an archive `libx_pic.a is built, unless NOPIC
is defined (like NOPROFILE).
1993-09-29 01:02:21 +00:00
mycroft 121103eb35 Don't define afterdepend if no SRCS. 1993-08-16 01:41:01 +00:00
mycroft f5b2ed3238 Don't automatically include bsd.subdir.mk in bsd.prog.mk and bsd.lib.mk.
Put back .MAIN in bsd.man.mk, and be careful not to include ../Makefile.inc
a second time.
1993-08-15 20:59:36 +00:00
mycroft 3eebe31396 Move man rules to sys.mk.
Use bsd.subdir.mk for building subdirectories.
Don't forget to remove x.cc and x.C when using SHAREDSTRINGS.
Make ${PROG} always depend on ${LIBCRT0}.
Don't duplicate code between cleandir and clean.
Move tags target to bsd.dep.mk.
Move STRIP to bsd.own.mk.
Remove redundant definitions of {BIN,MAN}{DIR,GRP,OWN,MODE}.
Move {LIB,DOC}{DIR,GRP,OWN,MODE} defaults to bsd.own.mk.
1993-08-15 20:42:39 +00:00
mycroft 6a1bdd6fc0 Abstract out dependency stuff, and add RCS identifiers. 1993-08-15 19:37:04 +00:00
mycroft 0c9bbcf68c Create target directories with `install -d', and move `obj' targets into one
file.
1993-08-15 19:26:05 +00:00
mycroft 01094e51c2 When generating a default OBJS, ignore .h files. 1993-07-30 03:40:07 +00:00
mycroft 8846a74782 Don't print the `making ...' message if an obj dir already exists.
Also, a minor cleanup.
1993-07-29 22:04:53 +00:00
mycroft 8d7d3883e3 Fix C++ dependencies for good. `make depend' is now done in two passes--one
of C files and one for C++ files.  No need to specify `-+' in your Makefile,
as it is now done automatically.
1993-07-17 13:43:50 +00:00
mycroft 3a5556e27f Combine some suffix rules. 1993-07-17 12:29:17 +00:00
mycroft b761d4a97c Add suffix rules for C++ files. 1993-07-17 12:09:51 +00:00
mycroft 6eb3e7bd66 Never mind. I was being led astray. 1993-06-17 03:45:08 +00:00
mycroft 55acb95fdb We use ranlib; we don't need lorder. 1993-06-17 03:37:23 +00:00
cgd 70d0145d0f get make depend right, so that it depends .po's too. 1993-06-02 14:56:16 +00:00
cgd 23b910276a change libraries to use ${RANLIB} rather than "ranlib" explicitly,
also, ranlib them when they're made, so /usr/obj can be read-only
1993-05-26 11:51:49 +00:00
cgd 0150a07cf8 if NOPROFILE defined, don't try to install the profiled libs. 1993-05-26 11:48:40 +00:00
mycroft f11199f811 Add afterinstall and make maninstall not lose if bsd.man.mk not included (i.e. NOMAN set). 1993-04-25 05:21:08 +00:00
mycroft 448e87b39f Don't build man pages if NOMAN set. 1993-04-25 02:51:01 +00:00
cgd 63c070a4bb get make clean[dir] to work right. fixes /bin/sh: not found problem 1993-04-20 03:29:36 +00:00
cgd 62da9a5ad0 various changes to default make rules. from patch 101.
note that only the "sensible" changes in patch 101 are implemented.
1993-04-09 20:05:56 +00:00
cgd 8619bdc913 try to do the right thing, in terms making directories before we
install into them, and get the manpage cleans _OUT_ of "clean".
they don't belong there, only in cleandir, WFJ be damned.
1993-04-08 17:18:42 +00:00
cgd d870cfd2bd fixed typos... 1993-04-08 14:10:30 +00:00
cgd e74ea3abfa (silently) make sure we have directories before installing 1993-04-08 14:02:00 +00:00
cgd 9c998b0a59 make `install' of libraries copy rather than move. 1993-04-04 15:31:38 +00:00
cgd 883c20ae5a made .CURDIR be absolute, not relative, thereby eliminating
the need for some of the makefile trickery when making objects,
and fixing a few .PATH bugs
1993-03-23 07:26:38 +00:00
cgd d384beb878 fixed "make obj" for cases when sources not in /usr/src/...
if sources not there, it now mkdirs obj, but some trickery
is necessary, to avoid deleting cwd.
1993-03-22 08:09:36 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00