Commit Graph

69 Commits

Author SHA1 Message Date
Bruce Evans
5441eeaedf Fudge local variables better in the yacc rules so that multiple yacc
sources are handled properly.
1998-05-04 17:43:46 +00:00
Bruce Evans
42b2082ac7 Generate explicit rules and other infrastructure for lex and yacc
sources.  This will be used to fix `make -jN' races in many
Makefiles in /usr/src, and to simplify these and other Makefiles.

To get the fixes and simplifications, application Makefiles should
put the raw lex and yacc source names (foo.l and bar.y) in SRCS and
not put the names of any generated files in SRCS or CLEANFILES.  A
few Makefiles already do this, although it didn't actually work before
(mkdep couldn't create complete dependencies because there is no
intermediate .c file for the .y.o and .l.o implicit rules).

Complications: if bar.y is in SRCS and -d is in YFLAGS, then bar.h
will be generated whether or not it is used, even if this clobbers a
real source file.  This is so that bar.c can be generated using the
-j-safe and debugger-friendly -o option to YACC.  There are smaller
warts for handling y.tab.h.  y.tab.c and lex.yy.c are not supported.
1998-05-04 13:54:41 +00:00
Eivind Eklund
1ed9b1c368 Support new version of global.
Submitted by:	Shigio Yamaguchi <shigio@wafu.netgate.net>
Tested by:	make buildworld
1998-03-23 14:58:30 +00:00
Eivind Eklund
69b87d3e06 Introduce the 'regress' target.
Silently approved by:	-hackers, -current
1998-03-12 20:02:17 +00:00
Bruce Evans
589d9341f4 Removed support for now-unused FreeBSD misfeature DPSRCS. 1998-03-06 07:28:01 +00:00
Bruce Evans
987afe2a2f Fixed dependency of ${PROG} on ${DPSRCS}. There were various races
for `make -j'.  There are one-off fixes for the problem in a few
Makefiles, e.g., amd/amq/Makefile.
1998-03-06 06:48:39 +00:00
Bruce Evans
89d11b8a94 Removed clean target. Simply add to CLEANFILES so that the default target
in bsd.obj.mk works.
1998-02-25 02:56:58 +00:00
Eivind Eklund
f5c7505126 Limit check for target to smaller section of makefile. 1998-02-19 14:53:29 +00:00
Eivind Eklund
6fe6af9f74 Don't create a ${PROG} target if it already exists. 1998-02-19 01:30:23 +00:00
Wolfgang Helbig
aa3be41e39 Postpone the test for non-emptiness of $PROG, $OBJS and $CLEANFILES
to ``shell time''. The previous version didn't work in
/usr/src7share/man/man4.
Reviewed by:	bde
1998-02-07 17:19:06 +00:00
Bruce Evans
c6d8090e2c Oops, the previous patch was botched. 1997-12-18 12:56:52 +00:00
Bruce Evans
f0adc726c5 Oops, rm -f can't handle empty lists. 1997-12-17 15:35:09 +00:00
Bruce Evans
4e9229ba67 Don't clean files that we don't create.
Fixed style of empty test.

