Commit Graph

976 Commits

Author SHA1 Message Date
Ruslan Ermilov
81c0610313 Allow one to override ${MINSTALL} in /etc/make.conf.
Prompted by:	Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
2002-08-20 11:11:37 +00:00
Ruslan Ermilov
32f8ca450d TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to
TARGET_ARCH and TARGET.  This is problematic when one has the =
(unconditional) type of assigment for CPUTYPE in /etc/make.conf.
(This would override what was set on the command line to "make
buildworld".)

Add a (horrible) kludge to Makefile.inc1 to check the type of
assignment for CPUTYPE (only for those who attempts to set it to
a different value).  Fix an example make.conf.  Fix the kernel's
build-tools target (aicasm only at the moment) to catch up with
bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in
Makefile.inc1's BMAKE).

Reviewed by:	jhb
2002-08-02 18:04:22 +00:00
Robert Watson
4fd65a06f9 Add a libnames entry for libugidfw.
Add a DPADD line for ${LIBUGIDFW} for ugidfw.

Submitted by:	ru
2002-08-02 13:37:57 +00:00
John Baldwin
22e256fded - Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that
bsd.cpu.mk doesn't have to worry about compilers other than the current
  version.
- Allow TARGET_CPUTYPE to override CPUTYPE in bsd.cpu.mk.
- Treat an empty CPUTYPE the same as an undefined CPUTYPE.
- For buildworld, buildkernel, etc., define TARGET_CPUTYPE to CPUTYPE for
  native builds and define it to be empty for cross-builds.
  TARGET_CPUTYPE is only defined if it is not already defined via the
  commandline or environment.
2002-07-31 03:56:03 +00:00
Ruslan Ermilov
d2893b161b Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
2002-07-29 09:40:17 +00:00
John Baldwin
9bd85872d1 - Fixup whitespace after previous commit.
- To minimize whitespace changes, remove a test that didn't define
  _CPUCFLAGS if both NO_CPU_CFLAGS and NO_CPU_COPTFLAGS were defined
  since it is redundant (we don't use _CPUCFLAGS if those are defined).
2002-07-27 22:15:42 +00:00
John Baldwin
8605c6b2ad If there is not a CPUTYPE defined by default, then allow for _CPUCFLAGS
to tune for more advanced processors while still supporting the minimum
processor in an architecture.  We can do this with the '-mtune=' option
to gcc for alpha, sparc64, and powerpc and with the mis-named '-mcpu='
option for i386.

This defaults to tuning i386 builds for i686 machines though not using
any instructions that aren't found on an 80386.  For alpha it defaults
to tuning for an EV5.

Approved by:	peter
Peril sensitive sunglasses borrowed from:	peter
2002-07-27 22:04:05 +00:00
Ruslan Ermilov
397304fe4f Moved `clean:' below, just before the inclusion of bsd.obj.mk,
so that CLEANFILES from bsd.man.mk and bsd.dep.mk are honored.
2002-07-21 21:22:45 +00:00
Ruslan Ermilov
5113446a35 Only define SHLIB_LINK if SHLIB_NAME matches the *.so.* pattern.
(Useful for RELENG_4's lib/libpam/modules.)
2002-07-19 18:40:13 +00:00
Ruslan Ermilov
42c0ad02c2 Correction to the previous revision: define SHLIB_LINK if SHLIB_NAME
is defined (whether or not LIB is defined).
2002-07-18 17:44:20 +00:00
Ruslan Ermilov
8cda97bd32 Sort FILES. 2002-07-17 16:35:00 +00:00
Ruslan Ermilov
8f463ff4c5 Moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk,
to make it call `install' in the bsd.subdir.mk-driven makefiles
too.  (share/examples/Makefile,v 1.29 changed the bsd.prog.mk
to bsd.subdir.mk and many stuff was lost during "make release".
I then merged this change in rev. 1.28.2.2 to work around the
namespace pollution (FILES) in this makefile.)

There was an added complexity here.  Both the `distribute' and
`install' targets are recursive (they propagate to SUBDIRs).
So `distribute' first calls `install' in the ${.CURDIR}, then
calls `distribute' in each SUBDIR, etc.  The problem is that
`install' (being also recursive) causes the stuff from SUBDIR
to be installed twice, first time thru `install' in ${.CURDIR}
triggered by `distribute', second time by `distribute' run in
the SUBDIR.  This problem is not new, but it became apparent
only after I moved the `distribute' target from bsd.obj.mk to
bsd.subdir.mk.  My first attempt testing the fix failed due to
this, because the whole world was distributed twice, causing
all the imaginable mess (kerberos5 stuff was installed into both
"base" and "krb5" dists, there was /sbin/init.bak, etc.)
I say the problem is not new because bsd.prog.mk and bsd.lib.mk
makefiles with SUBDIR (even without this fix) had this problem
for years.  Try e.g. running ``make distribute DISTDIR=/foo''
from usr.bin/bzip2 or from lib/libcom_err (without the fix) and
watch the output.

So the solution was to make `install' behave non-recursive when
executed by `distribute'.  My first attempt in passing SUBDIR=
to the `install' in the `distribute' body failed because of the
way how src/Makefile and src/Makefile.inc1 communicate with each
other.  SUBDIR='s assignment precedence on the "make install
SUBDIR=" command line is lowered after src/Makefile wrapper calls
"make ... -f ${.CURDIR}/Makefile.inc1 install" because SUBDIR=
is moved into environment, and Makefile.inc1's assignments now
take higher precedence.  This may be fixed someday when we merge
Makefile with Makefile.inc1.  For now, this is implemented as a
NO_SUBDIR knob.

Spotted by:	Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
Prodded by:	des
MFC after:	3 days
2002-07-12 15:09:35 +00:00
David E. O'Brien
bf4ca1009b Be more strict with WARNS now -- the GCC 3.1 turmoil is behind us. 2002-07-07 18:47:52 +00:00
Ruslan Ermilov
e8d5345d28 Part 1/2 of kerberos5/doc/ "make release" breakage fix:
Finish the fix of rev. 1.28 changes in rev. 1.47 (removed
gross dir file bootstrap rule again).
2002-07-06 14:58:20 +00:00
Ruslan Ermilov
4d7d5e7c11 Make it possible (again) to build and install shared library only.
One needs to define SHLIB_NAME for this to work.

Prodded by:	mi
2002-07-03 16:22:43 +00:00
Ruslan Ermilov
6e02167b57 Moved checkdpadd target to where it logically belongs. 2002-07-03 12:44:06 +00:00
Ruslan Ermilov
badb7c1c6b Try really hard to fix parallel installs. Add a bunch of .ORDER
directives to ensure that all realinstall sub-tasks are executed
after beforeinstall, similarly ensure that all afterinstall sub-
tasks are executed after realinstall.  Demonstration:

all: task1 task2
.ORDER: task1 task2

task2: task2_subtask
.ORDER: task1 task2_subtask

task1 task2 task2_subtask:
	@sleep `jot -r 1 0 1.0`
	@echo ${.TARGET}

Without the second .ORDER directive, task2_subtask can be run in
parallel with task1.

Spotted by:	Andrea Campi <andrea@webcom.it>
2002-07-03 12:28:03 +00:00
Ruslan Ermilov
8479adc1d3 Reimplemented bsd.nls.mk using bsd.files.mk and bsd.links.mk.
Provided the (previously missing) dependency on source files
for intermediate .msg files.

Provided the default for NLSSRCDIR (defaults to .CURDIR).

Slightly changed the API: NLS should now list plain locale
names, without the .msg suffix.

When included from bsd.prog.mk, NLSNAME defaults to PROG.
2002-07-02 12:37:09 +00:00
Ruslan Ermilov
84f94a79a0 Handle installation of hard and symbolic links via a seperate .mk file. 2002-07-02 12:16:54 +00:00
Ruslan Ermilov
b4840de98d bsd.subdir.mk already has these dependencies coded. 2002-07-01 14:51:42 +00:00
Ruslan Ermilov
1220a0241f Get rid of the bogus dependencies between beforeinstall, realinstall,
and afterinstall targets.  Make sure they are run in sequence in the
-j case.

This fixes the recent breakage with beforeinstall being run _after_
realinstall.

Reported by:	knu
2002-07-01 14:49:16 +00:00
Ruslan Ermilov
93329c3c6e Fixed typos. 2002-07-01 07:25:02 +00:00
Juli Mallett
dd247f7371 If CLEANFILES is nil or not defined, do not try to remove it. This happens
when SRCS is entirely files which produce only one compiled form, and when
NOMAN is defined.  This does not seem to happen in STABLE.

Approved by:	ru
2002-06-26 08:41:00 +00:00
Ruslan Ermilov
c1c9929e9f Quiet ``make objlink'' when NOOBJ is defined.
PR:		bin/21142
Submitted by:	Craig Leres <leres@ee.lbl.gov>
2002-06-21 07:30:51 +00:00
Maxim Sobolev
6e542f8c06 In gcc 3.1 Pentium/MMX now has its own -march=XXX option. 2002-06-13 08:35:36 +00:00
Ruslan Ermilov
af2dc86820 Reimplement FILES support using bsd.files.mk with the
same set of features as in recently added bsd.incs.mk
(FILESGROUPS, accessibility from both bsd.prog.mk and
bsd.lib.mk, de-pessimized typical installation path,
etc.)  New standard targets: buildfiles, installfiles,
and files (buildfiles + installfiles).
2002-06-03 14:49:34 +00:00
Ruslan Ermilov
ce17d4f3d3 Bootstrapping aid for those with Athlon upgrading from gcc 2.95.x.
Prodded by:	gordon
2002-05-31 12:50:24 +00:00
Peter Wemm
e09d00a880 For now, make the .ifdef GCC3 case default. We should change -Wno-format
back to -fformat-extensions (or whatever) when we have the functionality.
We are gaining warnings again that should be fixed but the are being hidden
by NO_WERROR and all the -Wformat noise.
2002-05-24 01:02:45 +00:00
Ruslan Ermilov
79273cd77c Revision 1.39 made filtering of CFLAGS unnecessary. 2002-05-22 11:03:35 +00:00
David E. O'Brien
be5181d5b1 Tweak the WARNS levels a tad. 2002-05-19 18:24:00 +00:00
David E. O'Brien
22e5252fed Default Alpha compiles to ev5.
EV5 binaries will run on EV4[5], but the timing assumptions do pessimize
running on EV4[5].

Tested by:	ticso
2002-05-15 18:16:43 +00:00
Ruslan Ermilov
5d86203733 Rename includes' to buildincludes'.
Rename `incsinstall' to `installincludes'.
Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'.
`buildincludes' and `installincludes' are SUBDIR friendly, if run directly.
2002-05-15 16:19:54 +00:00
Ruslan Ermilov
12e0852a7a CLEANFILES are too long for libc. 2002-05-13 15:23:56 +00:00
Ruslan Ermilov
8f08b6b2ee Ensure manpages are built with the all-man in the
NOMANCOMPRESS && !MANFILTER && !MANBUILDCAT case.

PR:		bin/37360
Prodded by:	cjc
2002-05-13 13:04:46 +00:00
Ruslan Ermilov
2a53f3fb35 Major cleanup of bsd.lib.mk.
Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now means to build static library only and don't install
anything.  Added a NOINSTALLLIB knob for libpam/modules.  To not
build any library at all, just do not set LIB.
2002-05-13 10:53:24 +00:00
Ruslan Ermilov
c7b111cba8 Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
2002-05-12 16:01:00 +00:00
David E. O'Brien
5aa237561f Back out rev 1.118. 2002-05-12 13:48:53 +00:00
David E. O'Brien
ab4448f3e4 Add pointers to GCC's allowable values for -march, and restore structure
of rev 1.7 until someone can sit down and think thru all the GCC 3.1
related changes.
2002-05-11 20:18:54 +00:00
David E. O'Brien
2c0b3c611a With GCC 3.1, we can now treat AMD Athlon and an Athlon.
Submitted by:	Steven G. Kargl <kargl@troutmask.apl.washington.edu>
2002-05-11 20:05:17 +00:00
David E. O'Brien
e20b0b7333 [Ab]use LDFLAGS rather than CFLAGS.
BDE tells me POSIX pretends `ld' as a directly callable entity does not exist.
2002-05-10 09:32:39 +00:00
David E. O'Brien
b0b7c2164c Gcc 3.1 has different -Wx flags. 2002-05-10 01:58:16 +00:00
David E. O'Brien
a25fa515ee Add the beginnings of Sparc64 support. 2002-05-10 01:31:40 +00:00
David E. O'Brien
bea805383e Pass CFLAGS to {CC} when using it as an `ld' replacement. 2002-05-10 01:30:34 +00:00
David E. O'Brien
d23aa1ef0f Pay attention to LDFLAGS when linking. 2002-05-09 16:43:07 +00:00
David E. O'Brien
8500d819cc Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now implies NOPROFILE, NOMAN, and don't install anything.
Add a NOLIB knob.
2002-05-09 00:44:13 +00:00
Ruslan Ermilov
afeaaa846c Added internal, non-recursive (SUBDIR) versions of the `all-man'
and `maninstall' targets.  This fixes the issue where each subdir
was descended into twice during "make all", and also resurrects
the standardization of `maninstall'.

Urged by:	bde
2002-05-07 15:42:56 +00:00
Ruslan Ermilov
8782938772 Install PROG before SCRIPTS and FILES, but make sure
LINKS are still processed last.  This backs out part
of the backout in previous revision.

Install the manpages before descending into SUBDIRs.
2002-05-07 15:30:49 +00:00
Ruslan Ermilov
b90dab70f1 Install the manpages before descending into SUBDIRs. 2002-05-07 15:27:56 +00:00
Bruce Evans
732757a74c Fixed missing quotes in the default for MKDEPCMD in the CC != cc case.
"CC='cc -Dfoo' make depend" was very broken.
2002-05-07 00:15:53 +00:00
David E. O'Brien
856f29cf94 Use -ffreestanding for kernel bits unconditionally. 2002-05-04 20:07:33 +00:00