Commit Graph

719 Commits

Author SHA1 Message Date
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
Steve Price
5ea3b08056 Add a couple of ?='s missed in the previous commit.
Noticed by:	Paul Allenby <pallenby@zibbi.mikom.csi.co.za>
1998-01-04 00:00:21 +00:00
Wolfram Schneider
c7d591d647 Add new variables:
LIBCOMPATDIR 	[/usr/lib/compat]
	LIBDATADIR 	[/usr/libdata]
	INCLUDEDIR 	[/usr/include]
	LIBEXECDIR 	[/usr/libexec]
1998-01-03 19:07:30 +00:00
Wolfram Schneider
32bebd8d26 Undo rev 1.11, the cd is null since NOOBJ is set.
444 -> ${SHAREMODE}
1998-01-03 14:04:55 +00:00
Satoshi Asami
68ce8f76e8 About one month worth of bsd.port.mk improvements.
(1) Allow multiple checksums of same file.
Submitted by:	hoek

(2) Add "deinstall" target as an alias to "pkg_delete $(make package-name)"
    (well, something like that, see diff for details).

(3) Add new port variable USE_AUTOCONF.   It appends BUILD_DEPENDS to
    devel/autoconf and runs autoconf before configure.
Submitted by:	ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)

(4) Clarify USE_X11 and USE_IMAKE usage.

(5) Add new user-overridable variable MASTER_SITE_KDE.
Submitted by:	vanilla

(6) Add support for "Latest" package links.
Idea by:	Terry Lambert