Include <bsd.libnames.mk> if `checkdpadd' is being made, so that it can
:e checked until it goes away.
1997-12-17 13:40:00 +00:00
Peter Wemm
3ec75cc6df Change the BINFORMAT definitions so that they do not depend on sys.mk,
since 2.1.x make(1) apparently does not have the -m switch to set both
the the bsd.*.mk and sys.mk location, and this breaks 'make world' from a
2.1.x system.
1997-09-05 09:09:56 +00:00
Peter Wemm
8c05a446bf A first cut at some rules for building elf shared libs. Of particular
note, using "-Wl,-f" to generate a library objects list doesn't work
anymore since the hack to ld hasn't been incorporated into binutils-2.8.
(and the -f switch is used for something else already)

This is disabled by default, don't panic! :-)
1997-08-30 23:23:18 +00:00
Satoshi Asami
2799473b0c Merge buildworld/installworld patch to Makefile from RELENG_2_2. Patch
a couple *.mk files to enable -current world building on really old
machines (e.g., 2.1.5).

Reviewed by:	too many many people to list here, special thanks to bde
1997-08-05 03:49:49 +00:00
Satoshi Asami
e89ac5b08b Do not set the application variable LDDESTDIR. Note that it is still honored
in a few places (in bsd.lib.mk and bsd.prog.mk); this merely fixed part of
the brokenness by not setting it here.

This fixes building of secure telnetd when DESTDIR is defined.
(Otherwise, it will try to link libtelnet from ${DESTDIR}/usr/lib.)

Reviewed by:	bde, jkh
1997-07-31 06:12:04 +00:00
Paul Traina
3d8cd70cec Make NOSHARED = no / NOSHARED = NO do what you'd expect. 1997-06-28 08:14:10 +00:00
Jordan K. Hubbard
398ac038db Change the distribute targets so that a given item in our source tree
can place itself into n distributions, where n >= 1.
1997-06-21 15:40:34 +00:00
Satoshi Asami
15db27b831 Change CXXINCLUDES to use "g++" explicitly. CXXINCLUDES was defined
with ${CXX} at the end; the only problem was, the directory name is
"g++" and ${CXX} is defined as "c++" in sys.mk.
1997-05-23 08:38:46 +00:00
Bruce Evans
1c735bb4a5 Pass everything in ${LDADD} directly to the linker for `make depend'
to prevent complaints from the compiler about nonexistent libraries.
1997-04-23 18:47:42 +00:00
Bruce Evans
25070303ca Removed unused (and almost unusable) support for LDONLY. See ld/rtld
for how to use gcc to invoke the linker only.

Removed `.if 0'ed support for not creating intermediate object files.

Removed unused include of bsd.libnames.mk (LDONLY had the last reference
to it).

Removed stale misplaced comment about MANDEPEND.
1997-04-19 14:36:49 +00:00
Jordan K. Hubbard
6eb5e456f1 Support GLOBAL style tags. 1997-04-13 06:44:25 +00:00
Bruce Evans
663e9677d5 Use ld -f' (actually cc -Wl,-f') at `make depend' time to generate
almost perfect dependencies on crt0's and libraries.  DPADD and
bsd.libnames.mk should go away soon.  Use a new _EXTRADEPEND target
to implement this and to avoid editing of .depend when .depend isn;t
being rebuilt.  The afterdepend target doesn't seem to be good for
anything and is now unused.

Fixed LDDESTDIR for the DESTDIR case when ${SHLIBDIR} != /usr/lib.

Added commented-out -nostdlib to LDDESTDIR for the DESTDIR case.
The wrong libraries may be used without this; however it breaks
linkage to crt0 and libc.
1997-04-09 16:10:27 +00:00
Bruce Evans
870d983770 Don't use dot in a chown command. The chown command has been a no-op
for years since it is for a symlink.
1997-03-08 19:47:08 +00:00
Peter Wemm
b97fa2ef50 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
Bruce Evans
b96ab0b039 Removed bogus NOOBJ ifdef which was added in rev.1.18-1.19. SRCS is
for C sources only and must not be set if you don't want C objects.

This should fix PR2748.

This should go in 2.2.
1997-02-17 07:52:37 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Bruce Evans
1a5ed802d2 Fixed dependencies on libraries which I broke in rev.1.39 of
bsd.prog.mk and didn't actually fix in rev.1.43 of bsd.lib.mk.
The library names must be defined before they are used in
dependencies.
1996-09-28 06:01:01 +00:00
Steven Wallace
b3618bcf57 .TARGETOBJDIR has been removed from make and CANONICALOBJDIR set in
bsd.obj.mk.  Also, a make target called objwarn checks to see
if ${.OBJDIR} != ${.CURDIR} and ${.OBJDIR} != ${CANONICALOBJDIR}
and outputs a warning.  (No warning for the latter if MAKEOBJDIR or MAKEOBJDIRP
REFIX is set).  objwarn is called from all targets in bsd.prog.mk, bsd.kmod.mk,
and bsd.lib.mk.

