Commit Graph

749 Commits

Author SHA1 Message Date
Satoshi Asami
b2502fb7ef Add OpenBSD support. Change some comments to reflect the fact. Also:
(1) Change commented out MAINTAINER to FreeBSD_MAINTAINER and
    OpenBSD_MAINTAINER.  These are not comments anymore, so we may
    even use it in the future.

(2) Instead of the ".if ${OPSYS} = "NetBSD" hack, use ".if exists()"
    to find the location of md5 an tar.  Play similar trick for fetch
    (OpenBSD uses /usr/bin/ftp which groks http: addresses).

This commit includes most of the changes made in 1.242 (although many
of them are done differently after more discussion).  One thing that
is conspicuously missing is NOMANCOMPRESS, which has been postponed
until Warner figures out what exactly the situation is on the OpenBSD
ports paradigm.  (In a nutshell, we can't just define NOMANCOMPRESS in
this file even if uncompressed manpages is the default for OpenBSD,
because that will take away the ability of individual users to select
manpage compression.)

Reviewed by:	imp@openbsd.org
1997-01-12 12:37:48 +00:00
Satoshi Asami
0f003de40d (1) New variable, SCRIPTS_ENV, which is passed to scripts/configure
and scripts/{pre,post}-* as environment vars.  Also, if BATCH is
    set, "BATCH=yes" is automatically added to SCRIPTS_ENV.
    (Requested by: max)

(2) The INSTALL_* macros are added to SCRIPTS_ENV and MAKE_ENV as
    BSD_INSTALL_*.  (Requested by: obrien)

(3) New variable MOTIF_ONLY, which will only build ports with
    REQUIRES_MOTIF defined.  This doesn't do dependencies right (what
    if the depended port doesn't need Motif) yet.

(4) Try not to clean the same port twice in clean-depends when (for
    instance) it's defined in both BUILD_DEPENDS and INSTALL_DEPENDS.
    Note that it won't check chained dependencies so you may still see
    the same port cleaned multiple times, but checking that far will
    surely make this run slower than the un-"optimized" case so I left
    it as is.  (Requested by: jkh)

(5) Ignore *.rej files in patches/ directory in addition to *~ and
    *.orig.
1997-01-12 11:48:26 +00:00
Peter Wemm
be216bf89f one more tweak to make it fly without INFO defined. (like bsd.prog.mk) 1997-01-12 07:30:23 +00:00
Peter Wemm
167a634704 oops, missed a ${BINDIR} -> ${INFODIR}. Also remove the slash between
${DESTDIR}/${INFODIR}.
1997-01-12 07:15:24 +00:00
Peter Wemm
a6e6861d65 recover spammed revisions 1.20 and 1.21. This fixes the breaks in the
builds when INFO is commented out.

Pointed out by: bde
1997-01-12 07:05:07 +00:00
Steve Price
c3e3432cd3 Revert changes to make the .y.c rule 'make -j n' safe. 1997-01-12 04:01:25 +00:00
Joshua Peck Macdonald
38a1b9404b In an attempt to make the new info rules bootstrap themselves, make
the rules conditional on NOINFO not being defined, just like NOMAN.
1997-01-11 10:51:36 +00:00
Joshua Peck Macdonald
0d7f401441 Change the installation rules. It now copies an empty dir file
into the DESTDIR in the beforeinstall rule in src/share/info/Makefile.
Then each info file that gets installed into the dir file using
install-info.

It has struck me that there's going to be a problem bootstrapping
this change, since parts of install will fail until install-info
is installed.  Maybe someone who knows best how to deal with this can
fix it.
1997-01-11 02:39:37 +00:00
Wolfram Schneider
7ed8349293 if !(command) -> if ! (command)
the ksh and I guess some other shells want a space
between '!' and the next command. This problem exist since rev 1.207
1997-01-10 21:02:27 +00:00
Andrey A. Chernov
f91ef3d095 FIx typing error .SRCDIR -> SRCDIR
Submitted by:  bde
1997-01-06 02:30:13 +00:00
Steve Price
e10e3950fa Make the .y.c rule 'make -j n' friendly.
Inspired by: bde and brian@mediacity.com
1997-01-06 02:07:35 +00:00
Andrey A. Chernov
8a1590b4dc Use SRCDIR to handle non-current directory docs
Use INFO* macros from bsd.own.mk
1997-01-05 15:33:36 +00:00
Wolfram Schneider
236fc12afb add new variable NOMLINKS
NOMLINKS If you do not want install manual page links. [not set]
1996-12-26 22:37:30 +00:00
Satoshi Asami
887070162e I'm sorry, this kind of commits need to be reviewed by me, espicially
in a time like this (i.e., right before the release).

Back out rev 1.242, also add a stronger note above the MAINTAINER.
1996-12-26 01:02:29 +00:00
Warner Losh
e107b29a74 Integrate changes from OpenBSD's efforts to use the FreeBSD ports system.
Generalize the selection of programs to run based on the existance of files
rather than the OS names that we find.  Add comments about me being the
keeper of the OpenBSD mods of this file.  Use ftp on OpenBSD rather than
fetch since OpenBSD's FTP supports urls and there is no fetch.

Reviewed by:	Joerge Wunch, Jordan Hubbard, and others in ports I've forgotten
Obtained from:	OpenBSD with changes from me.
1996-12-25 18:19:22 +00:00
Satoshi Asami
dad7105a9b Suggested by: msmith
Add a little more sophistication to the md5 grep command.

Change the md5 checksum logic a bit.  Now, the message is printed
out for every successfully/unsuccessfully matched checksum, and it
aborts at the end if there was a mismatch.  Also, make missing checksum
and IGNORE file inconsistency fatal, as there is now no reason to have
a missing checksum.
1996-12-23 02:49:35 +00:00
Wolfram Schneider
dbab5e88a6 Do not use variable PRINTERDEVICE as printer name. 1996-12-22 16:16:13 +00:00
Mike Pritchard
11205c3459 Change bsd.doc.mk to use the variable PRINTERDEVICE instead
of PRINTER for defining the default output device when formatting
documents for installation.  This prevents problems if the
user has defined PRINTER for use by lpr.

Closes PR# 1437.
1996-12-19 22:40:43 +00:00
Satoshi Asami
16f5775ab2 Add missing targets (extract, patch) in the IGNORE (INTERACTIVE &
PATCH, etc.) section.  Also sort them in order of execution like other
parts of this file.
1996-12-18 02:27:44 +00:00
Satoshi Asami
f31d4d080c Add new variable IGNOREFILES, to be set to list of files that you don't
want md5 checksum calculated.  (It will create an entry in files/md5
with rhs "IGNORE".)  Now it's safe to do a "make makesum" on all ports.
1996-12-17 12:20:53 +00:00
Wolfram Schneider
284e5324dd update comments 1996-12-17 01:29:09 +00:00
Satoshi Asami
f813e3b8d2 Change delimiter of substitution that uses MANLANG from .' to %', so
things like `ja_JP.EUC' will work.

Suggested by:	max
1996-12-12 04:32:25 +00:00
Satoshi Asami
7daf790957 Extend the manpage compression handling a bit.
(1) MANLANG is now a list (defaulting to ""), so if you have English
    and Japanese-EUC versions of the manpages, you can say something
    like `MANLANG= "" ja_JP.EUC' and manpage compression will DTRT.

(2) Add new variables MAN%cPREFIX (where %c=[1-9LN]) which default to
    MANPREFIX (which defaults to PREFIX), to specify per-section
    prefixes.  In particular, this handles the cases in many perl
    ports, which install man1pages into man/man1 and man3pages into
    lib/perl5/man/man3.

Note these modifications won't change the behavior of existing
variables used in previously-approved ways, so any Makefile that
worked before will still continue to work.
1996-12-11 10:17:44 +00:00
Satoshi Asami
6df8f78ac3 Add support for uncompressing manpages that are already installed
compressed.

Requested by: obrien
Change name of -D option (to pkg_create) file to MESSAGES.  (More
friendly to filename completion.)
1996-12-11 04:51:31 +00:00
Satoshi Asami
2b2b1ca931 Submitted by: fenner
(1) Print out reason when port is ignored because of NO_CDROM,
    RESTRICTED, IS_INTERACTIVE, (not) IS_INTERACTIVE, BROKEN,
    REQUIRES_MOTIF or NO_PACKAGE.

Submitted by: obrien
(2) Add new special file in pkg/: DISPLAY.  (Cf. man pkg_create)

(3) Minor bugfix in clean-depends target, which sometimes executed
    "make clean" in the current directory.  (Which is probably ok, but
    is wrong nonetheless.)