(7) Try to catch obsolete tcl/tk installations that could cause problems.
Annoyed by various bogus commits by:	you-know-who
1998-01-02 10:37:14 +00:00
Jordan K. Hubbard
935f96e769 DISTRIBUTION is bin (we'll make the info dist another way). 1997-12-26 00:19:23 +00:00
Bruce Evans
939d5a3dd8 Only remove ${CLEANFILES} in the default clean rule. In particular,
don't remove a.out explicitly.  a.out should only be generated for
libraries and is removed in the non-default rule in bsd.lib.mk.

Removed undocumented cleanfiles target.  It was the same as the
default clean target except it didn't descend into subdirs.  It was
different from special clean targets in other ways.  This feature
hasn't been missed for more important targets.

Removed unused default cleandepend target.  bsd.dep.mk has a better
version which is always used.

Use a better rule for checkdpadd in the BINFORMAT=aout case.  This
mainly checks that ld -f is working correctly.  The old rule is
still available via `make BINFORMAT=foo checkdpadd' and should be
used to check for regressions under 2.2 where ld -f is not available.
1997-12-19 18:48:45 +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
c0849ac85c Oops, rm -f can't handle empty lists. 1997-12-17 15:18:53 +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
Bruce Evans
e3ace70e1e Normally don't include <bsd.libnames.mk>. Include it in the !aout case
(as in bsd.prog.mk).  Include it if `checkdpadd' is being made, so that
it can be checked until it goes away.

Don't clean files that we don't create.

Fixed style of empty test.
1997-12-17 13:36:44 +00:00
Bruce Evans
079512d1a2 Removed gross dir file bootstrap rule again. It would break building
when there is no /usr/src/share/info if it were actually used.

Added comments to explain duplicated tex commands.

Use substitution in IFILENS to simplify some things.

Removed /g from many substitutions.  It is bogus for anchored matches.

Don't echo nothing.

Don't add things that wouldn't be built with the current options to
CLEANFILES (except for some cases involving tex).
Reviewed by:	wosch
1997-12-16 18:29:48 +00:00
Wolfgang Helbig
e525599ef1 Add libcalendar 1997-12-15 20:30:38 +00:00
Wolfram Schneider
b31409f379 Optimize rm(1) usage. 1997-12-14 15:38:47 +00:00
Wolfram Schneider
261d7bf1f1 Add LIBZ 1997-12-09 20:17:49 +00:00
Satoshi Asami
c9f6c74d48 Define MASTER_SITE_SUBDIR and PATCH_SITE_SUBDIR to default to "." so
we won't have double-slashes.

Add support for new port variable MANUAL_PACKAGE_BUILD.  If this is
defined as well as the user variable PACKAGE_BUILDING, the port will
be ignored.  This is used to mark ports that can be built normally
except on a machine that has a lot of conflicting ports (i.e., our
package building machine).
1997-11-20 05:33:56 +00:00
Satoshi Asami
6f6617ad09 Add new target "checksubdirs". It will warn about any subdirectories that
are not in the SUBDIR list.  It also knows about the "standard" directories
that are to be ignored ("CVS", "distfiles", etc.).
1997-11-20 05:31:44 +00:00
Wolfram Schneider
2504f8dc98 target(__target) -> target(${__target})
PR: bin/4736
Submitted by: Martin Kammerhofer <dada@sbox.tu-graz.ac.at>

Index: bsd.subdir.mk
===================================================================
RCS file: /usr/cvs/src/share/mk/bsd.subdir.mk,v
retrieving revision 1.18
diff -u -r1.18 bsd.subdir.mk
--- bsd.subdir.mk	1997/06/21 15:40:34	1.18
+++ bsd.subdir.mk	1997/11/09 18:04:33
@@ -59,7 +59,7 @@

 .for __target in all checkdpadd clean cleandir depend lint \
 		 maninstall obj objlink
-.if !target(__target)
+.if !target(${__target})
 ${__target}: _SUBDIRUSE
 .endif
 .endfor
1997-11-15 13:09:52 +00:00
Mark Murray
18fed7b641 Upgrade perl to perl5.004_04 1997-11-12 10:25:17 +00:00
Wolfram Schneider
5e1b557ef4 target(__target) -> target(${__target})
PR: bin/4736
Submitted by: Martin Kammerhofer <dada@sbox.tu-graz.ac.at>
1997-11-10 00:35:25 +00:00
Wolfram Schneider
70e244f8f6 Remove the comments hat just list the nested includes.
The lists don't provide significantly more information than
grep '\.include', and grep gives lists that are actually correct.
Submitted by: Bruce
1997-11-09 15:03:15 +00:00
Wolfram Schneider
6d840e43a4 target(__target) -> target(${__target})
PR: bin/4736
Submitted by: Martin Kammerhofer <dada@sbox.tu-graz.ac.at>
1997-11-09 14:37:40 +00:00
Bill Fenner
ca8fdeef9e Convert <, > and & into &lt;, &gt; and &amp; in port names, COMMENT and
DESCR files when building README.html .
Don't use control characters in sed statement.

Problems reported by "Chris G. Demetriou" <cgd@pa.dec.com> in NetBSD PR
pkg/4341.
1997-11-06 02:20:27 +00:00
Wolfram Schneider
81e5344479 Inlucde ../Makefile.inc if exists. This make it easier to
build the Unix Seventh Edition Manual volumes 2.
1997-11-02 18:50:53 +00:00
Wolfram Schneider
534ac553a1 Undo rev 1.33 and 1.34: Build the HTML files in .CURDIR and
not in .OBJDIR so the hyper links will work again.
1997-11-01 19:45:02 +00:00
Bruce Evans
7ffe3d1c5d Oops, comment lines can't be indented either. 1997-10-21 10:39:27 +00:00
Bruce Evans
1bfc282680 Oops, comment lines can't be continued. 1997-10-21 10:36:07 +00:00
Bruce Evans
6e47de28bb Added -Wuninitialized to CWARNFLAGS. Warnings about uninitialialized
variables were lost when we removed -W, and 23 new ones including at
least one serious one have crept in for LINT.

Restored -Winline to CFLAGS.  This gives only 3 old warnings and 1 new
for LINT.
1997-10-21 06:53:24 +00:00
Wolfram Schneider
938d2a75bd Support output format html.
Add make variables INFO2HTML, TEX, DVIPS, DVIPS2ASCII.
1997-10-12 18:54:34 +00:00
Wolfram Schneider
3f3e72d5f9 Do not use an intermediate file. The intermediate filename will go
into the info output which may breaks other programs (e.g. info2html).
1997-10-11 17:30:18 +00:00
Wolfram Schneider
8d20e51f0a Bugfix for rev 1.41:
makeinfo does not understand the tex command \input
1997-10-09 18:14:18 +00:00
Satoshi Asami
f210c44ab8 Install ${PKGDIR}/MESSAGE as /var/db/pkg/${PKGNAME}/+DISPLAY if it exists.
Reviewed by:	kiri
1997-10-08 05:04:48 +00:00
Jordan K. Hubbard
97fe7f477f Changes to support full make parallelism (-j<n>) in the world
target.
Reviewed by:	<many different folks>
Submitted by:	Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>
1997-10-05 09:40:24 +00:00
Wolfram Schneider
7c31952e23 Delete redundant entries.
Run tex twice due cross references.
Cleanup many tex generated files in `make clean'
Format latin1 output in 80 characters column (was ~110 characters).
1997-10-04 13:00:56 +00:00
Wolfram Schneider
4e8f5527a1 Support output formats dvi, ps, latin1. 1997-10-01 21:35:14 +00:00
Peter Wemm
e782d0b55d Restore the BINFORMAT?= in sys.mk, or it's painfully difficult to use
.if in Makefiles.  bsd.prog.mk and bsd.lib.mk do not depend on it however.

Allow overriding of the -soname arg when building the lib*crypt.so* libs
since libdescrypt.so and libscrupt.so both need a -soname of libcrypt.so
so that the symlink is obeyed at runtime rather than at compile time.
1997-09-05 11:45:15 +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
Bruce Evans
662773e296 Fixed cleandepend target. Subdirectories weren't handled unless SRCS
was defined.
1997-08-26 16:54:33 +00:00
Satoshi Asami
2722459822 Add "distclean" to list of targets to descend into subdirs for. 1997-08-22 11:16:15 +00:00
Satoshi Asami
45d47e069f (1) Be nicer about mtree file missing. (Actually, just suggest where
you can get one from.)

(2) Use "reinstall" as DEPENDS_TARGET if target is "reinstall".  In
    particular, this will make it possible to do a "make reinstall" on
    several NFS clients and have them install all dependencies
    correctly.
Tested by:	davidn
1997-08-20 03:44:14 +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
Bruce Evans
5d08f31126 Don't use !empty() on the potentially unset variable MANBUILDCAT. Using
it broke "everything" unless MANBUILDCAT was set.
1997-07-25 11:17:12 +00:00
Bruce Evans
87d75709bb Removed a stray `.if' that broke everything. 1997-07-25 10:43:55 +00:00
Paul Traina
5191ded867 Allow optional building of preformatted manual pages.
Reviewed by:	wosch
1997-07-24 18:39:46 +00:00
Bruce Evans
2e9b23b0ba Added ${KMOD} to CLEANFILES. ${KMOD} gets created if you run `make load'. 1997-07-21 16:04:41 +00:00
Mark Murray
5a93a1d726 Changes for perl-5.004_01 1997-07-17 17:47:36 +00:00
Satoshi Asami
7a9059f331 (1) Add preliminary support for architecture/operating system-dependent
patches and files.  Note this is just for testing -- I don't
    expect "patches.OpenBSD" or "Makefile.alpha" start cropping up on
    our ports tree just yet!
Pretty much ignored by: the ports/committers list

(2) Add "SH?=/bin/sh" to the list of command-name macros.  Use it.
Checked by: recompiling all packages
1997-07-10 02:29:51 +00:00
Bruce Evans
ed2be8eabe Removed temporary SMP header fix. 1997-06-30 23:37:54 +00:00
David E. O'Brien
4b287c3d4b ``-C ${WRKDIR} -xzf'' are no longer the default args for EXTRACT_BEFORE_ARGS 1997-06-29 10:51:55 +00:00
Paul Traina
3d8cd70cec Make NOSHARED = no / NOSHARED = NO do what you'd expect. 1997-06-28 08:14:10 +00:00
Satoshi Asami
0c3a571ce3 Add new variable USE_PERL5. It is similar to USE_GMAKE, except that
it also sets RUN_DEPENDS (USE_GMAKE is BUILD_DEPENDS only).

The (immediate) purpose of this is to avoid having to change 70
zillion ports when the version of perl changes.  Also, when perl5 is
pulled into -current, this will become a no-op in -current's
bsd.port.mk.

Reviewed by:	jfitz
1997-06-24 07:16:21 +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
e1eecc081e Add `B' to list of flags to pass through from C*FLAGS when using mkdep
(bsd.dep.mk) and compiling assembly language sources (bsd.lib.mk).
This doesn't change anything for our current source tree, but if you
want to use the -B switch in C*FLAGS to specify the location of
compiler subprograms, now you can do it.

Reviewed by:	bde (implicitly)
1997-06-18 03:39:34 +00:00
Satoshi Asami
ab6e6dd2aa Move the "umask ?= 0022" check (a warning only) from the default
"do-install" target to the beginning of the "install" meta-target, so
that ports that define their own do-install will also run it without
having to duplicate it themselves.

Tested by:	rebuilding all packages
1997-06-18 03:20:22 +00:00
Satoshi Asami
b3e17ba2cf Add "-I${DESTDIR}/usr/include" to CFLAGS if DESTDIR is defined, just
like bsd.lib.mk and bsd.prog.mk.  It doesn't add it to CXXINCLUDES, I
don't think anybody has written a kernel module with C++.  (Not that I
think DavidG will allow it anyway. :)