Reviewed by:	bde
1996-09-18 06:09:19 +00:00
Bruce Evans
9b66eea42e Moved definitions of library names from bsd.prog.mk to a new central
file bsd.libnames.mk and include this file where necessary.  This fixes
null library names in ${DPADD}'s in library makefiles.
1996-09-05 18:05:08 +00:00
Jordan K. Hubbard
5c8baf29e9 Back out the recent DEPEND changes - as Bruce points out, it's bogus.
I'll leave any future Makefile hackery to him since he's clearly thought
about this a great deal more than I have.
1996-08-25 05:16:56 +00:00
Jordan K. Hubbard
67cebbd1da Make it possible to turn the depend pass off entirely with a NO_DEPEND
variable.
Requested-By: wollman
1996-08-23 22:33:33 +00:00
Jordan K. Hubbard
8d26610d5f Add depend to all target so that it's explicit. It's only done once,
even if make all is run multiple times, since the depend rule looks for
an existing .depend file.
1996-08-23 16:49:06 +00:00
Poul-Henning Kamp
209396df73 Make cleandirs more safe
Suggested by:	bde
1996-06-29 03:12:49 +00:00
Jordan K. Hubbard
cd9a2f5c28 Bring in my changes for removing the pestilent obj links (unless you
really want them) from /usr/src.  This is the final version of the
patches, incorporating the feedback I've received from -current.
1996-06-24 04:26:21 +00:00
Poul-Henning Kamp
e767093fa3 Add man-page section 'n' and LIBTCL macro. 1996-06-22 06:01:57 +00:00
Poul-Henning Kamp
2b9cd23802 Add support for ${CLEANDIRS} that will be rm -rf'ed during clean & cleandir. 1996-06-17 15:59:52 +00:00
Jordan K. Hubbard
abf58409aa Add LIBFTPIO 1996-06-17 12:31:02 +00:00
Wolfram Schneider
110dbd1072 remove BINGRP?= BINOWN?= BINMODE?= 1996-03-24 00:41:11 +00:00
Bruce Evans
580ccec473 sysinstall/Makefile:
Fixed DPADD again.

mk/bsd.README
Don't list the LIBXXX identifiers here.  Describe them better.

mk/bsd.prog.mk
Updated the list of LIBXXX identifiers.
- recently added library libdisk.a wasn't mentioned (required for sysinstall)
- old objects kz*.o weren't mentioned
- old libraries libc_pic.a, libcom_err.a, libf2c.a, libg++.a, libgcc_pic.a,
  libgmp.a, libipx.a, libkeycap.a, libss.a and libxpg4.a weren't mentioned
- old libraries libgnumalloc.a and libftp.a no longer exist
- old library libmp.a was said to not exist
- deprecated links libfl.a and libln.a weren't mentioned
1996-03-19 14:30:15 +00:00
Wolfram Schneider
5c2da7893a [Ee]rrs -> Errs errs, save one process for make clean 1996-03-09 23:48:55 +00:00
Garrett Wollman
973f098aab Compress manual pages (if desired) in the obj directory rather
than in the installation destination.  Should make release-building
substantially faster.  The msun Makefile changes simple adapt to the new
scheme.
1995-10-02 20:02:05 +00:00
Bruce Evans
fd2e43ead6 Submitted by: charnier@lirmm.fr (Philippe Charnier)
Fix comment on .else to match code.
1995-05-07 06:39:30 +00:00
Jordan K. Hubbard
6dbad786ae Add LIBFTP. 1995-04-26 14:34:19 +00:00
Andras Olah
1dcbf7af64 LIBPCAP -> ${DESTDIR}/usr/lib/libpcap.a 1995-03-08 09:01:32 +00:00
Poul-Henning Kamp
ffd87c071d "make distribute" have changed, beware if you use it. 1995-02-25 20:51:14 +00:00
Bruce Evans
cdaec7b1a1 More complete implementation of SUBDIR for programs, libraries and kmods.
`depend' wasn't supported.  This seems to have only broken `make depend'
in gnu/usr.bin/ld.

bsd.prog.mk:
Build the man pages in ${MANDEPEND} at build time.
1995-02-08 21:35:31 +00:00
Jordan K. Hubbard
45f7d107ac Add new LN_FLAGS variable for making LINKS symbolic and whatnot. 1995-01-30 07:20:01 +00:00
Andrey A. Chernov
316cd0cfdd LIBFORMS & LIBSCSI added 1995-01-25 20:24:01 +00:00