Commit Graph

622 Commits

Author SHA1 Message Date
Peter Hawkins d04c1186ec PR: misc/6031
Patch applied as per PR - enables preferential fetch from local mirrors
1998-05-19 13:14:11 +00:00
Peter Hawkins 802d2d4af0 PR: misc/6031
Patch applied as per PR - enables preferential fetch from local mirrors
1998-05-19 13:02:04 +00:00
Wolfram Schneider e6daac8be7 Add rules to generate PDF files. 1998-05-18 16:57:10 +00:00
Bruce Evans 5d9599c863 Oops, forgot references in previous commit.
Submitted by:	Brian Cully <shmit@erols.com>
PR:		6178
1998-05-15 09:34:48 +00:00
Bruce Evans 70a6e3314e Support Objective C almost as well as C++.
Notes:
- We no longer use -fgnu-runtime in bsd.lib.mk, since it is the default
  and bsd.lib.mk is the wrong place to override it.
- Gnu C doesn't have a special compiler driver for Objective C like it
  does for C++.  The defaults are suitable for Gnu C.  Use `OBJCLIBS='
  in /etc/make.conf for POC.
1998-05-15 09:30:13 +00:00
Bruce Evans 2ec8b6deea Oops, the lex and yacc sources must be added to SRCS before ${SRCS}
is used in the dependency list for ${DEPENDFILE}.  `make depend' was
broken for a few days.  `make world' only uses `make depend' when
NOCLEAN is defined, so only a few people noticed the bug.

Submitted by:	mostly by jmg
1998-05-11 15:37:13 +00:00
Bruce Evans 29901fcc76 Moved lex and yacc source handling from bsd.prog.mk to bsd.dep.mk
so that it applies to libraries (and lkms) as well as programs.
1998-05-08 06:31:05 +00:00
Bruce Evans 5a9eee48b6 Only include bsd.dep.mk in `mk'files that handle C sources. Abuse
bsd.obj.mk instead of bsd.dep.mk for defining the _SUBDIR target
and a default tags target.  Abuse bsd.obj.mk for defining default
cleandepend and depend targets.
1998-05-06 18:44:04 +00:00
Wolfram Schneider 400f992e53 Delete stale comment.
Pointed out by: bde
1998-05-06 16:53:53 +00:00
Bruce Evans cf1b9c0a35 Regress to generating foo.c from foo.y via y.tab.c for crufty applications
that want a y.tab.h file.  This want must be specified by putting y.tab.h
in SRCS (and defaulting to or putting -d in YFLAGS).  This only works if
there is only one yacc parser, of course.  One improvement:  copy y.tab.c
to foo.c instead of renaming it, so that `#line...y.tab.c' statements in
it refer to an existing file.

Regress to not generating explicit rules for .l and .y sources containing
slashes.  This case is unusual and hard to handle properly.