Reviewed by:	bde
1997-06-18 03:10:31 +00:00
Satoshi Asami
c679de5e1d (1) Use the new BSD.x11.dist mtree file to create directories under
/usr/X11R6 if USE_IMAKE or USE_X11 is set.  It is mostly designed
    after the XFree86 distribution, but also includes some of our own
    goodies (libexec, share/doc, etc/rc.d).

(2) Full support for per-port dependency target.  An optional
    ":<target>" can be added to any of the *_DEPENDS variables.  Do
    not attempt to print out anything about dependencies if NO_DEPENDS
    is set (there was already too much code duplication, and this
    extra colon has really pushed it over the limit).
Requested by: jfitz

(3) Make "reinstal" pmake-safe.
Reminded in an e-mail from: jkh
1997-06-04 00:12:19 +00:00
Wolfram Schneider
05567545f5 Add a `strip' target which remove the ^H from plain text files. 1997-05-25 12:43:06 +00:00
Doug Rabson
f8a7448fcc Add "-assert pure-text" to the link line. The warnings about RRS
relocations in text sections are now dependant on this flag.
1997-05-23 17:50:35 +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
Brian Somers
75795a87aa Add LIBALIAS. 1997-05-23 04:48:23 +00:00
Wolfram Schneider
0d13363288 Add variable LPR for printer command.
Murphy's Law: define LPR=true in /etc/make.conf if you don't want
tomorrow find 3 paper copies (ascii, latin1, postscript) of the
handbook in your printer (or someone else printer on the other half of
the world).
1997-05-11 10:42:00 +00:00
Wolfram Schneider
70c8851f9b Support compressed output. Default is uncompressed output format.
Fix print target.
1997-05-11 00:32:14 +00:00
Doug Rabson
77e25db56d Add SMPHDRS to CLEANFILES instead of replacing its current value. 1997-05-06 14:29:56 +00:00
John Polstra
ef431e2e9e Use "gcc -shared" instead of "ld -Bshareable" for building shared
libraries.  Remove the now-unneeded CPLUSPLUSLIB hack.  I will also
remove the CPLUSPLUSLIB definitions from the Makefiles that use it,
after the dust settles.

Use gcc's LIBRARY_PATH environment variable to handle DESTDIR,
instead of -L flags in LDDESTDIR.  LIBRARY_PATH is documented in
the gcc info pages.  It is better than using -L flags, because it
modifies the search for start-up files as well as for libraries.
A new variable LDDESTDIRENV is used to contain the normally-empty
LIBRARY_PATH environment setting.

LDDESTDIR is no longer set in <bsd.lib.mk>.  It is still honored for
the time being, because a couple of userland Makefiles still (wrongly)
set it.  These should be fixed, and LDDESTDIR should vanish.

Removed the commented-out "LDDESTDIR+=-nostdlib", because "gcc -shared"
doesn't link in any standard libraries anyway.

Removed the ".if defined(LDADD)" around the _EXTRADEPEND target for
shared libraries.  This target is always necessary now, because
c++rt0.o is linked into every shared library.

Don't merge this into -2.2 without first merging the support for
"gcc -shared".
1997-05-04 21:30:40 +00:00
Andrey A. Chernov
33293868ee Add ascii to comment describing default FORMATS value too
(see previous commit)
1997-05-02 05:07:45 +00:00
Andrey A. Chernov
d228db0cbc Add ascii to default formats list.
latin1 looks very ugly on Russian screens/printers and users should
be able to print/view handbook first without inner knowledge of
bsd.sgml.mk tuning.
1997-05-02 05:02:54 +00:00
Jordan K. Hubbard
f40b37bdb9 Put the "grossness" back; it had a purpose and anyone screwing around
with these files MUST understand what a `make release' does before
making changes like this or get nasty-grams from me when my builds start
falling over.  In fact, if they can't test "make release" after making
such changes then they *should leave these files completely alone*.
Thank you.
1997-05-01 01:15:55 +00:00
Steve Passe
7f7578c815 removed:
opt_smp_invltlb.h
from:
SMPHDRS=        opt_smp.h opt_smp_invltlb.h