1996-12-09 07:08:16 +00:00
David E. O'Brien
deff0e9566 Was using new URL (ftp://ftp://) before the RFC has been voted on. :-)
Obtained from:	make fetch
1996-12-08 05:40:38 +00:00
Satoshi Asami
c69930e5e3 Optimize by changing "sort | uniq" -> "sort -u". "make index" is now
412 secs instead of 498 secs on my machine!

Submitted by:	fenner
1996-12-04 05:53:17 +00:00
Satoshi Asami
2189449696 Merge from RELENG_2_2 (duh). See rev 1.227.2.4 for details. 1996-11-30 10:31:50 +00:00
Satoshi Asami
c0e21d1ce9 Just realized that the spacing after "==>" is not consistent. I'm
terribly sorry, please merge this into 2.2 as well.
1996-11-14 11:45:42 +00:00
Satoshi Asami
e27532f3a3 Oops, forgot to silencethe gzip command to compress manpages.
It will be nice if this went into 2.2, I guess.

Reminded by:	max
1996-11-14 11:35:19 +00:00
Satoshi Asami
a6fc2e2bd1 (1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.

(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
    is also defined.  (Submitted by: max)

(3) Add several popular master sites as variables.  For instance,
    MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
    which you can set MASTER_SITES to in your Makefile if you just
    want ftp.x.org or any of the mirror sites.

    There is also a new variable, MASTER_SITE_SUBDIR, to specify which
    subdirectory of the master site your tarball is located.

    One nice thing this enables the user to do is to define the
    nearest mirror site in /etc/make.conf.  This is especially useful
    for continents without a full FreeBSD master site.

    Eventually, we will probably split this into a separate file
    (bsd.port.sites.mk?), and add some more sites from all corners of
    the world.

    Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
    supported.

(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
    You just say "MAN1=foo.1 bar.1" and the make rules will
    automatically compress it for you if necessary.  (Idea by: obrien)

(5) New "distclean" target to delete distfile too.  (Submitted by:
    obrien)

(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.

Reviewed by:	the ports list
1996-11-13 11:37:40 +00:00
Bruce Evans
a400403a8c Turned off -W and -Winline so that the warnings that should be fixed for
2.2 are more obvious.  -Winline is unimportant, but -W gives thousands
of warnings for comparisions.  Turning off -W also loses warnings for:
- auto variables clobbered by longjmp.  Not much of a problem in the kernel.
- functions returning without a value.  I don't like losing this.
- an expression statement or the left side of a comma operand contains no
  side effects.  Turning this off also stops warnings for the low quality
  debugging macros in gsc.c and lpt.c.

Should be in 2.2.
1996-11-11 15:49:27 +00:00
Alexander Langer
32b97f0b55 Style changes: $(...) --> ${...}, consistent placement of -c.
Suggested by:	bde (via steve)
1996-11-07 01:46:47 +00:00
David E. O'Brien
7384599321 Set tabstops to 4 in vi like in emacs. 1996-11-03 07:51:59 +00:00
Steve Price
2be2be749b Add in POSIX 1003.2 mandated rules. NOTE: these
will only be enabled when the first non-comment line
of the Makefile contains the .POSIX directive.

Submitted by: Joerg Wunsch <joerg@freebsd.org>
1996-11-03 03:25:50 +00:00
Satoshi Asami
7bf5b94f9e (1) Add NetBSD support. Closes PR bin/1643.
Submitted by:	Jason Thorpe <thorpej@nas.nasa.gov>

(2) Remove the bogus "CAT+=" definition.  Closes PR ports/1703.
Submitted by:	Peter Childs <pjchilds@imforei.apana.org.au>

(3) Change MKDIR to "/bin/mkdir -p", remove "-p" from ${MKDIR}
    invocations.  Closes PR ports/1901.
Submitted by:	obrien

(4) Add a new macro variable COMPRESS_MAN, which will evaluate to gzip
    if NOMANCOMPRESS isn't set (default), or true if it is.

(5) Add a new variable NO_CHECKSUM, which will disable the md5 checksum.
Submitted by:	jkh

(6) Also, move NO_PATCH and NO_PACKAGE checks to right place in
    invocation order.

(7) Check for LIB_DEPENDS before installation too.  (It used to check
    only before extraction.)
Forgotten a long time ago by:	asami
1996-11-01 07:22:37 +00:00
Bruce Evans
272937b07f Oops, this wasn't supposed to have -Wcast-qual yet.
Also disabled -Wunused.  It caused too many warnings even for me.
The sign mismatch warnings should be fixed first.  They are more
important and harder to disable (they are controlled by -W, which
controls too many things).
1996-10-09 18:41:40 +00:00
Bruce Evans
6b30bfd370 Oops, forgot to cvs add bsd.kern.mk.
Centralized the definition of CWARNFLAGS into bsd.kern.mk.
1996-10-08 22:10:49 +00:00
Bruce Evans
9e72552ff0 Centralized the definition of CWARNFLAGS into bsd.kern.mk. 1996-10-08 22:09:03 +00:00
John Fieber
0764dce2cb Generate ISO-8859-1 text by default instead of US-ASCII. 1996-10-08 13:45:06 +00:00
Wolfram Schneider
7bc830bb88 add variables MODLOAD and MODUNLOAD for modlad/modunload commands 1996-10-06 22:10:35 +00:00
Wolfram Schneider
69d16a72e4 Create first HTML output and than ASCII. Generating
HTML formatted output is usually faster and we see SGML errors
earlier.
1996-10-06 21:55:18 +00:00
Peter Wemm
fbb10fbaa8 Add LIBSTDCPLUSPLUS
(can't use the '+' char in variable names, same as LIBGPLUSPLUS)
1996-10-04 08:55:05 +00:00
Peter Wemm
0ef8d11abe libresolv.a doesn't exist anymore... Hmm, what's the right thing to do
here?  Can we just undefine it?  What about 3rd party bmakefiles?
1996-10-04 08:52:43 +00:00
John Fieber
0f31813a98 1) If as link file was created by sgmlfmt, use it during installation.
2) The assignment of CLEANFILES in a .for loop was badly botched.  Now fixed.
1996-10-01 23:44:03 +00:00
Bruce Evans
2986df98eb Don't warn about non-canonical object directories if they have been
forced in any of the standard ways (MAKEOBJDIR was lost in the
previous commit).  Simplified the conditionals for this.

Restored comment about MAKEOBJDIR from rev.1.4.

Improved English in comments.
1996-09-29 18:28:55 +00:00
John Fieber
6712066d80 Add links file to CLEANFILES. 1996-09-29 18:21:16 +00:00
Nate Williams
7fc738cf77 The warning was triggering off the unused variable MAKEOBJDIR, instead
of the variable OBJLINK which is used in /etc/make.conf to build 'obj'
links in the current directory.  This caused lots of useless warnings
since if OBJLINK is defined ./obj will be created and used.
1996-09-28 19:39:18 +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
Satoshi Asami
251d6f360e Back out changes in rev. 1.217 -- ${CONFIGURE_SCRIPT} is not
meant to rename the name of script in ${SCRIPTDIR}.
1996-09-24 06:48:22 +00:00
Andrey A. Chernov
55c8be64d1 Back out my brackets change, it is definitely make bug, (recently
introduced) because old make version I check do the right job.
1996-09-24 04:17:14 +00:00
Andrey A. Chernov
4400af91f7 Add brackets to change bogus make expression priority, i.e.
!defined(X) && $(A) != $(B)
parsed as
(!defined(X) && $(A)) != $(B)
and not as
!defined(X) && ($(A) != $(B))
Probably it should be fixed in make
1996-09-24 03:48:10 +00:00
Satoshi Asami
0a2bb16e68 Look on the CDROM for patch files too.
Submitted by:	max

While I'm here, add "${DIST_SUBDIR}/" at end of CDROM pathnames.  Also
add an empty declaration of PATCH_SITES next to MASTER_SITES to avoid
"variable recursive" error.
1996-09-23 09:27:59 +00:00
Bruce Evans
373fdd9648 Added a `checkdpadd' target to help check that ${DPADD} is consistent with
${LDADD}.  It doesn't handle internal libraries very well yet.
1996-09-20 16:17:07 +00:00
Bruce Evans
6a2c9543a5 Fixed and simplified `whereobj' rule. Use the not-so-new -V feature.
Echoing ${.OBJDIR} would work. but -V is more general.
1996-09-20 16:08:21 +00:00
Peter Wemm
0a5243c743 add -fgnu-runtime to the .m.o and .m.po rules, since we (will) have
the gnu libobjc rather than the NeXT one.  I do not understand objc
so I don't know the implications of this, but the gcc-2.7.2 libobjc is
built with this.
1996-09-19 07:01:45 +00:00
Peter Wemm
32b115257e disable the objwarn warning if NOOBJ is set.. We have quite a few places
in the tree that use things like bsd.prog.mk just to get the default
targets like install, tags, obj, clean, cleandir, cleandepend, but do not
actually build anything there.
1996-09-19 06:58:26 +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
Peter Wemm
eb0085f483 Workaround to (hopefully) fix the NOMANCOMPRESS case of the MANFILTER-using
man pages (eg: named/bind/etc).  In order to get (say) dig.1 to pass
through the filter and produce a new dig.1 for installing, I used an
intermediate file at build time, similar to the way the .gz man pages are
built.

I've not extensively tested this, but it seems to work for the known
cases where it was failing, and it only affects the NOMANCOMPRESS case
which was already broken.

Pointed out by: "Ph. Charnier" <charnier@xp11.frmug.org>, PR#1612
1996-09-16 14:13:40 +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
Bruce Evans
833e666181 Fixed make objlink' (and make obj' in the (non-default) OBJLINK case).
Running them twice usually destroyed the target binary.  E.g., the
second `make objlink' in `make objlink; make; make objlink' replaced
the `cat' binary by a symlink cat@ -> /usr/obj/usr/src/bin/cat.

`ln -fs' is unusable when the target might be a symlink that resolves
to a directory.  Then -f applies to a file in the directory and not
to the symlink.  This seems to be the standard (and sometimes useful)
behaviour.
1996-09-05 17:53:13 +00:00
Bruce Evans
35732dda77 BSD.usr.dist:
Added forgotten share/doc/psd/05.sysman and share/zoneinfo/America/Indiana.

bsd.doc.mk:
Nuked mkdir -p and wrong fixups of the leaf directory's ownerships and
permissions.  The doc tree should be well enough established for this
to be safe.  Installs to directories should use a trailing slash on
the directory name so installs to non-drectories are fatal, but I
didn't start changing them.

bsd.man.mk:
Nuked mkdir -p and wrong fixups of the leaf directory's ownerships and
permissions.  They were overkill to create just /usr/share/info.

zoneinfo/Makefile:
No changes yet.  zic creates directories with ordinary 755 permissions.
Why do we use 555 permissions for directories in /usr/share/zoninfo.
Why not for zoneinfo itself?  /proc and /dev/fd are the only other
directories in the system with 555 permissions.
1996-09-03 15:14:45 +00:00
Bruce Evans
09a8dfa260 Don't depend in the kernel on the gcc feature of doing arithmetic on
pointers of type `void *'.  Warn about this in future.
1996-08-31 14:48:13 +00:00
Peter Wemm
5e7d3affd4 Use MANFILTER everywhere instead of a couple of MANFILT typos.. 1996-08-26 10:55:32 +00:00
Wolfram Schneider
2d7765f39d /bin/echo -> ${ECHO}
/usr/bin/sed -> ${SED}
1996-08-25 21:07:38 +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
Satoshi Asami
69ab93260f Use the new "file:" URL specification to fetch to check the CDROM
first if /cdrom/ports/distfiles exists.  If FETCH_SYMLINK_DISTFILES
is set, symlink the file instead of copying.

Reviewed by:	jhk
1996-08-24 09:28:48 +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
Satoshi Asami
8e67e42f63 Update explanation of *_DEPENDS, in particular note that bsd.port.mk
can now check existence of files specified by full pathnames, not only
executables.
1996-08-20 10:00:33 +00:00
Satoshi Asami
4dbc40f9a5 (1) Use INSTALL_PROGRAM where we attempt to pass this command line
to configure.

(2) Gently warn user for non-0022 umasks.

Submitted by:	"David E. O'Brien" <obrien@Nuxi.cs.ucdavis.edu> (1)
1996-08-18 10:53:16 +00:00
Satoshi Asami
38c3b03d54 (1) Ignore patches directory without a patch with a message instead of
bombing mercilessly.

(2) If that directory has a directory called CVS, remind the user of
    the existence of the "-P" option to cvs co and update.

(3) While I'm here, clean up the PATCH_DEBUG code a bit.  In
    particular, don't duplicate a whole bunch of code just for adding
    a single "echo" statement. ;)

Reviewed by:	the ports list
1996-08-17 10:16:02 +00:00
Satoshi Asami
bd01a3d4e1 (1) Add myself as MAINTAINER (of this file) -- commented out so it
won't be pulled into individual ports that include this file. ;)

(2) Document MOTIFLIB, it's not set in the ports Makefiles but is
    important for Motif ports (already documented in the handbook).

(3) Add INSTALL_PROGRAM, INSTALL_SCRIPT, INSTALL_DATA, INSTALL_MAN as
    "aliases" of the appropriate install command line, for use in *-install
    targets.

Reviewed by:	the ports list (item 3 only)
1996-08-15 05:55:33 +00:00
Peter Wemm
d5dcd8e63f Add a hook ``MANFILTER''. This optionally specifies a command to
pipe the man page source through before compressing or installing.
This can be used to do do (eg) sed substitution on man pages from
3rd party packages (in particular, ncurses and bind-4.9.4)

This should not affect anything already in the source tree.
1996-08-11 12:31:57 +00:00
Peter Wemm
6ba7f9ff84 Replace some leaky `cpp | as'' pipelines with `cc -x <lang>'' commands
to do the preprocessing and assembling.

(I've been running this for months, and had forgotten about it)
1996-08-11 12:24:44 +00:00
Satoshi Asami
e3b68a1b89 Make explanation of BUILD_DEPENDS less confusing.
Requested by:	Narvi <narvi@haldjas.folklore.ee>
1996-08-07 08:25:08 +00:00
Jordan K. Hubbard
62eba8760b Use tsort -q 1996-08-03 06:43:05 +00:00
Jordan K. Hubbard
293fcf5e41 The clean rule in here was bogus. 1996-07-27 22:16:54 +00:00
Andreas Klemm
467652583c Fixed bug, that CONFIGURE_SCRIPT in a port's Makefile doesn't have
any effect. The target do-configure used ${SCRIPTDIR}/configure
instead of ${SCRIPTDIR}/${CONFIGURE_SCRIPT}.
	-andreas
1996-07-27 11:54:30 +00:00
Peter Wemm
fb547ee202 Fix the recently added whereobj target.
Add missing end-of-line backslash
Remove two extra @ characters
1996-07-14 11:09:12 +00:00
Paul Traina
120a065638 Add whereobj target to find that pesky obj dir 1996-07-12 06:01:55 +00:00
Jordan K. Hubbard
5f1a3c08d6 Remove now-unused SRC_ENCAPSULATION hack. 1996-07-05 06:12:12 +00:00
Jordan K. Hubbard
68e00b9233 Fix the ordering dependency I broke. 1996-06-30 22:16:19 +00:00
Poul-Henning Kamp
209396df73 Make cleandirs more safe
Suggested by:	bde
1996-06-29 03:12:49 +00:00
Gary Palmer
502d775872 Add a missing space in a comment 1996-06-26 21:12:28 +00:00
Jordan K. Hubbard
4c4f0f7d51 Add default targets for cleandepend and objlink.
Submitted by:	Michael Hancock <michaelh@cet.co.jp>
1996-06-24 21:33:23 +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
Gary Palmer
bbf5261a72 Correct spelling errors (i before e except after c :-) )
Submitted by:	James Raynard <jraynard>
1996-06-22 21:20:56 +00:00
Poul-Henning Kamp
e767093fa3 Add man-page section 'n' and LIBTCL macro. 1996-06-22 06:01:57 +00:00
Jordan K. Hubbard
485f5a7718 Handle the `distribute' target. 1996-06-20 23:52:45 +00:00
Jordan K. Hubbard
b5bc989d0c Whoops - I made `make clean' chatty by mistake. 1996-06-20 18:51:28 +00:00
Satoshi Asami
985a18a7c1 The changes to go with ncftp -> fetch. Besides changing the names,
standardize the variables a little, and simplify some parts because
we can now trust the fetcher's return value.

Reviewed by:	the list
1996-06-19 09:33:31 +00:00
Jordan K. Hubbard
d79a958dcf Spit out the a proper port path for the describe target.
Submitted-By: Chuck Robey <chuckr@Glue.umd.edu>
1996-06-19 07:07:16 +00:00
Jordan K. Hubbard
2c9ca1a977 Ok, now cleandir: is correct. 1996-06-19 01:26:18 +00:00
Jordan K. Hubbard
61d16cdb21 Add some unobtrusive changes to handle sources which aren't ports
(SRC_ENCAPSUATION).  Stick in some cd ${.CURDIR} directives which have
been (benignly) missing all this time.  Allow more types of targets to be
selectively disabled.
1996-06-19 01:04:23 +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
Bruce Evans
5d1999ec59 Synced with Makefile.i386: added -Wunused. 1996-06-17 15:11:10 +00:00
Jordan K. Hubbard
abf58409aa Add LIBFTPIO 1996-06-17 12:31:02 +00:00
Satoshi Asami
9fe358a4b3 Add "MASTER_SITES?=" (no this is not a typo) right before the
"MASTER_SITES:= ..." of defined(MASTER_SITE_OVERRIDE) case, otherwise
it would cause a recursive variable definition error when
MASTER_SITE_OVERRIDE is set and MASTER_SITES is not set.
1996-06-13 06:03:39 +00:00
John Fieber
d6d88a1549 Fix incorrect handling of .cxx files in default rules. 1996-06-03 13:26:16 +00:00
Poul-Henning Kamp
006f5fe068 Back out yacc change. 1996-06-02 17:04:08 +00:00
Satoshi Asami
43c915b1af Add some comments to sections to disable targets using NO_* variables.
Remove disabling of "repackage", that thing calls package anyway.

Submitted by:	(mostly) jkh
1996-06-01 05:47:42 +00:00
Poul-Henning Kamp
b2e2fd2801 Make the yacc rules reentrant
Suggested by:	peter
1996-05-30 20:39:45 +00:00
Satoshi Asami
afcc796bf1 Set MAKE_ENV and CONFIGURE_ARGS with += instead of ?=, it is easier to
add things this way.

Reviewed by:	ache
1996-05-30 08:53:26 +00:00
Poul-Henning Kamp
50ef9020fd Avoid a ton of "mv" when making libs by using -O to ld.
Make lex rules reentrant.
1996-05-28 16:20:13 +00:00
Wolfram Schneider
187f8e98f5 make install' do not depend on make all'
Add some comments for variables and targets.
Include <bsd.obj.mk>, remove targets  obj, clean, cleandir.
Replace ${MAN*} with ${DOC*} variables.
Use a .for loop for undefined targets
1996-05-27 23:12:15 +00:00
Wolfram Schneider
125e8ffd27 Add a note that MAKEOBJDIR is an enviroment variable
and does work proper only if set as enviroment variable,
not as global or command line variable.
1996-05-27 23:05:54 +00:00
Wolfram Schneider
53996faddb Add some comments for variables and targets. 1996-05-25 23:09:49 +00:00
Wolfram Schneider
d8982a6a42 speedup MLINKS 1996-05-25 21:50:54 +00:00
Poul-Henning Kamp
4a6a373a1c Make some rules reentrant, and mark the onces that cannot be. 1996-05-09 13:01:44 +00:00
Jordan K. Hubbard
cce80494f9 Fix a minor grammatical error (reselled -> resold) I just noticed. 1996-04-27 18:36:02 +00:00
Satoshi Asami
1844587c79 Add CFLAGS=${CFLAGS} to MAKE_ENV, otherwise gmake won't pick it up. 1996-04-26 10:09:06 +00:00
Wolfram Schneider
44d97e5b42 New variable NOOBJLINK
Create 'obj' directory in current directory instead
	a symbolic link to the 'obj' tree if defined. [not set]

Print a warning if 'obj' tree (/usr/obj) does not exist.

Change default 'obj' directory from ``obj.${MACHINE}'' back to
``obj'', unfortunately many Makefiles are wired with the name ``obj''.

Add some comments for variables and targets.
1996-04-22 23:31:39 +00:00
John Polstra
0bd0c3cc45 Add "-x" to the linker command for building shared libraries. This
eliminates many local symbols that could not be removed by the "ld -r -x"
steps on the individual object files.  It makes shared libraries
substantially smaller -- almost 11%, in the case of libc.so.3.0.
1996-04-21 17:45:38 +00:00
Wolfram Schneider
bcb1a9de55 install bsd.obj.mk
Submitted by:	Asami
1996-04-12 11:13:29 +00:00
Satoshi Asami
726722154d Add NO_CDROM, RESTRICTED, BROKEN and Motif support.
(1) The new NO_CDROM Boolean variable means "don't put the distfile/
    package on the CDROM you're going to sell".  It will basically
    turn off everything if FOR_CDROM is set.

    Many of the NO_PACKAGE ports are actually "don't sell for profit"
    types, which we shouldn't have any problem distributing via ftp.

(2) The new RESTRICTED Boolean variable means don't build this unless
    you know what you are doing.  It doesn't have any effect unless
    NO_RESTRICTED is also set.

(3) BROKEN means this port is broken.  At least it will now show up in
    INDEX and README.html, and give people more incentive to fix (I
    hope).

    RESTRICTED and BROKEN are expected to replace the pseudo-targets
    in parent Makefiles.  (The RESTRICTED and BROKEN list didn't do
    anything before, they were solely for grepping purposes.)

(4) The Motif support brings in four new variables: REQUIRES_MOTIF,
    which the porter sets for ports that require Motif to build;
    HAVE_MOTIF, which the user sets to indicate the system has Motif;
    MOTIF_STATIC, which the user sets to indicate that the static
    libXm, instead af the default dynamic library, is to be used; and
    MOTIFLIB, which is set to "${X11BASE}/lib/libXm.a" or
    "-L${X11BASE}/lib -lXm", depending on whether MOTIF_STATIC is set.

    The porter is expected to replace all occurrences of libXm in the
    {Im,M}akefiles with ${MOTIFLIB}, and this will allow both dynamic
    linkage (for users with Motif) and static linkage (for those who
    build packages to be used by those withot Motif, i.e., me ;)
    automatically.

Original Motif support idea by:	graichen
1996-04-12 08:08:36 +00:00
Wolfram Schneider
5ce6c3cfe2 remove variables KMODGRP?=, KMODOWN?=, KMODMODE?=
replace ${BIN*} variables with ${KMOD*} variables

cleanup manpage code

include bsd.obj.mk
remove targets clean, cleandir, obj (included by bsd.obj.mk)
1996-04-11 23:03:10 +00:00
Wolfram Schneider
bd063a9d88 Add variable ``_MANPAGES'' This will be replace the
.if !defined(MAN1) && !defined(MAN2) ... orgy in bsd.prog.mk and
bsd.kmod.mk
1996-04-09 23:10:19 +00:00
Wolfram Schneider
cd8e84c7e1 use .for loop for common targets 1996-04-09 22:54:13 +00:00
Wolfram Schneider
fe51f2705c Add targets cleanfiles/clean, cleandir 1996-04-09 22:43:33 +00:00
Satoshi Asami
89f4624ddc Change ${ENV} -> ${SETENV}. The former coincides with startup file
names of bash et al.

Submitted by:	Thomas Gellekum <thomas@ghpc8.ihf.rwth-aachen.de>
1996-04-07 08:34:21 +00:00
Wolfram Schneider
8e1a411f0b remove BINGRP?=, BINOWN?=, BINMODE?=, STRIP?=
use .for loop for common targets
1996-04-05 22:22:44 +00:00
Poul-Henning Kamp
56bac51bc7 Pick up CWARNFLAGS from /etc/make.conf if defined. 1996-04-03 12:08:52 +00:00
Wolfram Schneider
b16495e786 add MKDEPCMD?= and DEPENDFILE?=
replace sh(1) commands with make(1) builtins
1996-04-01 18:58:28 +00:00
Satoshi Asami
25f2b0066a Thanks for the overwhelming response (which can be only summarized by the
word: "zilch").  I guess the only way to get people try and comment on
these kind of things is to shove it down their throat.... ;)

Anyway, here's a set of changes required for auto-generation of READMEs
in ports directories.  Necessary changes and additions of templates
to the ports tree will follow shortly.

Eventually I'll commit all the generated READMEs to the tree, but that
will be in the rather distant future.  For now, I encourage anyone
with a -current systam and a matching ports tree to do a "make readmes"
at the top level and see what they get.

Next step will be to add pkg/{COMMENT,DESCR} to all the categories.
1996-04-01 11:13:00 +00:00
Wolfram Schneider
05e5545fc3 add SHAREDIR?=, SHAREOWN?=, SHAREGRP?=, SHAREMODE?=,
INFOOWN?=, INFOGRP?=, INFOMODE?=

set variables recursive, eg. change KMODOWN?=bin to KMODOWN?=${BINOWN}

from NetBSD:
	add NLSDIR?=, NLSGRP?=, NLSOWN?=, NLSMODE?=,
	BSDSRCDIR?=, BSDOBJDIR?=, NOBINMODE?=
1996-03-31 23:15:17 +00:00
Satoshi Asami
54b04ea300 Change name of variable to LOCALBASE, to keep it symmetric with X11BASE,
which has been in the tree for a much longer time.

Sorry for the multiple commits and I know I shouldn't be doing this but
my hamster tells me to be orthogonal...("hey Phoenix, do you think
I should call it LOCALBASE?" "squeak" "ok, if you say so").
1996-03-31 10:35:26 +00:00
Satoshi Asami
bfe907886a Add a variable LOCAL_PREFIX that defaults to "/usr/local", as a
counterpart to X11BASE (default "/usr/X11R6").

Now PREFIX is set to ${X11BASE} or ${LOCAL_PREFIX} depending on
whether USE_IMAKE or USE_X11 is set or not.

This enables us to refer to non-X ports from X ports using
${LOCAL_PREFIX}, thus removing most of the remaining "/usr/local"s
from the ports tree.

This will also allow the system administrator to move the whole
"local" tree to somewhere else, without affecting X ports.  (Of course
not all ports are necessarily happy with that, but we're working on
it.)

Based on: an idea that came up while I was watching a football game
          several months ago ("hey, maybe I can move that sideline
          without disturbing the other!")
1996-03-31 10:02:09 +00:00
Wolfram Schneider
accb7fafc8 Obtained from: NetBSD
"obj" directory stuff work
1996-03-24 22:49:16 +00:00
Wolfram Schneider
110dbd1072 remove BINGRP?= BINOWN?= BINMODE?= 1996-03-24 00:41:11 +00:00
Wolfram Schneider
86ec11baf9 KMODDIR= -> KMODDIR?=
add INFODIR
1996-03-24 00:31:56 +00:00
Wolfram Schneider
77ad77dd74 delete LIBDIR?= LINTLIBDIR?= LIBGRP?= LIBOWN?= LIBMODE?= SHLIBDIR?=
BINGRP?= BINOWN?= BINMODE?=
1996-03-24 00:21:04 +00:00
Wolfram Schneider
9c6fe31f3d delete MANGRP?=, MANOWN?=, MANMODE?=, MANDIR?= 1996-03-24 00:08:02 +00:00
Wolfram Schneider
9e6778d48f delete ``.if ${MACHINE} == "sparc"'' 1996-03-24 00:02:38 +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
82622fe072 add DOCDIR, DOCOWN, DOCGRP, DOCMODE for documents
add LIBDIR, LINTLIBDIR, SHLIBDIR, LIBOWN, LIBGRP, LIBMODE for libs
add KMODOWN, KMODGRP, KMODMODE
new variable KMODDIR similar to BINDIR
1996-03-12 00:07:28 +00:00
Satoshi Asami
7c1b69d881 Replace PATCH_PRFX with a more generic DIST_SUBDIR. If it is set to
"foo", what this does is:

(1) Put all distfiles and patchfiles in /usr/ports/distfiles/foo

(2) Go to ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/foo when the
    master site is down

When your port has a lot of dist/patchfiles, or has a file that does
not have a very port-specific name (e.g., "Makefile"), set this
variable instead of redefining DISTDIR.  (If you redefine DISTDIR, (1)
will work but (2) will not.)

Agreed that it's a good idea by:	adam
1996-03-10 08:26:21 +00:00
Wolfram Schneider
5c2da7893a [Ee]rrs -> Errs errs, save one process for make clean 1996-03-09 23:48:55 +00:00
Wolfram Schneider
c9a41a43bc [Ee]rrs -> Errs errs
save one process for make clean
1996-03-07 23:39:46 +00:00
Satoshi Asami
6c342b58d5 Delete all references to the variable ${KEYWORD} that never quite flew.
(Sorry Jordan, but your other idea (${CATEGORIES}) was a major hit.)

Also remove the keyword field in the INDEX line and replace it with
two columns: build-time dependencies and run-time dependencies.  They
are both list of package names (minus the ".tgz").
1996-03-06 08:14:26 +00:00
Satoshi Asami
00ce5fe5f4 Replace absolute pathnames with variables, so that
(1) people can have weird paths and it will still work, and

(2) if you really need to use /usr/local/bin/cp instead of /bin/cp,
    you can do that by changing only one line.

Submitted by:	wosch
1996-03-06 08:08:16 +00:00
Jordan K. Hubbard
2178a48a11 Add a check for when the user tries to FTP over a symlink in ${DISTDIR}. 1996-02-16 11:19:00 +00:00
Mike Pritchard
e2e7e7042b Make sure that the --no-split flag gets passed to makeinfo.
Fixes PR # 1003 (gdb info files don't work).
1996-02-08 18:27:07 +00:00
Adam David
08b0d4223c correct semantic error in the English usage:
distributed patches --> distribution patches
1996-02-08 00:44:33 +00:00
Satoshi Asami
a8344ffc23 Mention "make reinstall" in the message that gets printed out when
/var/db/pkg/${PKGNAME} exists.  ("make install" will do nothing
because this is not a critical error and the installation is
treated as successful.)

Closes PR 870.
1996-02-07 09:54:23 +00:00
Andrey A. Chernov
42a43db4bb Add NCFTP tailer arguments: ${NCFTPTAIL} variable
Since it is empty in normal case, it not affect anything
It is useful for ncftp -c ugly_name > nice_name
				    ^^^^^^^^^^^ ${NCFTPTAIL}
1996-02-06 21:25:23 +00:00
John Polstra
a659df8a06 Back out my previous change, which caused c++rt0.o to be linked into
every shared library, until I can diagnose the problems it is causing
for certain programs such as awk and groff.
1996-01-21 17:26:25 +00:00
John Polstra
19851e4b7f Always link /usr/lib/c++rt0.o into a shared library. CPLUSPLUSLIB is no
longer necessary, and can be removed from Makefiles.
1996-01-17 00:03:08 +00:00
Bruce Evans
a5db65d39f Added `-Wstrict-prototypes -Wmissing-prototypes' to CWARNFLAGS so that
prototypes don't go missing again.  Also added -Winline so that some
doubtful (non-)inlines get fixed.

bsd.kmod.mk:
Also added `-Wreturn-type -Wimplicit -Wnested-externs' to catch up
with the kernel.
1995-12-16 01:57:25 +00:00
Bruce Evans
429544bb76 Added `9' to ${SECTIONS}. 1995-12-14 18:13:14 +00:00
Jordan K. Hubbard
320a586809 Add support for ALL_HOOK feature. Lets you replace the `all' target
with something of your own devising.
1995-12-07 14:11:29 +00:00
Bruce Evans
96bfa14287 Added a preprocessor for soelem. If if USE_SOELIMPP is defined, then
1. ${ROFF} is run in ${.OBJDIR}.
2. the preprocessor prefixes ${SRCDIR}/ to relative pathnames in `.so'
   statements.
This is useful when running ${ROFF} in the source directory isn't
convenient.

Added dependencies on ${EXTRA} and ${OBJS}.  These are usually for files
that are sourced indirectly.  ${OBJS} is for files that are built.
4.4lite has decentalized incomplete dependencies on ${EXTRA} and ${DPADD}.
These were broken by are centralized handling of the roff targets.
1995-11-29 16:05:08 +00:00
Satoshi Asami
a72b1b79b2 Make the {FETCH,BUILD,RUN}_DEPEND targets work with non-executable files
too.  Basically, if the name starts with a "/", it's tested with "test -e";
otherwise, it's tested with "witch -s".

Reviewed by:	the ports list (well at least nobody complained)
1995-11-26 12:35:49 +00:00
Satoshi Asami
df4f0253cd Use NO_MTREE, not !USE_X11 && !USE_IMAKE, to determine package args.
NO_MTREE should work as advertised (for both direct installation and
pkg_add) now.
1995-11-17 16:49:40 +00:00
Bruce Evans
4ff3de8e80 Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the
misplaced extern declarations (mostly prototypes of interrupt handlers)
that this exposed.  The prototypes should be moved back to the driver
sources when the functions are staticalized.

Added idempotency guards to <machine/conf.h>.  "ioconf.h" can't be
included when building LKMs so define a wart in bsd.kmod.mk to help
guard against including it.
1995-11-04 17:08:13 +00:00
Bruce Evans
eb89687138 Fix maninstall target for the NOMANCOMPRESS case. The previous revision
failed when there was an obj directory.  Use .PATH.n for installing too
so that make can find the source files.  This allows the source files to
be in several directories (the old method using cd only works well for
a single directory).  The dependencies are on the source files even for
the compressed case, although it would be more flexible to depend on the
files being installed, so that `make install' doesn't attempt to build
things

Force COPY to -c for the NOMANCOMPRESS case.  Then the files to be installed
are always sources, so they must not be moved.
1995-10-21 18:18:46 +00:00
Bruce Evans
a9076ea0bc Add `.sh' suffix and rule.
Enable `.c' rule.  (Null suffix rules were disabled because of bugs in old
versions of make.)

Add ${LDFLAGS} to all rules that involve linking.
1995-10-21 12:46:02 +00:00
Satoshi Asami
030fc19811 Back out the two latest changes. The -current branch is now equal to
the -stable branch except the change between 1.182 -> 1.183.
1995-10-17 20:58:08 +00:00
Andrey A. Chernov
d087a6170b Add NO_FETCH handling in the similar way as other NO_* targets does 1995-10-16 14:27:20 +00:00
Andrey A. Chernov
94e0871d90 Fix NO_EXTRACT case: build missing WRKDIR
Previous variant always fails on touch work/.extract_cookie
(or next following touches) because work directory not exists.
1995-10-16 14:18:22 +00:00
Poul-Henning Kamp
e9dcb6be2d An even better idea: The default will be that on _${KMOD} (_nfs_mod...) will
be exported.  This breaks the compilation of some lkms, the owners of which
is kindly requested to consider what should be exported.
1995-10-15 16:56:56 +00:00
Poul-Henning Kamp
aa9134f375 Automatically DTRT for VFS_LKM 1995-10-15 16:46:00 +00:00
John Fieber
4a00ac792d Change the default PRINTER from ps to ascii. 1995-10-15 16:14:42 +00:00
Poul-Henning Kamp
a304bf73a0 Make a rule for cleaning the namelist of lkms.
TXT & DATA symbols not explicitly mentioned will be made local.
1995-10-15 14:32:26 +00:00
Bruce Evans
e8f9a07320 Fix the support for MANSRC (it was broken by the compression changes):
use .PATH.n to get the dependencies right and to avoid some shell tests.

Remove bogus dependency of individual compressed man pages on MANDEPEND.

Use for loops to avoid duplicated code.

Combine some rm steps in installation of links.  Linking still takes too
long.
1995-10-14 08:16:04 +00:00
Satoshi Asami
d6db954117 Add "--batch" to PATCH_ARGS and PATCH_DIST_ARGS when ${BATCH} is set
to avoid an infinite loop in patch when the patch target is not found and
stdin is redirected from /dev/null (the "skip this patch? [n]" question).
1995-10-11 09:25:58 +00:00
Bruce Evans
8292bf7543 Don't run `ranlib -t' at install time. Our ld has never looked at the
timestamp on __.SYMDEF like ranlib.1 says it does, so changing the
timestamp has no benefits, and changing it breaks smart installs.
1995-10-09 05:09:37 +00:00
Andrey A. Chernov
378b2956dd Add CONFIGURE_ENV: pass this environment to configure script.
Allows pre-set some variables to eliminate wrong tests
1995-10-04 23:22:21 +00:00
Satoshi Asami
af95783f13 Attempt to sound more civilized by adding a missing period to
"Attempting to fetch from $${site}."

Why it was in PATCHFILES and not in DISTFILES, I have no idea.
1995-10-04 11:13:52 +00:00
Satoshi Asami
90594ed60e Use full pathname for ldconfig (/sbin/ldconfig).
Hinted by:	joerg
1995-10-02 22:12:47 +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
Satoshi Asami
6bb70bd415 Split EXEC_DEPENDS into FETCH_DEPENDS, BUILD_DEPENDS and RUN_DEPENDS.
They are called from the fetch, extract and install targets,
respectively.

Also, only RUN_DEPENDS is put into the @pkgdep list of the package.

EXEC_DEPENDS is still supported (for now), it is copied into
BUILD_DEPENDS and RUN_DEPENDS.  This will go away after we finish
fixing all the ports Makefiles.

This change fixes the following bug/features:

(1) "make fetch" building and installing all the dependencies

(2) Programs needed for building only (e.g., gmake) put into the
    packages' dependency lists ("why does the emacs package depend on
    gmake?")

Reviewed by:	the ports list
1995-09-18 08:01:20 +00:00
Satoshi Asami
46bce4ac74 Ignore patchfiles that end with ".orig" or "~".
Suggested by:	paul, joerg among others
1995-09-13 10:14:31 +00:00
John Fieber
614b9c68cd Now works correctly with obj directories.
FORMATS can be defined as an empty string to suppress generation or
installation of any files.  Previously setting it to "null" had that
effects.

Now uses MANOWN, MANGRP and MANMODE for installation instead of BINOWN,
BINGRP and BINMODE.
1995-09-10 21:49:24 +00:00
John Fieber
26f1808769 Fix a bug with the clean target. 1995-09-10 17:18:24 +00:00
John Fieber
e9df041096 Add bsd.sgml.mk 1995-09-08 19:27:48 +00:00
John Fieber
8b3efe0466 A makefile for sgml source files.
Reviewed by:	Rod Grimes rgrimes@gndrsh.aac.dev.com
1995-09-08 19:23:19 +00:00
Satoshi Asami
00f4a8c7f8 Don't trust ncftp's exit status, they are not indicative of whether
the file is fetched or not.  Apparently Jordan fixed it a long time
ago but it was broken again at import of the new version of ncftp.
Which means even if we fix it, it may break again and we may need to
fix it again, and (imagination here, please)....

Instead, move the file existence check into the for loop for
MASTER_SITES/PATCH_SITES and break out with "continue 2" when the file
is found.  This is actually a cleaner logic than before if you ask me,
because instead of assuming the file is fetched on a 0 exit status
from ncftp AND checking for the existence of the file after the loop,
the check is done exactly once for each iteration and nowhere else.
1995-08-29 11:57:40 +00:00
Satoshi Asami
7daa3c4b5a Clean up EXTRACT_ONLY logic a bit. Instead of branching in the
do-extract target depending on defined(EXTRACT_ONLY) or not, simply
set EXTRACT_ONLY ?= ${DISTFILES} and always use ${EXTRACT_ONLY} as
the extraction list.
1995-08-29 11:24:50 +00:00
Satoshi Asami
ade82b9b63 Merge all the "skeleton" target into one macro. This is an enormous
change, but I've been testing this on thud and silvia for quite a
while, also I haven't gotten any bug reports from the ports list, so
I'm going to let it loose!

It cleans up this file quite a bit, now I can go in and start adding
some more "interesting" things.... ;)
1995-08-18 10:06:28 +00:00
David Greenman
5a5088f183 Changed default optimization from -O2 back to -O...gcc 2.6.* has serious
bugs when using -O2.
1995-08-11 11:47:30 +00:00
David Greenman
670173822b Use lorder/tsort for shared libraries. It might help group things better.
Suggested by Garrett Wollman.
1995-08-02 22:31:52 +00:00
Garrett Wollman
d760c58fbd Use GZIPCMD to hold name of gzip command rather than just GZIP.
Submitted by: Torsten Blum
1995-07-27 15:03:27 +00:00
Garrett Wollman
91abfd343c Compress doc' and info' documents before installing them. 1995-07-26 13:51:46 +00:00
Bruce Evans
9c0dc173cc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
Satoshi Asami
2da6c2f223 Let MASTER_SITE_OVERRIDE be prepended to the MASTER_SITES list instead
of replacing it.  This way you can point it to a site close to you
that carries many distfiles, and still let it go fetch from the
original site if the distfile is not there.

Original idea by: mmead@Glock.COM
1995-07-24 08:02:07 +00:00
Jordan K. Hubbard
bf484e2f19 Simplify the USE_IMAKE stuff considerably.
Suggested by:	asami
1995-07-17 16:20:58 +00:00
Jordan K. Hubbard
90bec1c3cf A regrettable hack to allow a port to say that it doesn't want its Makefiles
made after the xmkmf run.
1995-07-15 14:07:02 +00:00
Satoshi Asami
1feb36cd2d Add IS_DEPENDED_TARGET to change the behavior of a port when you want
to do something else than "install".  For example,

make IS_DEPENDED_TARGET=fetch fetch

will fetch the required distfiles including those of the dependencies
without actually building and installing dependencies.

Also document ECHO_MSG.

Requested by:	paul
Reviewed by:	paul, jhs and others
1995-07-11 02:15:35 +00:00
Satoshi Asami
77370fd9ed Use
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/

as our distribution point for distfiles and patches.  Other than
cosmetic changes (freebsd.cdrom.com -> ftp.freebsd.org), the
omission of "ports" is important.  I would like to move this
directory completely out of the ports tree (on the ftp site),
so that people who do "get ports.tar.gz" won't get a bogus distfiles
-> ../distfiles symlink (which will make "make fetch" fail).

Sometime around the 2.1 release, the distfiles link will be deleted.
1995-06-26 07:06:59 +00:00
Satoshi Asami
b9e48987a7 Use full pathnames for the commands. Everything except gmake and
xmkmf (i.e., everything in the base distribution) should be referred
to by full pathnames.

Suggested by:	rgrimes, originally from one of his customers
1995-06-26 07:01:20 +00:00
Satoshi Asami
e8d35b806f Check if uid is 0 before running mtree. If you aren't root, you just
get a message (instead of a bunch of crap from mtree).
1995-06-26 00:30:48 +00:00
Satoshi Asami
14e07b2241 Add new option NO_MTREE. If set, bsd.port.mk won't run mtree to
set permissions and ownerships of PREFIX (usually /usr/local).  This
is the default if USE_IMAKE or USE_X11 is set.

This should be useful for machines like thud, where we want to keep
the /usr/local subtree writable to a group ("ports" in our case).  Anybody
who installs stuff in /usr/local should have this set in the environment.

Note this won't affect anything the pkg_* suite does.
1995-06-25 06:30:51 +00:00
Satoshi Asami
e26bc1e6cc Add a "checkpatch" target that does a "patch -C" instead of a "patch".
Note that the two "touch"s I took out from do-patch shouldn't have
been there in the first place.

This target may give incorrent results if two separate patches deal
with the same file, and their hunks overlap.  (But having those kinds
of patches are bad, and they should be merged anyway.)

Reviewed by:	hsu
1995-06-24 10:27:23 +00:00
Satoshi Asami
0fbb5009b2 Renamed the default package repository ".../packages/.packages" to
".../packages/All".  The "all" category that was automatically added
for every package is gone.

Note that bsd.port.mk requires category names to start with lowercase
names, otherwise it may get confused.

Reviewed by:	jkh

By the way, here is a small script to convert your local package
hierarchy.  Run it in bash, as /bin/sh not only will bark at the
$(.) command substitution but will also botch the [a-z]*/*.tgz
expansion (long-standing and annoying bug, reported before).

cd /usr/ports/packages
mv .packages All
for i in [a-z]*/*.tgz; do
  j=$(basename $i)
  /bin/rm $i
  ln -s ../All/$j $i
done
1995-06-06 10:56:34 +00:00
Satoshi Asami
7ee5520fc3 Remove comment about not being able to undefine a variable, as we *can*
do that.
1995-05-29 13:46:38 +00:00
Satoshi Asami
d5531570b4 Fix the indent level. I know we're in code freeze, and this is
one of the key components of the system, but I'm sure that this:
===
-               ${ECHO_MSG} "===> Registering installation for ${PKGNAME}"; \
+               ${ECHO_MSG} "===>  Registering installation for ${PKGNAME}"; \
===
change has absolutely no chance to screw us up, right? :)
1995-05-16 10:31:25 +00:00
Satoshi Asami
563120df88 Don't conditionalize fake-pkg on NO_PACKAGE. 1995-05-13 23:37:16 +00:00
Satoshi Asami
2914e4f239 Add FORCE_PACKAGE, if this is defined, NO_PACKAGE will be turned off.
Ports for which we can't build packages should define NO_PACKAGE but
still prepare pkg/* files.  The user who really wants a package and
clear of the legal problems can say FORCE_PACKAGE from the command line
to build a package anyway.
1995-05-13 05:37:45 +00:00
Satoshi Asami
9f3f196b2c When NO_PACKAGE is set, "package" and "repackage" don't depend on
"install".  In other words, they won't do anything at all.
1995-05-12 08:44:12 +00:00
Satoshi Asami
a11b461203 Not only deleting the package and package links, also exit with status
1 if pkg_create returns error!
1995-05-12 07:43:48 +00:00
Satoshi Asami
25254cc62d Delete package and links when pkg_create fails. 1995-05-12 07:32:59 +00:00
Satoshi Asami
827039417c Add new variable to override the "hey foobar-1.2.3 is already installed"
warning from fake-pkg.
# FORCE_PKG_REGISTER - If set, it will overwrite any existing package
#                      registration information in ${PKG_DBDIR}/${PKGNAME}.
1995-05-10 09:30:09 +00:00
Rodney W. Grimes
0f9b873be7 Change install: to afterinstall: to be more consistent. 1995-05-09 10:12:16 +00:00
Satoshi Asami
94c600b239 Make the "reinstall" target delete the package cookie as well as
the install cookie.
1995-05-09 00:31:54 +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
Adam David
0b3de6080b added support for distribution patches in a subdir of ${DISTFILES} 1995-05-04 18:53:26 +00:00
Jordan K. Hubbard
628bb93361 Put an `@' in front of the mtree command. I don't want to see it. 1995-05-04 13:14:16 +00:00
Jordan K. Hubbard
d6d644f14f Add an mtree line to the install target. 1995-05-02 13:49:01 +00:00
Satoshi Asami
8e7c35dd1a A bunch of new targets in the package area. Relevent targets are:
package:           check installation, build package, create links,
                   touch cookie
repackage:         ditto but don't check cookie
package-noinstall: just build package from installed stuff, no cookies
                   involved at all
package-links      create the symbolic links only
delete-package:    delete package and symbolic links
delete-package-links: delete links only

These should make the management of the spaghetti of package links
a little friendlier. :)
1995-04-30 12:28:43 +00:00
Jordan K. Hubbard
6db578a60b Pass X11BASE to all sub-makes. I need it for a port, and I daresay that
there are a lot of hardwired "/usr/X11R6" paths out there that could stand
to use it as well.
1995-04-28 15:40:37 +00:00
Jordan K. Hubbard
6dbad786ae Add LIBFTP. 1995-04-26 14:34:19 +00:00
Satoshi Asami
570e661f02 (1) Add the chain of dependencies to the targets in the NO_* section
too (otherwise the chain won't work).
(2) If NO_WRKDIR is set, "make clean" removes "./.*_done" (assuming
    these are cookies...or should I list all the cookies?)
1995-04-24 10:41:51 +00:00
Satoshi Asami
c046aaad20 Move call of fake-pkg from do-install to end of install. 1995-04-24 09:05:34 +00:00
Jordan K. Hubbard
ffa6d17f61 Ok, this should get the last of the stragglers installed into a new fake-pkg. 1995-04-22 01:22:49 +00:00
Jordan K. Hubbard
ca22b5aa87 Don't try to run the fake-pkg target if NO_PACKAGE is set. 1995-04-22 00:08:06 +00:00
Jordan K. Hubbard
405b7c80bd Typo: patch -> package 1995-04-22 00:05:46 +00:00
Jordan K. Hubbard
b79219d31a Instead of copying PLIST over, run pkg_create in a special mode that dumps
the fully-formed PLIST to stdout and uses that.
1995-04-22 00:01:26 +00:00
Satoshi Asami
60ee8ee7cb Major overhaul. The major targets (fetch, extract, patch, configure,
build, install) are now all skeletons and do nothing but

(1) Call pre-* target (if exists)
(2) Call scripts/pre-* script (if exists)
(3) Call do-* target
(4) Call post-* target (if exists)
(5) Call scripts/post-* script (if exists)

The do-* targets do all the work.  The pre-* and post-* targets/scripts
don't exist by default.  The main targets check for the cookies too, so
porters shouldn't have to worry about them at all.

NOTE: THE MAIN TARGETS IN THE PORTS MAKEFILES SHOULD GO AWAY.  We need
to fix this before wcarchive comes back up.  Change the names to do-*,
rip out the cookies, rip out the calls to pre-* etc. and most of them
should work.

Also, reorganize the whole thing so that similar targets are together
and add more comments.  Surround section header with 64 #'s (C-u C-u
C-u # in emacs :).

Hopefully this will be the last major change to bsd.port.mk.  Now let
the Makefile-hacking begin.
1995-04-20 18:03:02 +00:00
Jordan K. Hubbard
0892118cdf 1. Add Satoshi's much-requested "fake pkg_add" option to the installation
rule.

2. Have all non-X11 prefix using packages include the BSD.local.dist mtree
   file for initialization of /usr/local.  I'm still not sure if this is
   A Good Thing(tm) but I'll see what the users say.  It's easily overridden.

3. Standardise on ${PKG_DBDIR} as pointer to /var/db/pkg or local preference.
1995-04-19 15:02:26 +00:00
Satoshi Asami
f744a9768e Use PKGNAME in the "describe" target (used to generate INDEX) too.
Didn't make sense to have two ports with the same name.
1995-04-18 08:24:18 +00:00
Satoshi Asami
60f1eb26c1 Use PKGNAME instead of DISTNAME in messages. To avoid things like
"Building for WWW" (pops up in two different ports) "Installing for
web2c-6.1" (ditto), which aren even't reminiscent of the port's real
name.

Sorry jmz, please don't go fix the print Makefiles' own messages.
We are going to take them out after we do the great bsd.port.mk
update anyway.
1995-04-18 08:18:27 +00:00
Satoshi Asami
824cc0cc5d "package" now depends on "install", so we can do "make -k package" from
the top level and have the build-package sequence of each port work
together.

For the old behavior (i.e, just go ahead and blindly pack everything up,
regardless of the contents of work/), there is a new target "repackage".
1995-04-17 06:39:05 +00:00
Satoshi Asami
19eddad0a8 "all" now depends on "build", not "extract configure build".
Since "build" depends on "configure", which depends on "patch", etc.,
this shouldn't disrupt any Makefile that doesn't break the dependency
chain.

The old behavior was very annoying because when I did a "make -k",
it would still try to go configure and build even if the extraction
failed.
1995-04-17 06:28:15 +00:00
Satoshi Asami
825402c2ab Yikes...typo (.package/ should have been .packages/). 1995-04-15 23:56:29 +00:00
Jordan K. Hubbard
9e87dd6ab1 Don't pass duplicate pkgdeps to pkg_create 1995-04-10 08:09:21 +00:00
Jordan K. Hubbard
a8f0877be0 Add new -P argument to pkg_create. 1995-04-09 15:00:56 +00:00
Jordan K. Hubbard
489c51e631 Add 2 new targets to facilitate some things I'm thinking about.
1.  package-name
	Simply echos the associated package name for a port (if any).
2.  package-depends
	Shows all package names on which this port depends.
1995-04-09 12:27:58 +00:00
Jordan K. Hubbard
c4fb365962 1. Fix the first line (should be a proper comment - silly emacs).
2. KEYWORDS+= CATEGORIES
3. CATEGORIES+= all (always want to be in "all"!)
1995-04-09 10:24:09 +00:00
Satoshi Asami
3d0c66c99a Add support for categorized subdirectories for packages. By default,
all .tgz files go to /usr/ports/packages/.packages, and a relative
symlink is created for every item in CATEGORIES...i.e., if "CATEGORIES
= foo bar", then /usr/ports/packages/{foo,bar}/pkgname.tgz both point
to /usr/ports/packages/.packages/pkgname.tgz.

Suggested by:	jkh
1995-04-09 09:59:42 +00:00
Jordan K. Hubbard
30854325fe Add USE_X11 for ports which are X11 users but don't use IMAKE. 1995-04-04 05:57:19 +00:00
Gary Palmer
9a8496fd7b Remove a `.' from the end of the echo line
`>> Attempting to fetch from $${site}' as it is misleading
1995-04-04 04:23:37 +00:00
Jordan K. Hubbard
a6ae8257a8 By default, KEYWORDS is a copy of CATEGORIES. 1995-04-01 10:01:49 +00:00
Jordan K. Hubbard
c9cf4a47d8 Add default values and document them for CATEGORIES and KEYWORDS. 1995-04-01 09:35:29 +00:00
Jordan K. Hubbard
2cc9ea7aee Add support for new CATEGORIES and KEYWORDS fields. 1995-04-01 09:34:11 +00:00
Nate Williams
a01bd386af Do what should have been done in v1.14
*Really* strip out unused local symbols from shared objects.

This was a typo on my part caused by an assumption that the profiled
libraries stripped symbols that same way as the non-profiled libraries.

Cut-n-Paste strikes again.

Obtained from: NetBSD
1995-03-28 17:54:11 +00:00
Satoshi Asami
df32d0cc55 Add support for "distributed" patches and a little extra cleanup.
New variables:

PATCH_SITES:	patch equivalent of MASTER_SITES, overridable with
.		MASTER_SITE_OVERRIDE.
PATCHFILES:	Additional files to fetch and give to patch before
.		applying the ones in patches/patch-*.  If name ends
.		with ".gz" or ".Z", it will be piped through zcat first.

Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.

In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.

"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this.  I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
Satoshi Asami
32c4c80bff Added more standard package suport file names. INSTALL for the
installation script, DEINSTALL for the deinstallation script, and
REQ for the requirement script, will be added with appropriate
flags to PKG_ARGS if they exist under pkg/.
1995-03-27 13:11:18 +00:00
Gary Palmer
c534dadbfe Add a misssing `@' from before echo -n "|${MAINTAINER}" 1995-03-23 20:42:42 +00:00
Jordan K. Hubbard
5abc844b74 Add maintainer to the index line. 1995-03-22 21:46:04 +00:00
Jordan K. Hubbard
2d333dc2dd Add new EXTRACT_BEFORE_FLAGS and EXTRACT_AFTER_FLAGS variables to make
complex extraction rules easier.
1995-03-22 21:28:31 +00:00
Jordan K. Hubbard
2efda52f23 Make the fetch message a little more interesting and informative. 1995-03-21 22:43:36 +00:00
Jordan K. Hubbard
3dd8895eb8 Add fetch-list command for Rod
Use ECHO_MSG macro for printing "===>" line things so that I can now turn
those OFF when I don't want them.
1995-03-21 03:59:13 +00:00
Jordan K. Hubbard
bc202f1b6e Make the describe rule generate more thorough information that's actually
of use to a front-end program.  Back out my bogus description of the `index'
target! :-)
1995-03-21 01:51:12 +00:00
Jordan K. Hubbard
9608972d54 Document the index target. 1995-03-21 01:31:43 +00:00
Garrett Wollman
27a15c94ed Add support for pseudo-device LKMs. 1995-03-20 19:18:51 +00:00
Andreas Schulz
261bbea610 Don't do anything if BATCH is specified and the port is interactive for
the package target.The port may is not build and the package fails
otherwise.
1995-03-20 00:41:36 +00:00
Andreas Schulz
0bc6b9462b Change the xmkmf call to a xmkmf -a call. This should be more correct for
all X11R5 and X11R6 ports. This is the way how it should be normally
used according the manuals. Only pre-X1R5 ( X11R4, X11R3) ports can't
handle it.
1995-03-19 12:49:06 +00:00
Rodney W. Grimes
812a118139 Add protected and empty maninstall: targets.
Submitted by:	Philippe Charnier <charnier@lirmm.fr>
1995-03-10 08:54:42 +00:00
Andras Olah
1dcbf7af64 LIBPCAP -> ${DESTDIR}/usr/lib/libpcap.a 1995-03-08 09:01:32 +00:00
Gary Palmer
3c4d31f1c8 Add support to miss out ``DUDS'' subdirectories. See thread in freebsd-ports
for more.
1995-03-03 23:30:32 +00:00
Jordan K. Hubbard
0722449a9b Back out my previous change. I need to really think about this. 1995-03-03 07:42:10 +00:00
Jordan K. Hubbard
493d75a9d5 A small feature just for my own use. 1995-03-03 06:53:27 +00:00
Poul-Henning Kamp
ffd87c071d "make distribute" have changed, beware if you use it. 1995-02-25 20:51:14 +00:00
Jordan K. Hubbard
664b5e14dc Always go to ${WRKDIR} before extraction. Modify the tar extract command
args to take advantage of this.
Pointed-out-by: asami
1995-02-17 08:52:55 +00:00
Gary Palmer
05002e8cb5 Make the checksum target not bomb out if there is a mismatch, just
print a warning. A better fix will come along just as soon as I
work out what it is.
1995-02-14 21:29:28 +00:00
Poul-Henning Kamp
d80a026702 Make sure that info files never hit the "bin" dist. 1995-02-11 05:28:31 +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
Jeffrey Hsu
e687de7a15 Allow arbitrarily named configure script for use w/ HAS_CONFIGURE. 1995-02-06 08:52:19 +00:00
Poul-Henning Kamp
4620f0962b Use absolute path to md5 program. It lives in /sbin and people are unlikely
to have $PATH to it.
1995-02-04 22:56:28 +00:00
Satoshi Asami
94dcffca87 Add long-awaited (:) support for sophisticated dependency checking. We now
have three variables:

EXEC_DEPENDS	- A list of "prog:dir" pairs of other ports this
		  package depends on.  "prog" is the name of an
		  executable.  make will search your $PATH for it and go
		  into "dir" to do a "make all install" if it's not found.
LIB_DEPENDS	- A list of "lib:dir" pairs of other ports this package
		  depends on.  "lib" is the name of a shared library.
		  make will use "ldconfig -r" to search for the
		  library.  Note that lib can be any regular expression,
		  and you need two backslashes in front of dots (.) to
		  supress its special meaning (e.g., use
		  "foo\\.2\\.:${PORTSDIR}/utils/foo" to match "libfoo.2.*").
DEPENDS		- A list of other ports this package depends on being
		  made first.  Use this for things that don't fall into
		  the above two categories.

DEPENDS behaves exactly like before, so old Makefiles will still work
the same.  The two variables are lists of pairs as described above.

For instance, if your program depends on unzip and libjpeg.5.*, use
the following definitions:

EXEC_DEPENDS=	unzip:${PORTSDIR}/archivers/unzip
LIB_DEPENDS=	jpeg\\.5\\.:${PORTSDIR}/graphics/jpeg

gmake:${PORTSDIR}/utils/gmake is automatically added to EXEC_DEPENDS
if USE_GMAKE is defined.

If NO_DEPENDS is defined, the list will just be printed out one by one.
1995-02-04 05:49:26 +00:00
Jordan K. Hubbard
5143382afe Create an obj symlink when necessary.
Submitted by:	"Remy CARD" <Remy.Card@masi.ibp.fr>
1995-02-02 04:53:30 +00:00
Gary Palmer
cc715f2bca Start the ball rolling by sticking a
MAINTAINER?= line in here.

Idea by: jkh@FreeBSD.ORG
1995-02-01 21:47:57 +00:00
Jordan K. Hubbard
3f4fff96f9 Make fetch a bit more forgiving of subdirs. 1995-01-30 10:06:56 +00:00
Jordan K. Hubbard
6098353123 Add LN_FLAGS to all the places it makes sense. 1995-01-30 07:22:02 +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
Jordan K. Hubbard
ad1565eef3 NOOBJS was bogus - use the already extant `NOOBJ'. 1995-01-24 17:50:30 +00:00
Jordan K. Hubbard
62ef745576 Add the ability to say `NOOBJS' to indicate that the target has no object
files.
1995-01-24 17:33:22 +00:00
Jordan K. Hubbard
825de56725 Fix bogus tab in makesum target. 1995-01-24 02:41:52 +00:00
Jordan K. Hubbard
8d81c12227 Whomever put the depend rule in screwed it up. Fix it. 1995-01-23 20:53:38 +00:00
Jordan K. Hubbard
1df516f280 Eliminate a bogus stray tab. 1995-01-23 20:50:56 +00:00
Jordan K. Hubbard
7b2bb0fb79 Set PREFIX in the build target. Suggested by John Fieber. 1995-01-23 18:22:36 +00:00
Gary Palmer
74d7962900 Oops. Fix up the checksum routine - my last commit broke it slightly. 1995-01-22 20:40:48 +00:00
Andrey A. Chernov
3ece328451 Put brackets around EXTRACT_CMD, can be several commands here 1995-01-17 23:55:53 +00:00
Andrey A. Chernov
3a99ffc355 Remove -Wall for ascii formatting, we don't need so many
warnings while formatting standard BSD docs
1995-01-17 22:04:38 +00:00
Andrey A. Chernov
932c9d1896 Modify prev. change, pass internal args directly to groff,
if PRINTER == ascii, because nroff shell script strip off
some groff flags
1995-01-17 21:36:06 +00:00
Andrey A. Chernov
a812882b19 Call nroff, if PRINTER == ascii 1995-01-17 21:27:30 +00:00
Gary Palmer
2db2081438 Correct a small problem in that when there isn't a checksum for that
particular file, but there is a files/md5, it reports that it failed
the checksum
1995-01-16 23:33:08 +00:00
Garrett Wollman
e7f8d55240 Slightly more complete implementation of SUBDIR for libraries. 1995-01-14 22:18:15 +00:00
Garrett Wollman
83fc2a702a Add SUBDIR facility to bsd.lib.mk like in bsd.prog.mk. 1995-01-14 22:14:54 +00:00
Jordan K. Hubbard
314bc6245e The enclosed patch makes bsd.doc.mk consistent with bsd.prog.mk
when creating the obj link.  While bsd.prog.mk inconditionnaly creates
a link in /usr/obj, bsd.doc.mk tests if the source tree is contained in
/usr/src.  If so, it creates a link to /usr/obj.  If the source tree
is contained in another directory, bsd.doc.mk creates an obj subdirectory.
Submitted by:	Remy Card <Remy.Card@masi.ibp.fr>
1995-01-14 19:49:54 +00:00
Jordan K. Hubbard
af8dd62b9a The enclosed patch is a cosmetic change to bsd.prog.mk. When
a program directory has subdirectories, make now prints "===> dir/subdir"
instead of "===> subdir".  This is modeled after the rules contained in
bsd.subdir.mk.

Submitted by:	Remy Card <Remy.Card@masi.ibp.fr>
1995-01-14 19:48:49 +00:00
Jordan K. Hubbard
d9584d768f Change DISTRIBUTION names. Also make bsd.doc.mk go to doc distribution,
not bin.  Hmmm.
1995-01-14 07:51:10 +00:00
Jordan K. Hubbard
533c1db8da Whoops! Correct cut-and-paste gaffe. 1995-01-12 08:21:31 +00:00
Jordan K. Hubbard
161e6a3e83 Add an ID line at the top (this thing still needs some sort of
copyright, Andrew).
Add support for the distribute target.
1995-01-12 08:20:25 +00:00
Andrey A. Chernov
41c4bc57c7 Use absolute path for install passed to configure
to disallow prepending ../ in second level Makefiles
1995-01-12 02:29:42 +00:00
Garrett Wollman
9e681ba3da Always delete ${DOC}.ps and ${DOC}.ascii in the clean target, no matter what
${PRINTER} is set to.
1995-01-11 19:58:03 +00:00
Satoshi Asami
fb097df2ce Typo! 1995-01-11 08:53:28 +00:00
Satoshi Asami
1deaf2e347 Add missing ! in front of pipeline for extract commands---otherwise
it would exit on *successful* extraction.
1995-01-11 08:50:48 +00:00
Garrett Wollman
be3dff6e36 Add .MAIN: all so that extraneous targets don't confuse `make'. 1995-01-11 02:41:09 +00:00
Garrett Wollman
d448c6a94f Add standard before/real/afterinstall support like in bsd.prog.mk. 1995-01-11 02:27:01 +00:00
Garrett Wollman
83a924ecc9 Fix last .endif. 1995-01-11 02:06:58 +00:00
Garrett Wollman
25514a1236 Changes to make /usr/share/doc work somewhat right. (SMM commits
to follow soon.)
1995-01-11 00:00:11 +00:00
Jordan K. Hubbard
8b9d60735d Catch case where extraction fails. Thanks! 1995-01-10 12:23:44 +00:00
Andrey A. Chernov
e9474ecf20 Use .MAIN: all 1995-01-07 16:39:38 +00:00
Andrey A. Chernov
10d65ca957 Move pre-extract target inside COOKIE
Add checksum check for extract, if checksum file present
1995-01-06 22:14:12 +00:00
Satoshi Asami
d5ca901589 Sort out dependencies. Now they look like:
patch: extract
configure: depends patch
build: configure
install: build

Does this look ok?
1995-01-05 08:15:53 +00:00
Jordan K. Hubbard
edf9e79525 Typo fix from Ollivier Robert.
Submitted by:	ollivier
1995-01-05 02:15:05 +00:00
Jordan K. Hubbard
333881d516 Rename check-md5 target to checksum.
Submitted by:	gpalmer
1995-01-05 01:46:05 +00:00
Jordan K. Hubbard
e5d85be85c Gary Palmer's patches for checksumming and description.
Submitted by:	gpalmer
1995-01-04 23:06:38 +00:00
Andrey A. Chernov
8558dc3f69 Fix BINMODE to override sys.mk defaults 1995-01-04 22:43:52 +00:00
Andrey A. Chernov
b4289364f2 Remove INSTALL, now into sys.mk 1995-01-04 22:32:40 +00:00
Andrey A. Chernov
4b99b57547 Fix building of target with multiply sources 1995-01-04 22:01:58 +00:00
Andrey A. Chernov
69234255f2 Fix error in clean target 1995-01-04 21:34:13 +00:00
Andrey A. Chernov
0133d0c591 Much improved variant 1995-01-04 21:29:32 +00:00
Jordan K. Hubbard
2511bc4a15 Put depends before configure. No reason that I can see for putting it after,
and it breaks mule the way it is now.
1995-01-04 09:58:39 +00:00
Jordan K. Hubbard
bb3c97bf74 Some of the doc here was less than adequately fleshed-out. Make some
feeble attempt to do so.
1995-01-04 08:30:33 +00:00
Jordan K. Hubbard
ad2a7583d6 Document describe target. 1995-01-04 07:35:46 +00:00
Jordan K. Hubbard
c723fc3fc8 Add describe target support. 1995-01-03 11:52:01 +00:00
Bruce Evans
b57826604c Install bsd.info.mk. 1995-01-03 06:32:10 +00:00
Bruce Evans
71e8daee66 A generalized version of revision 1.1 of gnu/libnexex/uucp/doc/Makefile.
Fixes bugs in the latter: the `all' target was never up to date; there
was no `depend' target.  Doesn't work for multiple info files because
it leverages bsd.doc.mk and that is broken.  Info should be installed
more like man pages...
1995-01-02 12:12:00 +00:00
Bruce Evans
85ae1cf1dc Remove `MKDEP= -p'. Now I know why lkm compiled so fast after headers
are changed.
1995-01-01 21:11:55 +00:00
Andrey A. Chernov
c9c9b4072b Preset ac_cv_path_CC="${CC}" before running ./configure,
needed for Autoconf 2
1995-01-01 20:06:20 +00:00
Andrey A. Chernov
1974136822 Oops, forget "" for ${CC} and ${CFLAGS}... 1994-12-28 04:17:54 +00:00
Andrey A. Chernov
95f1b49e83 Set proper INSTALL* variables before running ./configure 1994-12-28 04:14:19 +00:00
Andrey A. Chernov
c74995075b Move INSTALL?=install line duplicated into each .mk to sys.mk
instead
1994-12-28 03:51:03 +00:00
Andrey A. Chernov
af87f3630b Use CFLAGS=${CFLAGS} ./configure to avoid picking dumb GNU -g default 1994-12-28 03:30:21 +00:00
Andrey A. Chernov
e887886391 Use "CC=${CC} ./configure" to avoid usage of debugging 'gcc' 1994-12-28 03:21:16 +00:00
Andrey A. Chernov
0cd1222834 Remove -T from ar, nm fixed now 1994-12-28 00:49:58 +00:00
Andrey A. Chernov
53df92ac8d Add T option back to ar until nm will be fixed. Sorry, nate. 1994-12-24 10:07:51 +00:00
Nate Williams
45f4664c72 Strip out unused local symbols from shared objects, and no longer
truncate archive members to 15 characters since it's no longer
necessary.
1994-12-23 22:50:45 +00:00
Bruce Evans
14c28f38a8 Don't use `MKDEP= -p' even for the case of a single source file since we
always make an intermediate object file.
1994-12-22 17:20:52 +00:00
Gary Palmer
6d97ec5daa Put dummy targets for make-md5 & check-md5 inside a
NO_EXTRACT ifdef so that tcpblast doesn't muck
things up
1994-12-17 21:29:38 +00:00
Gary Palmer
cf6be75886 bsd.port.mk: missing semicolon added
bsd.port.subdir.mk: added check-md5 as target
1994-12-17 20:50:44 +00:00
Andrey A. Chernov
50da78da7c Automatically add gmake to DEPENDS, if USE_GMAKE 1994-12-17 02:37:26 +00:00
Andrey A. Chernov
a7e957efb2 Don't use build: ... pre-build, move pre-build inside
BUILD_COOKIE instead
1994-12-17 01:58:11 +00:00
Andrey A. Chernov
f9ff1b665d patch: pre-patch ... is wrong, move pre-patch
inside PATCH_COOKIE
1994-12-14 05:53:09 +00:00
Jean-Marc Zucconi
e40adb1bbd Added '${GMAKE} install.man' when installing with Imake and gmake 1994-12-12 22:32:30 +00:00
Gary Palmer
ad19367c21 Early md5-checksumming code. This seems to work fine on my machine
but needs more testing on more ports than I have on my box.
1994-12-11 20:36:12 +00:00
Gary Palmer
b3ac125106 Last gremlin-killer of the day. Typo fixed and missing .endif replaced. 1994-12-11 15:31:22 +00:00
Gary Palmer
d628b1f606 <Sigh> Got the placing of a .if wrong. Fix it. 1994-12-11 14:50:40 +00:00
Gary Palmer
8a7c3fffc6 Erk. Damn. A hash perfixing a comment was lost somewhere.
Fixed.
1994-12-11 14:12:30 +00:00
Gary Palmer
e0e109abe7 1) Small tidyup
2) Change INSTALL_MANPAGES to NO_INSTALL_MANPAGES and document it

3) Add a PKGNAME variable to allow the package name
   not to be dictated by stupid DISTNAMEs

4) Add a PATCH_DEBUG option and a slight change to the default
   patch system - add --forward to help ensure correct patching
1994-12-10 18:07:38 +00:00
Andrey A. Chernov
5ddddc4827 Change wrong comment: NCFTP_ARGS --> NCFTPFLAGS 1994-11-25 17:04:02 +00:00
Andreas Schulz
0512285fe2 Don't use a rm -rf WORKDIR if NO_WRKDIR is defined. You have a good chance
to blow away your current dir, because WRKDIR == CURDIR. This should
help tcpblast to not blow away itself in the clean target :-).
1994-11-21 10:30:37 +00:00
Jordan K. Hubbard
30229c536a Add reinstall. 1994-11-17 16:02:56 +00:00
Jordan K. Hubbard
4b75ea3568 There seems to be some trouble with install.man working right everywhere.
Conditionalize it off of INSTALL_MANPAGES until I can figure out just
why some X ports seem to like it and others not.
1994-11-17 15:46:27 +00:00
Jordan K. Hubbard
ee5b1a1e22 Whoops! Typo. Correct. 1994-11-17 10:07:45 +00:00
Jordan K. Hubbard
07f6028ea8 I found today that making packages for X11 ports wasn't working.
Further investigation showed that prefix was erroneously set to /usr/local
for X11 based ports as well, when the assumption was that they'd really go
into ${X11BASE} (an /etc/make.conf variable that the user's free to set).

Set X11BASE to /usr/X11R6 if the user hasn't already, and assume that
the user really wants prefix to point there when the port is XMKMF based.
1994-11-17 10:06:03 +00:00
Jordan K. Hubbard
fcd2dde4e0 Add support for NO_WRKDIR. 1994-11-17 00:25:16 +00:00
Jordan K. Hubbard
f877e878c9 2 new concepts that just occurred to me:
MASTER_SITE_OVERRIDE - 	If set in the environment, will override everyone's
	MASTER_SITES settings.  Useful if you'd prefer to point to a
	distfiles repository somewhere closer.

MASTER_SITE_FREEBSD  -  Sets OVERRIDE to be FreeBSD's own master repository.
1994-11-17 00:18:28 +00:00
Jean-Marc Zucconi
1876ac94a7 If USE_GMAKE is defined, use ${GMAKE} in ${XMKMF} && ${MAKE} Makefiles 1994-11-16 23:14:22 +00:00
Jordan K. Hubbard
041c2641f1 Make depends a separate target. Now you can select when the dependency
list is traversed.
1994-11-15 10:16:56 +00:00
Bruce Evans
baa5e01a32 This change was actually made in the previous revision:
Define SHLIBDIR?= ${LIBDIR} and install shared libraries in
${DESTDIR}${SHLIBDIR} instead of in ${DESTDIR}${LIBDIR}.
SHLIBDIR may be defined in /etc/make.conf to override the
default of /usr/lib (I use /lib).  Other changes are required
for non-default shared library directories to actually work
(ld* and crtso have too many hard-coded paths).

Bruce
1994-11-14 06:28:20 +00:00
Bruce Evans
2175e44a77 Define `RANTOUCH?= ${RANLIB} -t' and use it instead of ${RANLIB} -t.
RANTOUCH may be defined in /etc/make.conf as
`${ECHO} skipping ${RANLIB} -t' to help stop `make install' from
changing the timestamps on unchanged libraries, thus making the
uninstalled binaries appear to be out of date...  Other changes
are required to stop install from clobbering the timestamps.
1994-11-14 04:55:39 +00:00
Bruce Evans
3ecb436950 Define LIBEDIT, LIBGCC, LIBKVM, LIBSCRYPT and LIBY.
Comment about missing libraries for LIBDES, LIBKDB, LIBKRB, LIBMP, LIBPC
and LIBPLOT.

Don't define LIBDBM since it was replaced by db in libc.

Remove duplication.  ${DESTDIR}/usr/lib/... gives /usr/lib/... even when
DESTDIR is not defined.
1994-11-14 04:28:44 +00:00
Poul-Henning Kamp
55ff8fb132 Add a new "distribute" target. This is a variant of install, which will
put the stuff into the right "distribution".  As default things end up
in "bindist".

Normal (ie: most) makefiles know naught of this.

More commits will follow, which will direct various parts of the tree
into the distribution we want them in.

Some of the grief of being release-engineer is supposed to go away with this.
1994-11-13 21:05:28 +00:00
Jordan K. Hubbard
ff47faa890 Add patch cookies. This should prevent gratuitous patch re-application
attempts.
1994-11-11 09:45:33 +00:00
Poul-Henning Kamp
957c663526 Update make.conf and sys.mk to reflect the most recent advances in
civilization:  Use -O2 and MSUN as default, and X11 is in /usr/X11R6
1994-11-07 04:18:04 +00:00