Commit Graph

126 Commits

Author SHA1 Message Date
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
mycroft
1e9e92665f Several changes:
* Allow bsd.man.mk to be included separately.
* Always include bsd.own.mk and bsd.obj.mk.
* Include bsd.man.mk and bsd.nls.mk even if NOMAN or NONLS; just turn off
building of the affected files instead.
* Require bsd.subdir.mk to be included explicitly.
(Will make appropriate changes to Makefiles shortly.)
1997-10-11 08:16:24 +00:00
pk
19d4236655 Put `-DPIC' back in CPICFLAGS (a.out section); at least one C source
file (sparc/include/profile.h) relies on this.
1997-06-04 08:38:45 +00:00
cjs
7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs
c6a0de99f8 Add NOINSTALL option for libraries that are used only during the build
of a program, and not installed into the final system.
1997-05-30 01:54:42 +00:00
veego
933397a44f Fix pr#3679 a little different.
Remove the '-nostdlib' flag for ELF systems and keep it for a.out systems.
1997-05-29 15:37:11 +00:00
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