SMP_INVLTLB is no longer a valid config option, the invalidation of the TLB
via inter-CPU IPIs is now standard when APIC_IO is used.
1997-04-30 21:54:01 +00:00
Bruce Evans
035e8553c0 Fixed the SMP fixes:
- fixed dependencies so that `make depend' isn't necessary.
- added new files to CLEANFILES.
- fixed style.
1997-04-30 20:56:37 +00:00
Bruce Evans
409ac84cb2 Added trailing slash to ${CANONICALOBJDIR} in tests for directories,
so that /usr/obj can be a symlink to an existing directory.
1997-04-30 17:04:11 +00:00
Bruce Evans
c0bb409c43 Oops. The previous change duplicated the grossness instead of removing it. 1997-04-30 17:03:09 +00:00
Bruce Evans
a460096719 Removed gross dir file bootstrap rule. Keep depending on the dir
file so that we fail if it isn't already installed.  The bootstrap
is now done by `make install' in the top-level src directory.  As
well as being gross, the rule didn't actually work for src trees
other than /usr/src, and this is difficult to fix since the whole
src tree may not exist.
1997-04-30 16:33:43 +00:00
Andrey A. Chernov
ba11dfa74c bugfix: 'make depend' cause all LKMs rebuild 1997-04-30 06:04:17 +00:00
Satoshi Asami
29c78eecc2 (1) Change logic for dependency: instead of defining "is_depended"
(default: IS_DEPENDED?=install) target on the depended port, call
    DEPENDS_TARGET (default: install) from the depending port.

    Other than being more flexible (some ports don't require the
    dependency to be fully installed: see ghostscript4), this seems
    like a more natural thing to do.  (I never understood the
    convoluted logic that was used before.)

    By building packages with "DEPENDS_TARGET=package", I can avoid
    file-sharing problems (like gs3 binary going into the gs4
    package).

