Commit Graph

1052 Commits

Author SHA1 Message Date
perry 5fdc9f9a85 document/rename UNPRIVED 2001-11-19 04:45:06 +00:00
perry 77bd523e70 Snapshot of some things for builds as non-root -- work in progress:
0) rename UNPRIVILEGED UNPRIVED. It was too long. We'll argue about if
   we should replace it with yet something else later. It currently
   logs metadata by default. We'll argue more about that later too.
1) create a _SRC_TOP_OBJ_ variable pointing at the /usr/src objdir so
   we know where to dump metadata.
2) Add a METALOG variable pointing at the default location for the
   metadata log. (This may be moved or renamed -- the location is just
   for testing.)
3) Add a HOST_INSTALL_FILE used in host tools Makefiles instead of
   INSTALL_FILE, which doesn't include ${INSTPRIV} (i.e -U -M ${METALOG})
4) Add INSTALL_LINK, INSTALL_SYMLINK for use in other .mk files so we
   can get rid of explicit uses of ln. Slightly clean up INSTALL_FILE.
2001-11-19 04:44:32 +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
bjh21 dbd735b9b1 Need bsd.sys.mk for the GROFF definition in the non-USETOOLS case. 2001-11-18 15:11:25 +00:00
thorpej 72915508bb Protect from multiple inclusion. 2001-11-17 22:55:24 +00:00
thorpej b78cf94ba5 Make sure MKDEP is defined for the non-USETOOLS case. 2001-11-17 22:48:48 +00:00
thorpej c08a9b5abe Need bsd.sys.mk for the GROFF definition in the non-USETOOLS case. 2001-11-17 20:38:45 +00:00
atatat 04faedd073 Add OBJDUMP to the toolchain list. 2001-11-15 21:43:54 +00:00
tv 42423ab0f9 Make it possible to warn about platforms that are not yet switched to the
new toolchain.
2001-11-15 19:24:07 +00:00
wiz dd7622f812 It's called nbmakeinfo now, not makeinfo. 2001-11-15 13:05:35 +00:00
wiz 012e08cda6 Re-add check for defined(MKSOFTFLOAT) that got lost in v1.60.
Needed for Makefiles which include bsd.sys.mk, but not bsd.own.mk,
like distrib/macppc/floppies/ramdisk/Makefile.
Okay'd by simonb.
2001-11-15 12:15:09 +00:00
tv 6699960dbf C/..$/.c/ -> C/\..$/.c/ 2001-11-14 23:06:26 +00:00
tv 5e32db9d70 Remove SHAREDSTRINGS logic for host programs; this is unnecessary here. 2001-11-14 23:03:06 +00:00
tv 6c2c072164 Turn off host-specific objdirs by default. Set MKHOSTOBJ=yes to enable. 2001-11-14 22:29:23 +00:00
tv d21f3d4a13 Prefix all target-specific things with `${MACHINE_GNU_PLATFORM}-'.
Prefix all non-target-specific things with `nb'.
2001-11-14 22:13:39 +00:00
tv a9c913616b Put -Is in CPPFLAGS, not CFLAGS; change -I to -isystem as appropriate. 2001-11-14 22:01:40 +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
thorpej f01d91b750 If MACHINE_ARCH == arm, set USE_NEW_TOOLCHAIN=yes and OBJECT_FMT=ELF.
It is infeasible for some ARM ports to use anything but ELF/new-toolchain,
and this allows for the ARM ports that aren't ready for ELF to stay at
MACHINE_ARCH == arm32 until they're ready.  The rest of the ARM ports
have a userbase such that if a flag day happens with the compiler (there
are a couple of ABI issues still being discussed), that it won't matter
so much.

Discussed with Ben Harris, Matt Thomas, and Chris Gilbert.
2001-11-14 19:46:38 +00:00
tv 23b305bcfa * Use -isystem instead of -idirafter for ${DESTDIR}/usr/include.
* Provide defaults for HOST_AR and HOST_RANLIB.
* Formatting cleanup.
2001-11-13 20:25:38 +00:00
tv 0b806103d9 "${FOO}" -> ${FOO:Q} 2001-11-13 17:37:03 +00:00
tv 25c34dba0d Move host program overrides of INSTALL and MKDEP to <bsd.hostprog.mk>. 2001-11-13 17:36:14 +00:00
tv b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00
tv 7745da0f1c Set CFLAGS and CPPFLAGS for the benefit of <bsd.dep.mk>, and move the
inclusion of <bsd.sys.mk> to the top to get defaults.  (Dependency handling
needs a cleanup, and will get one soon....)
2001-11-12 22:06:41 +00:00
tv 300ea65311 MAKEFLAGS isn't accessible from a conditional during parse; use .MAKEFLAGS
instead.
2001-11-12 20:11:21 +00:00
tv d35dc81716 "true" doesn't output anything; use "echo" instead. 2001-11-12 20:05:15 +00:00
tv 84935b4037 Make PRINTOBJDIR use "${MAKE} -V .OBJDIR" so it will work correctly with
<bsd.obj.mk> rewrites of ${.OBJDIR}.  Add a failsafe (checking for the
-V option in MAKEFLAGS) to prevent infinite recursion.
2001-11-12 20:03:44 +00:00
tv 777bc9f06a Use ${__curdir} consistently. 2001-11-12 18:49:12 +00:00
tv c2c66c6e5c Also handle the USR_OBJMACHINE case for OBJHOSTMACHINE. 2001-11-11 23:22:19 +00:00
tv 2e00400b7f Affix the ${HOST_OSTYPE} info to the end of the objdir name if OBJMACHINE
is set (and MAKEOBJDIR[PREFIX] is not in use).  This permits multiple hosts
to compile hostprogs (not just src/tools) for a given target without
colliding with each other.