Don't generate an unused dependency when -d is not in YFLAGS.
1998-05-06 15:01:18 +00:00
Bruce Evans 91023e7c67 Oops, the symlink from y.tab.h doesn't work until its target exists. 1998-05-05 03:59:27 +00:00
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
Steve Price 05effdc4fc Change a couple 'make' to '${MAKE}'.
PR:		6341
Submitted by:	Niall Smart <rotel@indigo.ie>
1998-05-04 04:01:26 +00:00
Bruce Evans 89f9e39f19 Added -ansi to CWARNFLAGS so that ANSI errors don't come back. 1998-05-01 18:13:37 +00:00
Jordan K. Hubbard 94e9e9fdc2 Add -pipe to default CFLAGS. The optimization it provides is cheap
and does not require any special action on the part of the user to
take advantage of it.  And no, it probably won't work with c89. Cry me
a river!
1998-05-01 11:36:59 +00:00
Bruce Evans 55137cdb87 Don't include ../Makefile.inc here. bsd.man.mk is always included
in another .mk file which has already included ../Makefile.inc, so
including ../Makefike.inc again mainly messed up `+=' definitions.
1998-04-27 15:08:07 +00:00
Eivind Eklund 55d7643ed8 Support for fine-grained external control of subdir building. 1998-03-29 01:10:09 +00:00
Eivind Eklund f342a1c4b4 Remove special handling of 'tags' for complex subdir systems
(presently only used in tip; should have been used by e.g. pkg_add).

Submitted by:	bde
1998-03-26 16:02:44 +00:00
Satoshi Asami f0bb46b1b3 Don't delete "Latest" link if NO_LATEST_LINK is set. 1998-03-24 03:34:51 +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
Bruce Evans 8d17ea527b Use gzip's -n flag so that simple regression tests of `make world'
work better.
1998-03-19 13:32:43 +00:00
Bruce Evans 5f1c0dcd1a Fixed CLEANFILES. Some temporary files were missing. 1998-03-19 13:22:46 +00:00
Bruce Evans fe9ce45a0e Improved comparison of ${DPADD} with ${LDADD} for the checkdpadd target.
`BINFORMAT=foo make checkdpadd' in /usr/src now reports only 2 false
negatives (in libss and init).  (BINFORMAT=foo is to turn off better
handling of the a.out case.)
1998-03-14 14:08:29 +00:00
Eivind Eklund 69b87d3e06 Introduce the 'regress' target.
Silently approved by:	-hackers, -current
1998-03-12 20:02:17 +00:00
Bruce Evans a813856e54 Pass -nostdinc to mkdep for assembler and C files (it was already
passed for C++ files).

Don't pass -nostdlib to mkdep for C++ files.

Don't use temporary variables to obfuscate the main rule.
1998-03-07 13:57:37 +00:00
Bruce Evans fcccc50b75 Fixed generation of extra dependencies:
- the two `_EXTRADEPEND::' targets potentially clobbered each other for
  `make -jN'.  In practice, the output for the second target sometimes
  disappeared.
- bogus dependencies were generated for static libraries.
1998-03-07 13:13:41 +00:00
Satoshi Asami c89f86ce8f Add ${CXX} to list of variables passed in the environment when
invoking configure.

Submitted by:	obrien
1998-03-07 04:40:19 +00:00
Bruce Evans 14172e4615 If .depend doesn exist, then pretend that all objects depend on all
headers in ${SRCS}, as in bsd.lmod.mk and bsd.prog.mk.  This helps
`make [-j]' work when .depend doesn't exist.  Even plain `make'
sometimes only worked because of magic ordering in ${SRCS}.
1998-03-06 08:08:36 +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 47da63c3df Fixed dependencies of ${PROG} on ${DPSRCS} and `all' on ${_ILINKS}.
There were various races for `make -j'.  Half-built versions of
vnode_if.h were sometimes #included...

Removed a null dependency.
1998-03-06 05:43:46 +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
Bruce Evans 0f608029ab Remove ${CLEANDIRS} in the default clean rule, so that bsd.prog.mk can
use the default without losing any (currently unused) features.
(CLEANDIRS is only used by for libgmp and libmp via bsd.lib.mk, and
only documented everywhere it is supported except of course where it
is actually used.)
1998-02-25 02:48:28 +00:00
Bruce Evans 6c36f075fe Don't add ${DOC}.ascii* to CLEANFILES twice. 1998-02-25 01:35:16 +00:00
Bruce Evans 27cb203497 Removed default tags target. It was identical to the central one in
bsd.dep.mk.
1998-02-20 15:58:59 +00:00
Bruce Evans 161e89999d Removed default tags target. PROG is always defined here, so ifdefing
it was bogus, and without the ifdef the default is identical to the
central one in bsd.dep.mk.
1998-02-20 15:52:49 +00:00
Bruce Evans d14459324d Don't pass the undocumented flags `-se' to gtags (gtags ignores them for
compatibility).
1998-02-20 15:27:03 +00:00
Bruce Evans b7052cd110 Fixed cleaning of tags files. GSYMS was forgotten. 1998-02-20 14:32:30 +00:00
Eivind Eklund f5c7505126 Limit check for target to smaller section of makefile. 1998-02-19 14:53:29 +00:00
Satoshi Asami d4060348f4 (1) Don't disable "deinstall" if IGNORE is set.
I don't know what the hell I was thinking in:	rev. 1.268

(2) Create ${PREFIX} before calling mtree if it doesn't exist.  This
    may not be the best solution, but pre-install is called after
    mtree so there really isn't any way to fix this from the port
    Makefiles and thus has to be done here.
1998-02-19 06:49:27 +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
Satoshi Asami 6b76dece87 (1) Improve the obsolete tcl/tk detection and dignosis.
Reviewed by:	the lists

(2) Change MASTER_SITE_CTAN to reflect current reality.
Submitted by:	fenner

(3) Add new port variable NO_LATEST_LINK.  When this is set, the
    "Latest" package symlink is not created.  Use this for ports that
    are betas when there is also a port for an older, more stable,
    version.

(4) Don't be too stupid about "make deinstall".
Submitted by:	fenner
1998-02-04 10:36:56 +00:00
Bruce Evans 021886ff87 Restrict the include search path using -nostdinc -I- in $(CFLAGS} as
in kernel Makefiles.  Nothing in /usr/include is used (provided
relative paths for sys/* and <machine> can be found), so there is
no need for the -I/usr/include kludge as in kernel Makefiles.
1998-02-01 17:19:54 +00:00
David E. O'Brien 8baab29a23 Allow package building in current directory again. 1998-01-31 20:59:30 +00:00
Bruce Evans 4a2d2630c8 Generate symlinks to the "sys" and <machine> directories and put
them in the include path.  This fixes recent breakage of the syscons
LKMs and general brokenness of the include paths (headers under
/usr/include were used in many cases).
1998-01-26 20:36:38 +00:00
Jordan K. Hubbard c4be71c254 DISTRIBUTION=bin - we separate it out later. 1998-01-23 20:09:21 +00:00
John Birrell 5ec0ebbb0d FreeBSD's make knows about the MACHINE, but not the MACHINE_ARCH unless
it is built with this defined (which it isn't by default). This change
to sys.mk treats the absence of MACHINE_ARCH as i386 on the assumption
that it will be appropriately defined (as something else) on any other
architecture. When building FreeBSD's make with NetBSD tools, both
MACHINE and MACHINE_ARCH are correctly set (e.g. when bootstrapping
FreeBSD's make on NetBSD/mvme68k, MACHINE=mvme68k and
MACHINE_ARCH=m68k). This isn't really needed for the alpha which
has both defined as 'alpha', but I thought it was worth getting the
distinction between a MACHINE and a MACHINE_ARCH correct now.

Now, shouldn't PC98 have MACHINE=pc98 and MACHINE_ARCH=i386 ??!!
1998-01-21 01:03:51 +00:00
John Birrell 5bd65ce6ad Choose the default binary format based on machine type.
Alpha is elf, not aout.
1998-01-13 06:00:56 +00:00