(2) Add new variable PATCH_SITE_SUBDIR and separate it from
    MASTER_SITE_SUBDIR.  Fixes linuxls port and is a correct thing to
    do anyway.
Initially suggested and reviewed by: fenner

(3) Add new variable MASTER_SITE_LOCAL for local ports.  Defaults to
    LOCAL_PORTS subdir on ftp.freebsd.org's distfiles dir.
Submitted by: jkh
1997-04-30 03:12:05 +00:00
Steve Passe
066da549d4 Submitted by: Wolfgang Helbig <helbig@MX.BA-Stuttgart.De>
make world fails when it tries to build LKMs because the files
	opt_smp.h
	opt_smp_invltbl.h
are missing.

This patch to /usr/src/share/mk/bsd.kmod.mk is a temporary workaround.

Note that LKMs built in this way may or may NOT work properly with an
SMP kernel.
1997-04-28 00:02:22 +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
32899676a8 Fixed missing strip step in .S.o and .S.po rules.
Fixed back to front -X and -x strip flags in .m.o and .m.po rules.
Fixed disordered .m.o and .m.po rules.  What is .m?

Stripping probably should be removed.  It makes problems in library
functions hard to debug...
1997-04-23 10:26:18 +00:00
Satoshi Asami
052b42b8a0 Merge from 2.2. 1997-04-21 00:24:51 +00:00
Bruce Evans
7c0c241dea Updated comment about MANDEPEND (it was misplaced in bsd.prog.mk). 1997-04-19 14:55:17 +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
Satoshi Asami
992b8e3ad2 (1) Change comment for USE_X11 to be more explicit about what it
means.