Currently restricted only to new toolchain builds, as this requires a new
make(1) in order to function properly.
2001-11-11 23:19:14 +00:00
tv e7e8f27d5f Fix variable concatenation in previous. 2001-11-11 23:07:26 +00:00
tv fcc9c62259 Make the BSDSRCDIR/BSDOBJDIR symlink based objdir system work for the top
source directory.  This will use BSDOBJDIR of OBJMACHINE is unset, and will
create a directory '.MACHINE' inside BSDOBJDIR if OBJMACHINE is set.

MAKEOBJDIR and MAKEOBJDIRPREFIX based objdirs already cope with the top
level directory just fine.
2001-11-11 22:39:23 +00:00
tv 80d11d2c09 Provide defaults for MDSETIMAGE and CRUNCHGEN. 2001-11-11 21:41:00 +00:00
thorpej 73f86f9fe4 Add a DBSYM variable for the dbsym(8) host tool. 2001-11-09 07:30:55 +00:00
tv 4fe26460e9 Remove dependency on NLSDIR entirely, now that it's not auto-created. 2001-11-06 16:20:16 +00:00
lukem 20960db1bf Don't create missing NLS directories; require them to already exist
(by updating etc/mtree/NetBSD.dist as necessary).
`nlsinstall' is now in line with other *install targets.
2001-11-06 10:59:15 +00:00
tv e239fff11b Extend the use of NEED_OWN_INSTALL_TARGET (used by bsd.pkg.mk since its
creation, to exclude conflicting make targets from botching pkgsrc), to
avoid defining INSTALL_FILE.  pkgsrc is self-contained except for
<bsd.own.mk>, so this doesn't have an adverse effect on real <bsd.*.mk>
build trees.
2001-11-05 19:45:25 +00:00
thorpej 5f6d116c46 Switch PowerPC to the new toolchain. 2001-11-04 01:36:18 +00:00
enami 97ab45c39d Don't try to build nonexistent compressed man page. 2001-11-04 00:30:52 +00:00
thorpej fd329b8dd0 Fix typo in previous. 2001-11-03 20:46:25 +00:00
thorpej b437f0975b Switch NetBSD/sparc to the new toolchain. 2001-11-03 20:26:56 +00:00
tv 0812154e48 Use INSTALL_FILE/INSTALL_DIR as appropriate. 2001-11-02 18:10:00 +00:00
simonb 7d1f940ec6 Set installed library mode correctly in UNPRIVILEGED case. 2001-11-02 07:25:58 +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
lukem 2d79659157 move -Wwrite-strings to WARNS=3 too ... (yech!) 2001-11-01 07:27:35 +00:00
lukem 0e643f61a5 Move -Wcast-qual from WARNS=2 to WARNS=3 (a new level), because it
generates too many false positives that require gross amounts of
workaround, and the other WARNS=2 stuff is quite useful. Per discussion
with simonb & christos.
2001-11-01 07:17:17 +00:00
tv a988fe0a8a Revert previous. src/include depends on the ability of <bsd.inc.mk> to
provide things to INCS with / in them.  Since nothing in-tree yet uses
INCS{DIR,NAME}_filename, this is not a loss at the moment.
2001-10-31 21:15:41 +00:00
tv 61be23b431 * Create a variable HOST_OSTYPE that represents the host build environment,
using `uname -s`-`uname -r`-`uname -p || uname -m`.  This can be overridden
  in mk.conf or the environment, and is used by host tools to ensure that
  build hosts do not clobber each other.

* Now that there's an objdir in src/tools, make a default TOOLDIR by creating
  "tools.${HOST_OSTYPE}" in the objdir (if it exists) of src/tools.  This
  means that TOOLDIR is no longer required to be set in a build, though it
  still may be set manually if desired.

* Set MKTOOLS to "yes" by default, since the default TOOLDIR is now located
  in a known mutable location.  This may still be set manually if desired.
2001-10-31 17:46:08 +00:00
tv abb4800606 Make REQUIRETOOLS work properly -- don't error if USE_NEW_TOOLCHAIN is
not set.  Also, nuke redundant USE_NEW_TOOLCHAIN check with USETOOLS.
2001-10-31 16:25:21 +00:00
tv 7d2258875d Use __curdir throughout, so MAKEOBJDIR builds see resolved paths in the
"foo -> bar" messages written to stdout.
2001-10-31 01:46:42 +00:00
wiz 59268f6553 Add support for INCSNAME and INCSNAME_<file> to bsd.inc.mk.
Same syntax as FILESNAME and FILESNAME_<file>, allows to install
includes under a different name.
Okay'd by christos.
2001-10-30 15:17:16 +00:00
jmc 83fb4943af already gets checked and prints out an error if it's used without
being set. You want to use it if USE_NEW_TOOLCHAIN is set and you're in
the source tree by default.
2001-10-28 02:03:00 +00:00
chs 3116cf32a9 if TOOLDIR is not defined, USETOOLS should default to "no",
since defaulting to "yes" will just give an error every time.
2001-10-28 00:52:41 +00:00
jmc bffc850001 Remove debug echo statement 2001-10-26 06:41:46 +00:00
jmc a414473103 Change the check for BSD_PKG_MK into something which looks to see if we're
running from inside of $BSDSRCDIR (recurse back and look for file/dir
signatures or reach /, whichever comes first).

Do it once and then pass the results to sub-makes.

Finally, if using the new toolchain and USETOOLS=yes check $TOOLDIR
before using it. Print an error message out if it's not set when expected
here.
2001-10-26 04:59:10 +00:00
bjh21 cb7676b0ab USE_NEW_TOOLCHAIN for ARM ELF platforms (just arm26), since the old toolchain
doesn't do ARM ELF at all.
2001-10-25 22:31:11 +00:00
nathanw 41ee0930b0 Don't explicitly set SHLIB_LDSTARTFILE and SHLIB_LDENDFILE for the
generic architecture case; this permits the later ELF clause to set
them properly for ELF platforms.

This will cause crtbeginS.o and crtendS.o to be included in shared
libraries built on all ELF platforms, not just alpha, mips, vax, and
sparc.
2001-10-25 19:32:15 +00:00
thorpej 083db732ee Sigh, back out previous -- it is necessary inorder for the depend
(and dependall) targets to work properly.

XXX THIS IS BROKEN.  It's highly questionalble that we should be applying
our .depend-generating rules to a host system -- the mkdep we currently
use assumes GCC.
2001-10-25 13:48:50 +00:00
thorpej 09dacf298e Oops, typo. 2001-10-25 07:47:18 +00:00
thorpej 9c77726ed1 Add an ASN1_COMPILE variable for that host tool. 2001-10-25 07:46:48 +00:00
thorpej 4cd6ce7ea8 Remove an unnecessary "CPPFLAGS=${HOST_CPPFLAGS}" -- the host tool
targets use HOST_CPPFLAGS exclusively, and keeping this assignment
can get us into some unfortuante recursion trouble.
2001-10-25 01:21:14 +00:00
thorpej 5717160d3a MDSETIMAGE gets a MACHINE_GNU_PLATFORM prefix. 2001-10-24 23:58:21 +00:00
thorpej bae67ac435 LINT needs a ${MACHINE_GNU_PLATFORM}- prefix now. 2001-10-24 02:34:33 +00:00
thorpej 3a01dbbe6c Quote the ${CC} provided to mkdep's environment. 2001-10-23 22:55:30 +00:00
thorpej 8f508df026 When setting MACHINE_GNU_PLATFORM for ARM ports, we need compare
MACHINE_GNU_ARCH (not MACHINE_ARCH) to "arm", otherwise the GNU
platform won't be set properly if OBJECT_FMT=ELF.
2001-10-23 17:15:21 +00:00
jmc a831891141 Pull in mdsetimage to the tools builds. (XXX - using libbfd here would
probably be preferrable long term).
2001-10-21 23:10:46 +00:00
jmc 910ace859f Pass ${.MAKE} to crunchgen so it uses the one for cross builds correctly 2001-10-21 23:08:59 +00:00
jmc 6289ed7a3e Change sets so the differing toolchain bits only (not the complete toolchain
at the moment) are pulled out into tc.mi and tc.old files.

tc.mi has any files which are in the new toolchain only and tc.old contains
the reverse (files which only existed in the old toolchain). The remainder
of the toolchain that is common between both old and new is still contained
in the various mi/md files.

Check for USE_NEW_TOOLCHAIN=yes in makeflist to determine which tc files to
pull in if they exist.

XXX - All the toolchain bits should eventually be pulled out into separate
lists as tc.mi and tc.<arch>. Leaving it for now until the new toolchain is
fully integrated on all ports.
2001-10-20 06:11:21 +00:00
jmc 37e7a6a0a9 Add mklocale to cross-tools and turn it back on for the builds. 2001-10-20 06:04:59 +00:00
tv 9bd7c9e744 Better version of previous. Use an .ifdef in this case, so the rule isn't
even defined without YHEADER.  (Otherwise can lead to odd behavior.)
2001-10-19 19:07:48 +00:00
tv 336a299fa4 Make sure .y.h rule knows what to do only if YHEADER is set. 2001-10-19 17:05:26 +00:00
tv 53aa2d95d7 Simplify many .if's by collapsing to make :D and :U conditionals. 2001-10-19 16:28:54 +00:00
tv 4a7f86b870 Simplify and collapse a lot of the gooey .l and .y handling cruft here.
Rather than special-case a bunch of stuff, make this always parallel-safe,
and have make call upon the .l.c/.y.c followed by .c.o/.c.lo transforms,
rather than try to go right from .l/.y to .o/.lo.
2001-10-19 16:15:40 +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
jmc 1ea83aa531 Add crunchgen, msgc and menuc 2001-10-13 06:11:06 +00:00
jmc c55dbe210b Add MTREE var definition to list for sys.mk 2001-10-13 06:06:55 +00:00
enami a28fcd776c Make mtree a host tool and use it when appropriate. 2001-10-09 05:19:03 +00:00
mrg f650652253 use CC="${CC}" and NM="${NM}" so that, eg, "CC=cc -m64" works. 2001-10-08 10:01:35 +00:00
simonb 6247b48489 Use ${MACHINE_CPU} instead of ${MACHINE_ARCH} in the machine-links
target; needed for MIPS and probably arm ports.
.include the full path name of machine/Makefile.inc so that this works
  if the machine-links target hasn't been run yet.
.include ${MACHINE_CPU}/include/Makefile.inc too.
2001-10-05 15:30:06 +00:00
tv d1a2ff769a Make sure "clean" target is always defined, to compensate for cleandir
now being defined in terms of clean.
2001-10-04 16:29:54 +00:00
tv 4623186407 Make sure to define USETOOLS properly always (set it to "no" on systems
without USE_NEW_TOOLCHAIN).  This will allow conversion of in-tree
conditionals to use only USETOOLS....
2001-10-04 15:52:59 +00:00
jdolecek 20a3387bdb don't include explicit -e for modload in 'load' target - it's redundant
This addresses bin/4701 by Hauke Fath, but does opposite thing than
suggested there.
2001-09-29 20:10:07 +00:00
mrg f0cf28bfaa enable a toolchain for the sparc64. 2001-09-26 12:45:56 +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
tv 63e11416cf Add STRIP to the environment of binstall, to use proper strip at install
time.  Noted by <jepeway@blasted-health.com>.
2001-09-25 01:43:35 +00:00
tv e7bc3de221 Add mssed commit that sets USETOOLS=no if BSD_PKG_MK is set. Noted by erh. 2001-09-25 01:04:35 +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
tv aea7f2e0d5 Move the definitions of host tools from Makefile.tools to <bsd.own.mk>.
Turn on USE_NEW_TOOLCHAIN explicitly on i386.  (See current-users or
tech-toolchain for the heads up announcement and tech details.)
2001-09-22 05:45:50 +00:00
tv cda4a8d07c The -m option is automatically propagated by make(1). Don't add yet more
(possibly wrong) `-m' options; this will only make MAKEFLAGS bigger and
bigger with each recursion.
2001-09-22 05:01:26 +00:00
tv 6abadb2b98 Allow for recursion speedups by predefining rules for large subtrees which
don't need to run a particular target (such as "includes-games" at top level,
or "includes-sushi" at share/).
2001-09-21 20:50:23 +00:00
tv b868449232 Since SHLIB_MAJOR may be set even in a MKPIC=no situation, make sure that
print-shlib-* targets only print stuff if MKPIC=yes.
2001-09-21 15:25:49 +00:00
tv e949020a8e If SHLIB_MAJOR is explicitly set in a Makefile, don't even look for a
shlib_version file.  (Part of a larger change which will also update
checkver to deal with this, and migrate old makefiles to include
SHLIB_MAJOR/SHLIB_MINOR.  For now, just add the hooks so that the old
gnu/lib toolchain libraries can use this as a workaround.)
2001-09-21 15:16:09 +00:00
mycroft 4a379469f5 Use -O2 on PowerPC. 2001-09-17 12:28:14 +00:00
chris a41363209a Arm doesn't do ELF by default yet. Should fix PR 13973. 2001-09-16 18:50:29 +00:00
thorpej 913b93d749 Add LIBPCI. 2001-09-13 23:23:26 +00:00
thomas d9203a217e On Atari now the default object format is ELF. 2001-09-08 11:10:41 +00:00
christos 10535336ed Add some more WARNS (commented out since they break things) 2001-09-08 01:00:44 +00:00
eeh 500082fdef Build lint on sparc64. 2001-08-26 06:00:30 +00:00
chs 7cffe4c898 switch cesfic to ELF. 2001-08-25 18:39:24 +00:00
mrg 665a4002a3 enable profile libraries on sparc64 2001-08-19 14:24:44 +00:00
tv 64263ab596 Revert previous temporarily to deal with PR bin/13722; will revisit this
(and close the PR) after I've located all of the uses of PRINTOBJDIR and
fixed them up not to bork themselves recursively.
2001-08-15 17:50:15 +00:00
tv 937e77aec5 Speed up PRINTOBJDIR a little by changing it to "${MAKE} -V .OBJDIR" (it
will recurse, but won't need to spawn a shell and run commands now).
2001-08-14 23:33:43 +00:00
tv f059974dc2 Add a HOST_CXX and HOST_CXXFLAGS (currently needed for compiling groff on
a cross host).
2001-08-14 11:55:04 +00:00
tv 58290cfc5d Change ROFF?= to be more like other utility macros; make this "groff -Tps"
by default.
2001-08-14 10:38:27 +00:00
tv 55e586472d Simplify some MACHINE_ARCH transforms, and redefine MACHINE_GNU_PLATFORM
as the full GNU triplet name.
2001-08-14 09:31:42 +00:00
tv 8bd89a86e7 Protect against multiple inclusion, and evaluate ${.CURDIR} early (to assist
the top-level toolchain bootstrap).
2001-08-14 09:30:48 +00:00
tv 73774cf454 On recursion, don't recurse "clean" if making "cleandir". (Related to
bsd.own.mk change that defined clean as a dependency of cleandir.)
2001-08-14 09:02:26 +00:00
tv dba7b8b6de Use GENCAT as a variable to determine the location of "gencat". 2001-08-14 08:28:24 +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 b2e42252e1 Simplify PRESERVE and INSTPRIV by using ${...:D...}. 2001-08-14 06:47:24 +00:00
tv c7dda8f2a7 Make MAKECONF defined always by setting MAKECONF?=/etc/mk.conf and using
that variable only for including make(1) variables.  Much more consistent
and less prone to ambiguity this way (and now, ${MAKECONF} can be used in
messages indicating a missing option needed for a build).
2001-08-14 05:55:27 +00:00
enami 086d34c97e Now that the makeinfo is quiet by default, don't suppress commmand line echo. 2001-08-02 05:42:56 +00:00
matt c944f94d86 MACHINE_ARCH=arm changes 2001-07-23 17:13:44 +00:00
matt a161d61e18 Make arm use -O2 2001-07-23 17:08:17 +00:00
bjh21 6c71fcb79a Since arm26 and arm32 are heading towards shared binaries, don't distinguish
them for the GNU tools.
2001-07-21 16:56:07 +00:00
bjh21 0d2f9028de arm26 uses ELF. 2001-07-21 16:48:49 +00:00
fredette 340af7db82 Added support for the m68000 MACHINE_ARCH, as an incomplete
ELF port with a MACHINE_CPU of m68k.
2001-07-13 12:44:22 +00:00
scw 3293e3a26c Check for MKSOFTFLOAT being defined before testing its value.
Needed for crunchgen(1) generated makefiles (e.g. miniroot builds).
2001-07-04 17:46:06 +00:00
eeh 3fa4c5f64b Tell the assembler to accept UltraSPARC extensions on sparc64. 2001-06-29 23:50:01 +00:00
wiz 3f9984fc90 `existent', not `existant' 2001-06-19 13:42:07 +00:00
fvdl 644b748282 Add some extra flags for the x86-64 port. Disable -O in sys.mk
(which is where all ports set it); there seem to be some lurking
optimization bugs for the x86-64.
2001-06-19 01:37:44 +00:00
simonb 3acd556b4d Add a new make variable "MKSOFTFLOAT". If not set to "no", it adds
"-msoft-float" to COPTS and FOPTS, and possibly builds soft-float
library support (port specific).
Defaults to "no".
2001-06-18 17:04:44 +00:00
mrg 97b5460add fail `make obj' if $BSDOBJDIR doesn't exist. fixes PR#12937. 2001-06-10 13:32:21 +00:00
mrg ef022c7570 redo the previous; allow SHLIB_LDSTARTFILE and SHLIB_LDENDFILE to be overridden. 2001-06-08 11:41:59 +00:00
mrg 6c81e0af9d set SHLIB_LDSTARTFILE and SHLIB_LDENDFILE based on ${LIBDIR} not hard coded
/usr/lib.
2001-06-07 15:28:55 +00:00
tv 08b1b0382d Fix typo. 2001-06-02 02:22:35 +00:00
tv ca502c58a6 Add MACHINE_GNU_PLATFORM to identify as "netbsdelf" for historically a.out
platforms.  While there, allow MACHINE_GNU_ARCH and MACHINE_CPU to be
inherited from the environment.
2001-06-02 01:53:29 +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
simonb e0a2f60020 Update a comment about OBJECT_FMT - some m68k machines are ELF too. 2001-05-31 05:04:41 +00:00
sommerfeld c93ef42f8b Mark "dependall" rule with .MAKE since it invokes a sub-make. 2001-05-14 03:20:10 +00:00
chs bef49778fd next68k is now ELF. 2001-05-12 22:38:04 +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
dmcmahill d425d2297d add support for building shared libs from fortran sources. Works correctly
with the default of 'f77' as the fortran compiler or using the 'f2c-f77'
script from pkgsrc (selected by overriding the FC variable)
2001-04-27 17:04:39 +00:00
simonb 0f020a8ccc Don't overwrite catman pages if there's no difference between the old
and the new pages.  As per discussion on tech-install (a little while
ago).
2001-03-21 04:04:15 +00:00
tsutsui b7e1b57d70 Switch news68k to ELF:
- Set OBJECT_FMT=ELF on news68k
2001-03-19 17:01:12 +00:00
cgd 2bfc706b3b "test !", rather than "! test". The former is more portable. 2001-03-11 07:32:31 +00:00
fair 8c43053c52 Add the following text to answer PR 10650:
LDSTATIC        Control program linking; if set blank, link everything
                dynamically. If set to "-static", link everything statically.
                If not set, programs link according to their makefile.
2001-03-10 11:00:37 +00:00
tron 148a50300a Back out last change as there is no measurable performance gain. 2001-03-05 14:17:06 +00:00
tron df07a57fe4 Invoke "groff" directly when building manual pages, "nroff" is just a
shell script wrapper. This saves at least one fork(2) and one exec(2)
while creating each manual page and should thus speed up builds.
2001-03-05 06:52:12 +00:00
msaitoh 636da14f06 NetBSD/sh3 ELF doesn't supports dynamic link yet. 2001-02-24 16:37:43 +00:00
chs 7408da7619 sun3 now uses ELF. 2001-02-22 07:12:55 +00:00
jmc 788f1c082f Wrap target() checks around afterdepend rule as some Makefiles override this 2001-02-19 07:56:14 +00:00
agc c05de915ca + clean up the English in one sentence
+ sync with reality, and document "MKMAN= no" in preference to "NOMAN= noman"
+ get in quick before the 80-column police notice what we were doing
+ spell "existence" correctly
2001-02-01 20:27:06 +00:00
itojun 6ecd41c538 add LOCALEDIR and related declarations. 2001-02-01 19:29:59 +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
itojun 9f845d90a1 note that MKNLS controls build of /usr/share/locale too 2001-01-24 07:57:07 +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
sommerfeld e538aac13b Don't send .WAIT into the bitbucket 2001-01-09 02:08:32 +00:00
itojun 561c43d3fa use MACHINE_CPU=arm on both arm26/32. 2001-01-08 13:28:08 +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
itojun 9833445e10 declare MACHINE_CPU. MACHINE_CPU will be generated from MACHINE_ARCH,
to identifiy CPU type in build tree (like mipse[lb] -> mips, sh3e[lb] -> sh3).

XXX what should we do about arm and sparc?
2001-01-08 07:28:07 +00:00
blymn 2ba6155111 Added libform. 2001-01-05 12:59:25 +00:00
itojun 083a373737 s/.INIT/.BEGIN/ for NetBSD make 2001-01-05 00:25:59 +00:00
garbled 9c926b4602 Add LIBCDK and LIBFORM definitions 2001-01-04 23:52:00 +00:00
itojun 180f4678a4 die if MACHINE_ARCH == sh3 2001-01-04 15:17:41 +00:00
itojun c5fb04a57e sh3 split (MACHINE_GNU_ARCH) 2001-01-04 10:29:11 +00:00
itojun 973149dcb3 sh3 split 2001-01-04 08:32:02 +00:00
simonb 15f972c29b Switch NetBSD/hp300's OBJECT_FMT to ELF 2001-01-02 04:34:37 +00:00
sommerfeld bdeb8ccecf Restore the intermediate subdir-${targ} targets since they're
referenced elsewhere; fixes problem of afterinstall running too soon.
2001-01-01 15:27:31 +00:00
sommerfeld 92b01a91b8 Correct typos (SUBDIR, not SUBDIRS).
Document use of .WAIT in SUBDIR
2000-12-30 14:34:51 +00:00
sommerfeld fd805ed302 Change ${PRINTOBJDIR} to a "safer" but more complex form which avoids
infinite recursion when directories reference each other or themselves
(most common when a FOOOBJDIR is defined in a common Makefile.inc).
2000-12-30 14:34:09 +00:00
sommerfeld 3459e6c590 Change SUBDIR expansions so that a .WAIT in a subdirs list turns into
.WAIT (rather than a ${targ}-.WAIT) in the ${targ}'s subdir dependancy list.

This allows .WAIT to be used in SUBDIR as a synchronization barrier
for recursive parallel builds.
2000-12-30 14:32:04 +00:00
itojun f9d029c7cc document host build tools (like rpcgen) in bsd.README. PR 11839 2000-12-30 04:11:34 +00:00
itojun 87f5fc92dd document MKLOCALE is not a variable to control build behavior. per PR 11839. 2000-12-29 03:18:32 +00:00
itojun 9ad9be84eb declare ${MKLOCALE}. PR11801. 2000-12-23 22:47:28 +00:00
scw 9b343e1abc NetBSD/mvme68k's OBJECT_FMT is now officially ELF. :-) 2000-12-07 08:35:15 +00:00
sommerfeld 304faf39ff define PRINTOBJDIR as a canned known-safe print-objdir invocation. 2000-12-06 03:21:33 +00:00
mycroft 60e1ee6e37 This is *purely* anal-retentive, but: remove extra spaces in the generated
commands in the previous.
2000-12-05 22:18:30 +00:00
mycroft 4a6da470ba When handling ELF library symlinks, rather than removing and recreating the
symlink, instead create a temporary one ending in `.tmp' and `mv -f' it.
This way there is no window where libc isn't loadable (and thus
`make -j 100 install' works for libc).
2000-12-05 22:12:37 +00:00
itojun caf7b11063 add ${LIBINTL} for use with DPADD. 2000-10-31 10:49:01 +00:00
thorpej 99de26f4ee Repair a dual-.if construct that certainly didn't work with
any version of make(1) on my systems...
2000-10-11 05:45:50 +00:00
is 2e08b549a5 Format string cleanup, by sommerfeld. 2000-10-10 20:41:20 +00:00
deberg ad0e0b565c fix typos, PR 11159 2000-10-07 20:26:36 +00:00
sommerfeld abff7e84fd If FORMAT_AUDIT is set, and WFORMAT is set and > 1, turn on
-Wnetbsd-format-audit for extra-stringent format checking.
WFORMAT belongs in individual makefiles and/or Makefile.inc files.
FORMAT_AUDIT should go in mk.conf if you're doing format-string auditing.
(set WFORMAT=1 in individual makefiles if a program is
not security critical and is doing bizarre things with
format strings which would be even uglier if rewritten)
FORMAT_AUDIT may go away in time (i.e., default to on)
2000-10-04 19:27:45 +00:00
itojun 5b88ba6121 remove obsoleted crypto-related variables. 2000-09-30 12:27:35 +00:00
itojun e5e807d114 always compile RSA into libcrypto.
MKCRYPTO disables the whole crypto tree, and in that case,
we will not have RSA (nor libcrypto) with us.
2000-09-30 12:21:51 +00:00
itojun 8d26d03189 repair openssl (libcrypto) for non-32bit architecture.
don't use unsigned long where 32bit unsigned variable is asked for.
use u_int32_t.  (not sure if uint32_t is better or not, but anyway,
u_int32_t <-> uint32_t should not raise binary compatibility issue)
PR10921.

TODO: have arch-dependent Makefiles where we supply -DFOO for optimization.
(do not change size of variable though)

XXX: we should actually nuke all other #ifdef in /usr/include/openssl/*.h,
however, that needs a lot of work and will make future openssl upgrade harder.

remove RC5 and IDEA by default.  build them separately as
libcrypto_{rc5,idea}.a.  put dummy function, which is "warning to stderr
and exit(1)".  NOCRYPTO_{RC5,IDEA} are obsoleted.
PR10883.
2000-09-30 00:23:28 +00:00
phil fe4560a9a3 Get the correct command line using groff instead of nroff. 2000-09-26 15:33:28 +00:00
phil ec49e039c2 Add rules to make and install html pages in /usr/share/man/html* 2000-09-22 05:37:57 +00:00
jlam 8edf0a98a0 Correct description of when "NOPIC" is set. 2000-09-10 19:10:50 +00:00
bjh21 b5279973df Switch arm26 to -O2. Most of my kernels are compiled with this anyway,
and gcc's code generation should be the same as for arm32, so I think this
is safe.
2000-08-22 17:38:49 +00:00
itojun 424b5f77fb MLINK optimization based on timestamp. 2000-08-13 06:56:25 +00:00
itojun 531e380d08 do not test $UPDATE nor file existence, on "MLINKS" installation.
the check will leave original manpage and linked manpage unsynchronized,
as we use hard link instead of symlinks.

this backs out 1.37 -> 1.38 change.
2000-08-13 06:36:29 +00:00
gmcgarry 68e607a368 Remove executable permission from src/lib/checkver. 2000-08-09 23:41:24 +00:00
msaitoh d5567fbc4d sh3 port is incomplete, so add NOLINT=1 and NOPROFILE=1
(and NOPIC=1 if OBJECT_FMT==COFF)
2000-08-02 20:04:45 +00:00
mycroft 320dc0b012 Build shared libraries on sparc64. 2000-07-26 02:21:21 +00:00
cgd 4bf5f7086b ${RPCGEN}, not hard-coded rpcgen 2000-07-25 06:29:44 +00:00
mrg 01875cae18 simplify previous. 2000-07-19 14:16:22 +00:00
eeh 04de183b83 Tell gas how to make PIC objects on sparc64. 2000-07-17 16:49:30 +00:00
christos 4c668e29d9 PR/10556: Veego: Shared library support was broken if shlib_version file
was not present.
2000-07-14 19:53:04 +00:00
cgd 4aa53dcd31 test -h, not test -L. 2000-07-07 04:35:35 +00:00
matt 3b3ee7da25 Add NetBSD/vax ELF hook. 2000-07-06 16:48:48 +00:00
christos 921df2e6f1 add support for teeny dewey numbers; cleanup duplicated variables. 2000-07-03 21:08:55 +00:00
bjh21 f42e9888c5 Add GNU_ARCH.arm26 2000-06-27 21:12:42 +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 cdc96f602d Garbage-collect old KERBEROS* switches. 2000-06-23 06:14:33 +00:00
thorpej acc9b0f304 Remove the bsd.crypto.mk section, and describe the new MK... switches
related to system crypto support.
2000-06-23 06:11:05 +00:00
thorpej df83a2a3cd Add MK... variables to enable/disable various aspects of building
crypto support into the system.  See share/mk/bsd.README for more
a full description.
2000-06-23 06:01:10 +00:00
thorpej e7d6b96938 Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so.  Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
2000-06-20 06:00:24 +00:00
thorpej 78d67d6053 Add print-shlib-major and print-shlib-minor targets. 2000-06-19 19:35:05 +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 27bcc551c6 Do `install-info --remove' after installing the info file. 2000-06-10 04:56:59 +00:00
mycroft 2eaf9707e2 Rearrange slightly to get rid of unneeded conditionals (and make this
*slightly* less painful to trace through, though not much).
2000-06-08 03:51:56 +00:00
mycroft dfad196789 Rework to not use the `files' crap. It requires far too much klugery to
actually get the semantics right.  As a bonus, the info directory is not
reordered when using UPDATE any more, if files are not actually reinstalled.
2000-06-08 03:30:58 +00:00
mycroft 78e7ae14b9 The previous commit was *definitely* wrong. It indicates an out of date
make(1).
2000-06-08 03:05:17 +00:00
matt 84ad7d0a8d More lossage. You need to make the directory each catalog will go into. 2000-06-07 17:28:52 +00:00
matt ce4415cde0 Don't know if this is a side effect of the recent makes changes but
set FILESDIR_${F} for info files.
2000-06-07 16:29:11 +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 9994843c59 Fix some breakage with directory that have no subdirectories. 2000-06-06 08:54:06 +00:00
mycroft 602ebf1e8d Oops; fix a subtle bit of semantics that was broken in the previous. 2000-06-06 06:49:39 +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
mycroft 58b1f972c2 Oops. DTRT with directory names with dashes (e.g. for crypto-*). 2000-06-06 05:39:26 +00:00
mycroft d1460458fc A few changes to decrease parsing time and memory usage. 2000-06-06 05:33:58 +00:00
thorpej 84543d59da Make the fact that we disable -Wuninitialized explcicit in the Makefile,
rather than relying on a compiler hack to do it for us.
2000-05-09 00:15:55 +00:00
sjg 3540a44721 correct description of KERNSRCDIR and others 2000-05-07 01:20:47 +00:00
sjg d14a51faf9 Document bsd.kernobj.mk 2000-05-07 01:19:58 +00:00
sjg 940f61650e if make(obj) then use MAKEOBJDIRPREFIX regardless 2000-05-06 07:41:59 +00:00
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
sjg 45fb67b360 remove/change missleading comments 2000-05-03 00:10:33 +00:00
simonb b155979066 Add HTMLDOCDIR pointing to /usr/share/doc/html. 2000-05-02 11:44:20 +00:00
sjg 44f0af2b1f Allow optimizer/debug flags to be changed on command line without
breaking everything.  Eg. use DBG="-O0 -g" when debugging something.
2000-05-02 03:44:36 +00:00
sjg a434bb7045 Added bsd.kernobj.mk to centralize the magic for the location
of kernel configs and compiles.  Relies on BSDSRCDIR being set
which is now handled by src/Makefile.inc if need be.
2000-05-02 03:43:15 +00:00
dmcmahill 7d8f383dc6 Change -fpic to -fPIC. Change was approved by mycroft. 2000-04-29 17:41:11 +00:00
tron 8427714121 Add "dependall" target. 2000-04-28 10:47:34 +00:00
simonb 1177aeba7c White space bogons (double spaces, spaces instead of tabs). 2000-04-24 14:22:05 +00:00
simonb db352c9bba Change SYMLINKS so that the link isn't recreated if it already points
to the right place (much the same as bsd.obj.mk already does).
2000-04-23 07:58:17 +00:00
mrg 72cbcc0079 fix an error in the previous 2000-04-16 08:37:27 +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
mrg 1ae7478b2a fix long standing bug in `make build' with $DESTDIR:
- during `make build' after /usr/share/mk has been installed, call
  make with `-m $DESTDIR/usr/share/mk'.
