Commit Graph

344 Commits

Author SHA1 Message Date
thorpej a585fb7042 Add several HOST_* variables. These identical to their non-HOST_
counterparts, and are used to compile programs that are needed to
compile other programs (see src/bin/sh for an example use).  These
facilitate cross-compiling.

Define an NM variable - the program to use for nm(1)
1997-04-17 06:43:32 +00:00
thorpej 985170db35 - Properly depend on crtbegin.o and crtend.o for platforms that use
them (currently Alpha and PowerPC)
- STRIP -> STRIPFLAG
1997-04-17 06:40:32 +00:00
thorpej 9377c557b2 Rename STRIP -> STRIPFLAG - this is a flag passed to install(1) to
indicate whether or not the program should be stripped.  This rename
allows the user to set STRIP as an alternative to /usr/bin/strip,
helping cross-compiling.
1997-04-17 06:34:15 +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
christos c9ba10ae4a Annotate missing directories as [skipped: missing] (from Christoph Badura) 1997-04-16 14:09:16 +00:00
christos 9a7df3e0e4 Skip missing subdirectories to enable builds in partial source trees.
Directories being skipped are mentioned as '===> dir [skipped]'
1997-04-15 21:32:40 +00:00
christos a2a43b1836 Make the `obj' target `.PHONY', so that does not get affected by .PATH/VPATH
This is not hurting things right now, and it will help things when path
searching for target nodes is enabled for make.
1997-04-15 21:29:09 +00:00
perry 138bcc102f fix 3497 from Manuel Bouyer -- install source man pages with proper suffix. 1997-04-15 16:57:46 +00:00
mikel 43ba9b9b69 don't allow override of all: target 1997-04-03 06:53:18 +00:00
thorpej 043fb41aec Set NOPIC and NOPROFILE on PowerPC. 1997-03-29 21:17:22 +00:00
mikel 76cfd073e9 merge lite-2 changes (mostly SCCSids) 1997-03-29 08:02:45 +00:00
christos f897bfdce7 Don't make bogus dependencies with symlinks sources. 1997-03-28 15:07:28 +00:00
christos 22d479a4a8 Don't generate an include target if we don't have INCS set, because SUBDIRS
can make one too. This will break on Makefiles that have both INCS and SUBDIRS,
so then we'll need to change includes: to includes::, but we don't have any
yet.
1997-03-27 17:39:31 +00:00
christos 6c7d983258 Add bsd.files.mk 1997-03-27 17:35:58 +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
mycroft 5fa188a26f Make the SCRIPTS case mimic the FILES case more closely, so we can override
the destination direectory, etc.
1997-03-27 11:05:32 +00:00
mycroft 0d6b2973f3 Remove knowledge of HIDEGAME from here. 1997-03-27 09:10:09 +00:00
christos 790c4693cc Add the bsd.links.mk and bsd.inc.mk 1997-03-25 18:20:55 +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
cgd 30f6cf581e changes to allow "make -j N" to more easily parallelize many subdirs 1997-03-21 00:53:02 +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
gwr ef90c20081 Allow mkdep to exist as a different name (fixes PR#3302) 1997-03-07 23:10:18 +00:00
cgd 1d8b2c2fdd turn Alpha's ELF_TOOLCHAIN checks to ECOFF_TOOLCHAIN checks 1997-02-23 20:53:56 +00:00
cgd 3fbd378aa4 fix botch in the last checkin. 1997-02-18 18:38:39 +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
jonathan eec1518cf0 Change bsd.own.mk to build shared libs on mips CPUs by default. 1997-02-10 21:08:58 +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
perry 57e986e85a add NODOC -- if set, prevents installation of doc files
contributed by Brian de Alwis <bsdealwi@undergrad.math.uwaterloo.ca>
closes pr-2290 (per thorpej)
1997-01-17 01:15:55 +00:00
mark ed0c7a8de5 The arm32 architecture also needs to set NOPIC. 1997-01-13 00:54:23 +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 414b38f4b2 add an afterdepend target (a la the one in bsd.lib.mk) that processes
the .depend file to add <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:39:03 +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
mikel 6d303ec98e add missing LIBPCAP definition. 1996-12-13 08:02:52 +00:00
jtc 43a3714539 Define GPROF when assembling *.S files 1996-11-30 02:18:54 +00:00
mrg b081de7226 add libz and libwrap 1996-11-26 17:37:39 +00:00
mikel 4620721b06 Remove extra ".o"s; fixes PR misc/2883. 1996-11-05 05:40:28 +00:00
explorer 9b140c8554 Update to make the sys/lkm tree compile on i386 and most likely others 1996-10-22 19:41:47 +00:00
thorpej 150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +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
thorpej f2bb1e120e Define an INSTALL make variable, and default it to "install". Suggested
by Simon J. Gerraty <sjg@zen.void.oz.au>, PR #1458.
1996-10-18 02:33:38 +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
cgd 7dc2d2b3fe define NOPIC on the alpha only if ELF_TOOLCHAIN is not defined.
(This is a hack.)
1996-10-13 20:33:59 +00:00
thorpej b479977348 Add "-traditional-cpp" to the COMPILE.S command, so that assembler
syntax (specifically, use of # to indicate an immediate value) isn't
misinterpreted as a CPP directive.
1996-09-30 23:37:22 +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
explorer c3d35c35af Do the symlinks added by mrg correctly 1996-08-27 23:31:47 +00:00
explorer 497b575ce6 Fix a missing dollar sign, and move paths and modes
to bsd.own.mk for KMOD* vars
1996-08-27 22:15:52 +00:00
mrg 8cc0c9583c make lkm's work. still need to worry about options defines... 1996-08-23 06:14:36 +00:00
explorer 85656a00df Add a file needed for the lkm stuff I committed 1996-08-22 20:33:02 +00:00
scottr 4aca2bf529 If DESTDIR is defined, look for includes in ${DESTDIR}/usr/include,
instead.
1996-05-15 19:46:51 +00:00
thorpej c238d2b94e Add the ability to override defaults in bsd.own.mk more easily, by
looking for "${MAKECONF}", or failing that, "/etc/mk.conf" and including
the first one it finds, if it exists.  From Chris Demetriou <cgd@netbsd.org>,
PR #1970.
1996-04-13 02:08:08 +00:00
thorpej 5eb08a6790 Get the current working directory from "/bin/pwd" rather than "pwd".
Changes to the shell make the behavior of "make obj" inconsistent
with previous behavior, depending on the login shell used by the user.
See PR #2200 for details.  PR remains open while further analysis is
done.  This at least restores the previous semantics for us csh(1) users.
1996-04-10 21:08:05 +00:00
mycroft a86feda616 Remove broken hack that attempted to do the same as the previous. 1996-04-10 05:47:19 +00:00
mycroft 198877f9dc Fix COMPILE.s so the output file is named correctly. 1996-04-10 05:44:49 +00:00
jtc 4a437cf6dd Sort LIBFOO definitions and add LIBY; Reported by Mike Long <mike.long@analog.com> in PR #2301. 1996-04-08 21:19:26 +00:00
jtc f9ff89048b Added new standard target "includes" (used to install header files) to
bsd.subdir.mk.  Added some documentation to bsd.README.
1996-04-04 02:05:03 +00:00
jtc f1938eb0d0 Removed special handling of CPPFLAGS if DESTDIR is set. Third party
makefiles may use DESTDIR for something completely different.
1996-02-29 19:06:57 +00:00
jtc 4e24a7f97e Default .s.o and .S.o left output in wrong file 1996-02-28 23:45:16 +00:00
pk cb632f2035 Use shell internal substring matching, like bsd.man.mk. 1996-02-21 10:02:00 +00:00
jtc 24af95d976 Use ksh-style substring parameter expansion expressions instead of
calling expr when constructing manpage directory and file names.
Much, much faster.
1996-02-10 07:49:33 +00:00
cgd 93542f4a98 clean up bits that state which man page section numbers are allowed (section
9 now exists).  Document that variables in bsd.own.mk that were not previously
documented.
1996-01-22 22:46:06 +00:00
mycroft fceadcfbd1 Use the `-q' option to tsort(1). From der Mouse, PR 1204. 1996-01-17 20:39:26 +00:00
thorpej 5ba712a21d Allow override of nroff program, requested by Masanobu Saitoh
<msaitoh@spa.is.uec.ac.jp> in PR #1741.
1996-01-15 01:56:09 +00:00
cgd 4297bc2d3a don't include the .c.a rule on the alpha. see p.r. 1488 for an
example of how make breaks when it's present.  In particular, it causes
build of the compiler toolchain to fail if present, which keeps
a complete system from building, on the alpha.
1995-12-18 02:53:20 +00:00
cgd 8c917568da add "CFLAGS += -Werror" to bsd.sys.mk, and update various bits of
documentation to explain bsd.sys.mk's purpose more clearly.
1995-12-13 01:25:05 +00:00
perry 3baad3ca17 Add support for Section 9 (kernel internals) manpages 1995-11-25 19:53:33 +00:00
cgd 4b84367c40 NetBSD/Alpha now supports profiling 1995-11-03 23:33:33 +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
cgd 079c0ee400 install -s now works properly on the alpha, so don't redefine STRIP
(to kill the -s).
1995-10-12 06:22:18 +00:00
cgd 9544e255ed correct an alpha-specific comment 1995-10-02 20:30:28 +00:00
pk ba51c14e09 Use CPPFLAGS in .S rules. 1995-09-30 12:21:33 +00:00
cgd 2357fc71b1 alpha no longer needs NOMAN= 1995-09-27 13:34:11 +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
christos e3a69c3c19 - In preparation for parallel makes fix the library rules so that they
don't use a.out as intermediate output.
- Note in the README file that we cannot fix the xstr stuff.
  We still need to fix lex and yacc.
- Allow overriding of the variables in sys.mk
1995-09-24 23:49:06 +00:00
cgd d136b73088 show the directory depth, by printing out the hierarchy name.
Suggested by Ty Sarna, implemented by me.  Useful, because it tells you
how deep you are, and allows you to paste the pathname in to 'cd' to the
directory.
1995-07-24 04:22:29 +00:00
ragge 5f4e40d8af NOPIC option added, so that we don't try to generate it. 1995-07-22 20:50:41 +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 6ae995da62 oops; fix an rm that might be empty 1995-06-25 22:29:02 +00:00
cgd f386420eb0 update lint rules, but keep linting disabled 1995-06-24 08:27:37 +00:00
mycroft 03a9334875 Explicitly remove obj link before creating it. 1995-06-10 20:46:35 +00:00
mycroft 27d2a9e05f Define LIBEDIT. 1995-06-10 20:21:05 +00:00
cgd 741ffd7de0 make this work whether or not MANZ is defined. also, clean it up a bit,
remove some extra cruft, and make the way compressed man pages are installed
a bit more sane.  (DON'T blow away uncompressed man pages of the same name,
if they're also there...)
1995-06-07 01:15:20 +00:00
brezak f44a5710f1 define MANZ=1 in bsd.own to get compressed man pages installed 1995-06-02 02:52:04 +00:00
jtc db8496095b Only set NLSALL if NLS is defined and not empty. 1995-04-27 18:05:38 +00:00
jtc ea563874e2 install bsd.nls.mk 1995-04-26 22:30:57 +00:00
jtc e3c663eb4c .include <bsd.nls.mk> unless NONLS is defined. 1995-04-21 20:29:40 +00:00
cgd 1939c12486 special hacks for alpha; mostly: some things aren't supported. 1995-04-21 02:56:24 +00:00
jtc a04634e01b First cut of makefile header that builds and installs message catalogs. 1995-04-20 05:09:34 +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
jtc b83cf82eb5 Define NLSDIR, NLSGRP, NLSOWN, and NLSMODE (for message catalogs). 1995-02-20 21:26:33 +00:00
jtc f3fb76cdde Removed sentance that stated that each *.mk file had a cooresponding
*.rd file.  All the documentation is in bsd.README.  Fixes PR #681.
1995-01-13 00:27:49 +00:00
cgd 7367bf16c1 add info about LIB, as pointed out by jhawk@MIT.EDU 1995-01-02 23:59:01 +00:00
mycroft eacba7d3f3 Insert a missing ${MANSUBDIR}. 1994-12-28 21:46:29 +00:00
mycroft 16f1ef6125 Install links after, not before the pages. 1994-12-28 21:34:23 +00:00
phil d9b81c1c3c Enable shared libs on the pc532. 1994-12-28 04:32:45 +00:00
cgd 3bcbf9fb79 fix up a botch, defining MANALL when there weren't any MANs. 1994-12-23 11:19:21 +00:00
cgd a95ea97ca7 oops; fix a bogon. 1994-12-22 12:22:59 +00:00
cgd dbcf91bb89 specify man pages differently, and document how. 1994-12-22 09:20:40 +00:00
mycroft 97978a8f0b Remove `-+' arg to mkdep. 1994-12-13 11:14:56 +00:00
mycroft 6f9568d22b Slight simpliciation. 1994-12-13 08:46:22 +00:00
mycroft 5d8e3d6329 Add CPPFLAGS to mkdep lines, for cross-compilation. 1994-12-13 08:40:04 +00:00
mycroft 2055209f92 Stop if cd fails. 1994-10-09 16:44:01 +00:00
mycroft c0f9a2266e Add SKEY (defined) and KERBEROS (commented out) variables. 1994-09-28 15:59:28 +00:00
mycroft 6df8c5e52c Include bsd.own.mk earlier. 1994-08-24 19:10:48 +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 101c02e6db Move the inclusion of bsd.own.mk to a better place. 1994-07-26 19:42:37 +00:00
cgd 65e0c25657 fix from christos, for progs w/o objects 1994-07-20 04:57:12 +00:00
mycroft 2bc3c3a671 Pull libraries from ${DESTDIR} if set. Kill LDONLY, which is unused and
probably not useful anyway.
1994-07-06 04:13:37 +00:00
mycroft 624e7c0ad8 Use CPPFLAGS (previously defined but unused) to yank in include files from
${DESTDIR}/usr/include.
1994-07-06 04:12:24 +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 f0fb7b6706 fix modify-info-nothingness-then-substitute probelm that broke genclass build 1994-06-30 06:35:50 +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
jtc 293b4a9e72 Strip *.sh when constructing OBJS from SRCS.
This will allow us to clean up makefiles that build a script by munging
a template (uusched, genclass, neqn, etc.).
1994-06-28 05:16:12 +00:00
cgd 7e8a221a9d Lite doc macros 1994-06-19 01:07:24 +00:00
cgd 9f7c821782 don't chown the symlink, when HIDEGAME causes a symlink to be made to dm.
4.4-based FS code _follows_ the symlinks on a chown(2) call.
1994-06-18 20:57:49 +00:00
jtc ab01da01c5 Change BINOWN -> BINGRP where appropriate. 1994-06-02 23:40:06 +00:00
cgd 53d6c3f81d fix the last to do the right thing for dependencies 1994-05-24 09:37:30 +00:00
deraadt 1b67bc1b3c LIBSKEY 1994-05-24 06:30:57 +00:00
jtc 1e65a5b9e8 Single source file programs are now compiled into object files before they
are linked.  This change halves the time it takes to rebuild all of the
NetBSD sources when only the C library is "touched"; but only takes about
one percent more disk space.
1994-05-22 23:03:58 +00:00
chopps 568355ca48 relink (recompile) single source programs when crt0.o is updated. 1994-04-06 06:37:38 +00:00
cgd 71c681ab9c kill a bogosity 1994-03-27 02:30:42 +00:00
cgd 183803dfad add back inclusion of bsd.own.mk 1994-03-27 01:42:35 +00:00
mycroft 41172b0ea8 Remove *.core on clean. 1994-03-24 16:11:38 +00:00
jtc 4051de5f84 Added various COMPILE.? & LINK.? macros and changed suffix rules to use
them (Like Sun & GNU make).
1994-03-24 16:01:24 +00:00
jtc 85f2beb3d3 Now that single suffix rules work, uncomment them. 1994-03-24 01:39:28 +00:00
cgd 003c0d16f4 cleandepend should happen on 'cleandir' not 'clean', from michaelv@iastate.edu 1994-02-27 22:27:18 +00:00
cgd 38a3d1726d kill install -d's. 1994-02-09 23:50:32 +00:00
cgd c0793f717f have _SUBDIRUSE done in 'realinstall', not in 'install' so that
'afterinstall' actually happens *after* the real install!
since this entire section is in a "!target(install)", having
it done the other way was wrong and unnecessary  (i.e. the
previous change/comment was bogus).
1994-02-09 07:55:08 +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
cgd e83349cd3f add LIBKVM 1994-01-28 00:16:29 +00:00
jtc 0ff921a0c4 Change regular expressions used by expr in MLINKS processing so we can have
manpages with more than one dot.  For example, resolve.conf(5)
1994-01-25 23:35:36 +00:00
cgd ff6c523a64 oops; kill two extra spaces. 1994-01-25 21:56:52 +00:00