(2) Change MASTER_SITE_GNU etc. to use += instead of ?=, so users can
    specify a local mirror in /etc/make.conf and still get the full
    fallback in case something is missing.
Submitted by:	Narvi <narvi@haldjas.folklore.ee>

(3) Skip port if USE_X11 or USE_IMAKE is defined and /usr/X11R6
    doesn't exist.
Submitted by:	imp

(4) Add "-" in front of rmdir of ${DISTDIR}/${DIST_SUBDIR} in
    distclean target; the directory might not be empty because the
    subdir is shared with some other ports' distfiles.
1997-04-15 08:36:41 +00:00
Jordan K. Hubbard
6eb5e456f1 Support GLOBAL style tags. 1997-04-13 06:44:25 +00:00
John Polstra
9c8ff5b51f Use "-pg" instead of "-p" for generating profiled object files.
The two options differ only when linking, but "-p" is incorrect
because it is associated with the old-style "prof" command, which we
do not support.
1997-04-09 20:31:15 +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
3bfa8cb182 Include ${CURDIR}/../Makefile.inc as in most other `.mk' files. This
is most useful for centralizing the definitions of paths to contrib
directories.

Removed useless subshell and evil-hiding @ in the the rule for
initializing the info dir.
1997-04-07 16:46:40 +00:00
Mike Pritchard
9b99027472 Fix a typo that prevented the proper flag from being set
when USE_REFER is set.

Submitted by:	Sandro Sigala <ssigala@globalnet.it>
1997-04-04 01:25:32 +00:00
Marc G. Fournier
d54266d5b6 Remove ${MAKEFLAGS} on recommendation by Bruce, mainly because the reason
for adding it was so that -j3 carried through on a make -j3 world, but found
at least one circumstance where it breaks  'make depend'
1997-03-31 05:30:16 +00:00
Marc G. Fournier
f457e46e0d Add ${MAKEFLAGS} to ${MAKE} in _SUBDIRUSE so that something like
'make -j3 world' works

Jordan points out that this may not be the only place this is required to be
added, but so far, its the only one I've found to break -j3
1997-03-30 23:39:39 +00:00
Peter Wemm
f477a27251 Fix some bugs from bde's list (long lines) 1997-03-29 12:39:52 +00:00
Peter Wemm
4c987fb1a7 makeinfo can fail but still leave behind zero length files which cause
interesting problems because the resulting file is newer than the source
and this stops 'make' from rebuilding it.  Go via an intermediate file
and rename to make sure this doesn't happen.
1997-03-12 07:14:44 +00:00
Peter Wemm
a53988f831 Move the conditional declarations of ICOMPRESS_CMD and ICOMPRESS_EXT
to before they are used in .for loops and .SUFFIXES lists, or it
doesn't work!  Without this, 'make all' doesn't gzip the result as the
generated 'all' target doesn't seem to be defined completely.
1997-03-12 06:24:52 +00:00
Wolfram Schneider
d66539fb98 Add comments. 1997-03-09 23:10:56 +00:00
Wolfram Schneider
efda6cd9d5 Add reference to `PMake - A Tutorial' 1997-03-09 15:51:07 +00:00
Wolfram Schneider
fd45cc5c52 Add table of contents. Remove stale comments. 1997-03-09 02:23:40 +00:00
Wolfram Schneider
f5d738c8df Add comments. 1997-03-09 00:14:00 +00:00
Wolfram Schneider
f7ea12a0b6 Add new variables COMPRESS_CMD and COMPRESS_EXT.
bsd.doc.mk:
	rename GZIPCMD to DCOMPRESS_CMD, add DCOMPRESS_EXT