2000-04-10 14:47:22 +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
aidan 64f6f24aa6 Allow absolute directories in SUBDIR. There's probably a better fix that
can go in 'make'.
2000-03-11 14:51:40 +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
mycroft dc75306e58 Make sure the `rm' and `ln' for a link are in the same shell command.
(The reason for this is obscure...)
2000-02-26 19:02:40 +00:00
wiz 9b73fe4714 removed 'UVM?= YES' 2000-02-20 06:50:54 +00:00
erh a2802fd5fa Add NOPATH to prevent files in the serach path from interfering with what we're building. 2000-02-19 23:57:12 +00:00
erh 0d07e9caed Add NOPATH to keep *.cat files in the search path from interfering with the build. 2000-02-19 23:02:17 +00:00
erh ad351344c0 Add NOPATH to prevent .cat* files in the search path from interfering. 2000-02-19 22:54:08 +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
tsutsui 7c3ebc156a pica no longer exists, and arc has already switched to UVM.
XXX We still need "UVM?= yes" ?
2000-02-19 02:10:31 +00:00
itohy 62efa4eac6 s/MAKOBJDIR/MAKEOBJDIR/
Pointed out by Katsuomi Hamajima.
2000-02-18 06:09:11 +00:00
drochner 72db33dc5a fix link creation:
-put "echo"s for the daughter Makefile into a subshell to get them all
 into the Makefile (instead of stdout - should fix PR misc/9336 by
 Bernd Ernesti)
-change operator for "realall" back to ":" - rules are supposed to
 accumulate, and "::" clashes with the definition in <bsd.own.mk>
-call sub-make with the "all" target to make sure we don't get just
 the first rule
2000-02-10 18:18:01 +00:00
sjg 5c4b588d66 Fixed handling of MAKEOBJDIR so that it matches make(1)'s expectations.
Added handling of MAKEOBJDIRPREFIX.
In both cases we simply need to mkdir the appropriate path if it does not
exists.
2000-02-08 12:38:16 +00:00
jdc 2133a0f528 Add libahdi entries. 2000-02-05 20:54:12 +00:00