bsd.info.mk:
	rename GZIPCMD to ICOMPRESS_CMD, add ICOMPRESS_EXT
	set INFOTMPL to ${INFODIR}/dir-tmpl
bsd.man.mk
	rename ZEXTENSION to MCOMPRESS_EXT, MCOMPRESS to MCOMPRESS_CMD
1997-03-08 23:46:56 +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
Satoshi Asami
07a557af5e Make COMMENT and DESCR variables (just like PLIST). Will be useful
when you want to share all of PKGDIR except for one file.  (See upcoming
multilingual nvi ports.)
1997-03-06 08:28:15 +00:00
Wolfram Schneider
d4ae7dd925 Cosmetic change: remove a redundant ${.OBJDIR} in the html realinstall
target. The current dir is ${.OBJDIR} so ${.OBJDIR} shouldn't be in
the rule.

Pointed out by: bruce
1997-03-02 15:52:34 +00:00
Wolfram Schneider
5fe2071d68 Put html output into the obj directory and not into the source directory. 1997-03-02 00:16:49 +00:00
Satoshi Asami
b7de6f6321 (1) Define ${LDCONFIG} and ${MV} to be full pathnames to ldconfig and
mv, respectively.  This will make Warner's life easier.

(2) Add new variable ${PLIST}, which defaults to ${PKGDIR}/PLIST.
    If you need to have different PLISTs for different configurations,
    you can either

    @ pre-fabricate all of them and switch ${PLIST} to point to the
      appropriate one, or

    @ use sed/awk/perl/whatever to create the correct one from
      pkg/PLIST and set ${PLIST} to it.

    It is still recommended to have a file called "pkg/PLIST" so
    people can do "grep badprog /usr/ports/*/*/pkg/PLIST" and such.

(3) Move /var/db/pkg/${PKGNAME} clash detection to before the
    installation (instead of after) and make it fatal, with an error
    message suggesting a workaround.

(4) Don't make distclean fail if DIST_SUBDIR is set and the
    subdirectory does not exist.

(5) Don't put "@pkgdep Error code 2.  Stop." kind of garbage into
    packing list if depended port's directory doesn't exist.  Instead,
    print out a message to stderr.
1997-02-23 13:24:45 +00:00