Commit Graph

624 Commits

Author SHA1 Message Date
asami
8bd2231427 Make explanation of BUILD_DEPENDS less confusing.
Requested by:	Narvi <narvi@haldjas.folklore.ee>
1996-08-07 08:25:08 +00:00
jkh
fe934263a5 Use tsort -q 1996-08-03 06:43:05 +00:00
jkh
cf1f09a9b8 The clean rule in here was bogus. 1996-07-27 22:16:54 +00:00
andreas
22065bc8a4 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
cd1c2bcced Fix the recently added whereobj target.
Add missing end-of-line backslash
Remove two extra @ characters
1996-07-14 11:09:12 +00:00
pst
14663b3ecb Add whereobj target to find that pesky obj dir 1996-07-12 06:01:55 +00:00
jkh
9291266f0c Remove now-unused SRC_ENCAPSULATION hack. 1996-07-05 06:12:12 +00:00
jkh
e834875614 Fix the ordering dependency I broke. 1996-06-30 22:16:19 +00:00
phk
6d4faa5ec8 Make cleandirs more safe
Suggested by:	bde
1996-06-29 03:12:49 +00:00
gpalmer
149b699e14 Add a missing space in a comment 1996-06-26 21:12:28 +00:00
jkh
ae98c07992 Add default targets for cleandepend and objlink.
Submitted by:	Michael Hancock <michaelh@cet.co.jp>
1996-06-24 21:33:23 +00:00
jkh
8eb37231d4 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
gpalmer
7c8c0e29b1 Correct spelling errors (i before e except after c :-) )
Submitted by:	James Raynard <jraynard>
1996-06-22 21:20:56 +00:00
phk
e1fc172426 Add man-page section 'n' and LIBTCL macro. 1996-06-22 06:01:57 +00:00
jkh
81f1ce396a Handle the `distribute' target. 1996-06-20 23:52:45 +00:00
jkh
dc39aea8d0 Whoops - I made `make clean' chatty by mistake. 1996-06-20 18:51:28 +00:00
asami
8980001a22 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
jkh
b449f32b7d 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
jkh
5951e4c570 Ok, now cleandir: is correct. 1996-06-19 01:26:18 +00:00
jkh
6c969f4ec0 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
phk
e96f6124d1 Add support for ${CLEANDIRS} that will be rm -rf'ed during clean & cleandir. 1996-06-17 15:59:52 +00:00
bde
62c6661fc4 Synced with Makefile.i386: added -Wunused. 1996-06-17 15:11:10 +00:00
jkh
672da9a3d0 Add LIBFTPIO 1996-06-17 12:31:02 +00:00
asami
6514dd9d22 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
jfieber
3fb9ff7e6c Fix incorrect handling of .cxx files in default rules. 1996-06-03 13:26:16 +00:00
phk
79ea4b1fca Back out yacc change. 1996-06-02 17:04:08 +00:00
asami
4629e40071 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
phk
83a65a2744 Make the yacc rules reentrant
Suggested by:	peter
1996-05-30 20:39:45 +00:00
asami
a28a78041a 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
phk
f395b616d3 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
wosch
f2d4e83437 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
wosch
71de83ff60 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
wosch
0c6fd6b34b Add some comments for variables and targets. 1996-05-25 23:09:49 +00:00
wosch
80fb81a0a6 speedup MLINKS 1996-05-25 21:50:54 +00:00
phk
a6c3d6a661 Make some rules reentrant, and mark the onces that cannot be. 1996-05-09 13:01:44 +00:00
jkh
277b92f12a Fix a minor grammatical error (reselled -> resold) I just noticed. 1996-04-27 18:36:02 +00:00
asami
24656d4f99 Add CFLAGS=${CFLAGS} to MAKE_ENV, otherwise gmake won't pick it up. 1996-04-26 10:09:06 +00:00
wosch
b0ccfc5ff3 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
jdp
34e576f18f 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
wosch
0bf2c140a9 install bsd.obj.mk
Submitted by:	Asami
1996-04-12 11:13:29 +00:00
asami
699b9de773 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
wosch
791b2ca0a6 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
wosch
3508394479 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
wosch
832bcac465 use .for loop for common targets 1996-04-09 22:54:13 +00:00
wosch
50c95294f0 Add targets cleanfiles/clean, cleandir 1996-04-09 22:43:33 +00:00
asami
4a1e91b17b 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
wosch
799bd81e01 remove BINGRP?=, BINOWN?=, BINMODE?=, STRIP?=
use .for loop for common targets
1996-04-05 22:22:44 +00:00
phk
7ab974cf9c Pick up CWARNFLAGS from /etc/make.conf if defined. 1996-04-03 12:08:52 +00:00
wosch
56f847b9be add MKDEPCMD?= and DEPENDFILE?=
replace sh(1) commands with make(1) builtins
1996-04-01 18:58:28 +00:00
asami
1f5b975f61 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
wosch
4326efe0f8 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
asami
b2db18add0 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
asami
ee1fd9fbf2 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
wosch
55dd0b1027 Obtained from: NetBSD
"obj" directory stuff work
1996-03-24 22:49:16 +00:00
wosch
5c58b27ede remove BINGRP?= BINOWN?= BINMODE?= 1996-03-24 00:41:11 +00:00
wosch
94fb2805ea KMODDIR= -> KMODDIR?=
add INFODIR
1996-03-24 00:31:56 +00:00
wosch
d73e6b35cd delete LIBDIR?= LINTLIBDIR?= LIBGRP?= LIBOWN?= LIBMODE?= SHLIBDIR?=
BINGRP?= BINOWN?= BINMODE?=
1996-03-24 00:21:04 +00:00
wosch
e251eb7324 delete MANGRP?=, MANOWN?=, MANMODE?=, MANDIR?= 1996-03-24 00:08:02 +00:00
wosch
2b599534f9 delete ``.if ${MACHINE} == "sparc"'' 1996-03-24 00:02:38 +00:00
bde
a10bba8d1e 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
wosch
8a9da25ead 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
asami
bfb211a9a5 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
wosch
cd59967f37 [Ee]rrs -> Errs errs, save one process for make clean 1996-03-09 23:48:55 +00:00
wosch
8eea1d0d90 [Ee]rrs -> Errs errs
save one process for make clean
1996-03-07 23:39:46 +00:00
asami
f4f3d81bd0 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
asami
986c4ed5dd 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
jkh
5832c17c01 Add a check for when the user tries to FTP over a symlink in ${DISTDIR}. 1996-02-16 11:19:00 +00:00
mpp
380c7bb904 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
0e9c7f47cd correct semantic error in the English usage:
distributed patches --> distribution patches
1996-02-08 00:44:33 +00:00
asami
5a8e1b1297 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
ache
c3ffff9d28 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
jdp
2216580a16 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
jdp
2b13f2a1dc 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
bde
a98acddd04 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
bde
956f6fe208 Added `9' to ${SECTIONS}. 1995-12-14 18:13:14 +00:00
jkh
9f87363393 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
bde
0ef33a094b 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
asami
ded7042979 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
asami
c5cc6e0eab 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
bde
6073486300 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
bde
8e5ccdb048 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
bde
4d5bfcf5d8 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
asami
73c1a1fccb 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
ache
d292670340 Add NO_FETCH handling in the similar way as other NO_* targets does 1995-10-16 14:27:20 +00:00
ache
246413c37b 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
phk
380fa2c538 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
phk
101c4a6b72 Automatically DTRT for VFS_LKM 1995-10-15 16:46:00 +00:00
jfieber
594bb20af5 Change the default PRINTER from ps to ascii. 1995-10-15 16:14:42 +00:00
phk
62c5f3cfd4 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
bde
c825093bf8 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
asami
52414d3c17 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
bde
7c8043e4e7 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
ache
3b5c5d69f0 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
asami
8fba02b7a6 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
asami
b9e92bae99 Use full pathname for ldconfig (/sbin/ldconfig).
Hinted by:	joerg
1995-10-02 22:12:47 +00:00
wollman
6db5ef09ae 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
asami
1e3cbf190d 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
asami
051b650295 Ignore patchfiles that end with ".orig" or "~".
Suggested by:	paul, joerg among others
1995-09-13 10:14:31 +00:00
jfieber
c87bfe009e 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
jfieber
a83219b615 Fix a bug with the clean target. 1995-09-10 17:18:24 +00:00
jfieber
d23bb5b6fa Add bsd.sgml.mk 1995-09-08 19:27:48 +00:00
jfieber
3ee19176e2 A makefile for sgml source files.
Reviewed by:	Rod Grimes rgrimes@gndrsh.aac.dev.com
1995-09-08 19:23:19 +00:00
asami
4ccd3eba65 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
asami
2c2d5b95af 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
asami
e89da2c8aa 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
dg
2a4e199e04 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
dg
e8ffa878fc Use lorder/tsort for shared libraries. It might help group things better.
Suggested by Garrett Wollman.
1995-08-02 22:31:52 +00:00
wollman
d40449353c Use GZIPCMD to hold name of gzip command rather than just GZIP.
Submitted by: Torsten Blum
1995-07-27 15:03:27 +00:00
wollman
d2d0635519 Compress doc' and info' documents before installing them. 1995-07-26 13:51:46 +00:00
bde
f5284ed86d 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
asami
6901602ad3 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
jkh
bd1a59f7bc Simplify the USE_IMAKE stuff considerably.
Suggested by:	asami
1995-07-17 16:20:58 +00:00
jkh
d3dff05548 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
asami
919efb0db9 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
asami
0a8ca3109e 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
asami
dc0b9227dd 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
asami
2378fcc785 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
asami
2f4a3ba548 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
asami
8596d76d0b 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
asami
5b8d466b8b 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
asami
e2a3ce09ed Remove comment about not being able to undefine a variable, as we *can*
do that.
1995-05-29 13:46:38 +00:00
asami
0bde18bfa2 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
asami
e8007e4e09 Don't conditionalize fake-pkg on NO_PACKAGE. 1995-05-13 23:37:16 +00:00
asami
335c8ec2f6 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
asami
cee4d3dd2f 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
asami
c3a7f3dae7 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
asami
141df07f3b Delete package and links when pkg_create fails. 1995-05-12 07:32:59 +00:00
asami
0536195d4a 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
rgrimes
ad1c9f159a Change install: to afterinstall: to be more consistent. 1995-05-09 10:12:16 +00:00
asami
b56080c039 Make the "reinstall" target delete the package cookie as well as
the install cookie.
1995-05-09 00:31:54 +00:00
bde
683c832487 Submitted by: charnier@lirmm.fr (Philippe Charnier)
Fix comment on .else to match code.
1995-05-07 06:39:30 +00:00
adam
1651c4b8e3 added support for distribution patches in a subdir of ${DISTFILES} 1995-05-04 18:53:26 +00:00
jkh
1ba77cefbb Put an `@' in front of the mtree command. I don't want to see it. 1995-05-04 13:14:16 +00:00
jkh
490a509e05 Add an mtree line to the install target. 1995-05-02 13:49:01 +00:00
asami
1ea2be3b9e 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
jkh
6ab124898e 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
jkh
79408b90d9 Add LIBFTP. 1995-04-26 14:34:19 +00:00
asami
3ea8818b8f (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
asami
8130adab62 Move call of fake-pkg from do-install to end of install. 1995-04-24 09:05:34 +00:00
jkh
6600a0c36d Ok, this should get the last of the stragglers installed into a new fake-pkg. 1995-04-22 01:22:49 +00:00
jkh
40a3a76a67 Don't try to run the fake-pkg target if NO_PACKAGE is set. 1995-04-22 00:08:06 +00:00
jkh
dfd20a673f Typo: patch -> package 1995-04-22 00:05:46 +00:00
jkh
571d43ff48 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
asami
880782d698 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
jkh
2f58e39609 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
asami
28ba2e3fe8 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
asami
b44403bd6f 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
asami
8a63a95cd2 "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
asami
c8023ab6dc "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
asami
90ff1d3322 Yikes...typo (.package/ should have been .packages/). 1995-04-15 23:56:29 +00:00
jkh
22728a4eac Don't pass duplicate pkgdeps to pkg_create 1995-04-10 08:09:21 +00:00
jkh
dbdb475f26 Add new -P argument to pkg_create. 1995-04-09 15:00:56 +00:00
jkh
4ef8ef9b22 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
jkh
abd6bceaa6 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
asami
62951c2028 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
jkh
6b929f53af Add USE_X11 for ports which are X11 users but don't use IMAKE. 1995-04-04 05:57:19 +00:00
gpalmer
d5e3b45770 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
jkh
c4810f7eee By default, KEYWORDS is a copy of CATEGORIES. 1995-04-01 10:01:49 +00:00
jkh
5361c577e3 Add default values and document them for CATEGORIES and KEYWORDS. 1995-04-01 09:35:29 +00:00
jkh
bc3b73d773 Add support for new CATEGORIES and KEYWORDS fields. 1995-04-01 09:34:11 +00:00
nate
4405cff2a7 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
asami
a28421e8bd 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
asami
56494876c1 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
gpalmer
fe78d93cbe Add a misssing `@' from before echo -n "|${MAINTAINER}" 1995-03-23 20:42:42 +00:00
jkh
917bd1f822 Add maintainer to the index line. 1995-03-22 21:46:04 +00:00
jkh
0df4950079 Add new EXTRACT_BEFORE_FLAGS and EXTRACT_AFTER_FLAGS variables to make
complex extraction rules easier.
1995-03-22 21:28:31 +00:00
jkh
24746278e3 Make the fetch message a little more interesting and informative. 1995-03-21 22:43:36 +00:00
jkh
4ea154599c 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
jkh
5842b07601 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
jkh
df0cba31bd Document the index target. 1995-03-21 01:31:43 +00:00
wollman
9786661cb0 Add support for pseudo-device LKMs. 1995-03-20 19:18:51 +00:00
ats
d08293b86b 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
ats
aab5235b57 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
rgrimes
ea0b66528c Add protected and empty maninstall: targets.
Submitted by:	Philippe Charnier <charnier@lirmm.fr>
1995-03-10 08:54:42 +00:00
olah
98f80a4861 LIBPCAP -> ${DESTDIR}/usr/lib/libpcap.a 1995-03-08 09:01:32 +00:00
gpalmer
26dd2c9888 Add support to miss out ``DUDS'' subdirectories. See thread in freebsd-ports
for more.
1995-03-03 23:30:32 +00:00
jkh
7f3e69780a Back out my previous change. I need to really think about this. 1995-03-03 07:42:10 +00:00
jkh
8b11802ef1 A small feature just for my own use. 1995-03-03 06:53:27 +00:00
phk
6ba3ecf5d2 "make distribute" have changed, beware if you use it. 1995-02-25 20:51:14 +00:00
jkh
9e763d4165 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
gpalmer
4870e921af 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
phk
36129bc930 Make sure that info files never hit the "bin" dist. 1995-02-11 05:28:31 +00:00
bde
c68c6ddc37 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
hsu
2dee17b94f Allow arbitrarily named configure script for use w/ HAS_CONFIGURE. 1995-02-06 08:52:19 +00:00
phk
850294c714 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
asami
a4b425074b 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
jkh
7fe5582ae5 Create an obj symlink when necessary.
Submitted by:	"Remy CARD" <Remy.Card@masi.ibp.fr>
1995-02-02 04:53:30 +00:00
gpalmer
54b76ef3e5 Start the ball rolling by sticking a
MAINTAINER?= line in here.

Idea by: jkh@FreeBSD.ORG
1995-02-01 21:47:57 +00:00
jkh
426a9a3688 Make fetch a bit more forgiving of subdirs. 1995-01-30 10:06:56 +00:00
jkh
c4cad71414 Add LN_FLAGS to all the places it makes sense. 1995-01-30 07:22:02 +00:00
jkh
17c91c62b7 Add new LN_FLAGS variable for making LINKS symbolic and whatnot. 1995-01-30 07:20:01 +00:00
ache
5ab1c05e59 LIBFORMS & LIBSCSI added 1995-01-25 20:24:01 +00:00
jkh
43338ad78f NOOBJS was bogus - use the already extant `NOOBJ'. 1995-01-24 17:50:30 +00:00
jkh
097c100f64 Add the ability to say `NOOBJS' to indicate that the target has no object
files.
1995-01-24 17:33:22 +00:00
jkh
7cdc9e0322 Fix bogus tab in makesum target. 1995-01-24 02:41:52 +00:00
jkh
a8745a0ec1 Whomever put the depend rule in screwed it up. Fix it. 1995-01-23 20:53:38 +00:00
jkh
02177b376d Eliminate a bogus stray tab. 1995-01-23 20:50:56 +00:00
jkh
e69f4b6154 Set PREFIX in the build target. Suggested by John Fieber. 1995-01-23 18:22:36 +00:00
gpalmer
e0eb6081ea Oops. Fix up the checksum routine - my last commit broke it slightly. 1995-01-22 20:40:48 +00:00
ache
4c87da56f7 Put brackets around EXTRACT_CMD, can be several commands here 1995-01-17 23:55:53 +00:00
ache
9771a4667a 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
ache
c15681666c 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
ache
6bb7cbcb7f Call nroff, if PRINTER == ascii 1995-01-17 21:27:30 +00:00
gpalmer
a2cce0e017 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
wollman
867341c82f Slightly more complete implementation of SUBDIR for libraries. 1995-01-14 22:18:15 +00:00
wollman
8d8fef4caf Add SUBDIR facility to bsd.lib.mk like in bsd.prog.mk. 1995-01-14 22:14:54 +00:00
jkh
1b5946f267 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
jkh
ece97fd6fb 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
jkh
f89d36730c Change DISTRIBUTION names. Also make bsd.doc.mk go to doc distribution,
not bin.  Hmmm.
1995-01-14 07:51:10 +00:00
jkh
02e7c496ff Whoops! Correct cut-and-paste gaffe. 1995-01-12 08:21:31 +00:00
jkh
1228a3ea98 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
ache
9e1dbd7ec1 Use absolute path for install passed to configure
to disallow prepending ../ in second level Makefiles
1995-01-12 02:29:42 +00:00
wollman
555cadcf36 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
asami
2075658851 Typo! 1995-01-11 08:53:28 +00:00
asami
e541856002 Add missing ! in front of pipeline for extract commands---otherwise
it would exit on *successful* extraction.
1995-01-11 08:50:48 +00:00
wollman
0bc03fb6fb Add .MAIN: all so that extraneous targets don't confuse `make'. 1995-01-11 02:41:09 +00:00
wollman
1ef7c94898 Add standard before/real/afterinstall support like in bsd.prog.mk. 1995-01-11 02:27:01 +00:00
wollman
7bc5ad7d8f Fix last .endif. 1995-01-11 02:06:58 +00:00
wollman
d1495f40e6 Changes to make /usr/share/doc work somewhat right. (SMM commits
to follow soon.)
1995-01-11 00:00:11 +00:00
jkh
59fbb0c594 Catch case where extraction fails. Thanks! 1995-01-10 12:23:44 +00:00
ache
cedae20ecb Use .MAIN: all 1995-01-07 16:39:38 +00:00
ache
678347e497 Move pre-extract target inside COOKIE
Add checksum check for extract, if checksum file present
1995-01-06 22:14:12 +00:00
asami
531b660987 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
jkh
fefd8a4147 Typo fix from Ollivier Robert.
Submitted by:	ollivier
1995-01-05 02:15:05 +00:00
jkh
9a46c7e992 Rename check-md5 target to checksum.
Submitted by:	gpalmer
1995-01-05 01:46:05 +00:00
jkh
7ed45041db Gary Palmer's patches for checksumming and description.
Submitted by:	gpalmer
1995-01-04 23:06:38 +00:00
ache
89e96be531 Fix BINMODE to override sys.mk defaults 1995-01-04 22:43:52 +00:00
ache
675d939995 Remove INSTALL, now into sys.mk 1995-01-04 22:32:40 +00:00
ache
60416d0456 Fix building of target with multiply sources 1995-01-04 22:01:58 +00:00
ache
d107f797aa Fix error in clean target 1995-01-04 21:34:13 +00:00
ache
16167988ef Much improved variant 1995-01-04 21:29:32 +00:00
jkh
8268b80899 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
jkh
68b0cc4284 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
jkh
28ff01d2d2 Document describe target. 1995-01-04 07:35:46 +00:00
jkh
8f9d089c5d Add describe target support. 1995-01-03 11:52:01 +00:00
bde
25de52bbad Install bsd.info.mk. 1995-01-03 06:32:10 +00:00
bde
459a4fffba 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
bde
8381433806 Remove `MKDEP= -p'. Now I know why lkm compiled so fast after headers
are changed.
1995-01-01 21:11:55 +00:00
ache
f564f5957f Preset ac_cv_path_CC="${CC}" before running ./configure,
needed for Autoconf 2
1995-01-01 20:06:20 +00:00
ache
2b3d7b4180 Oops, forget "" for ${CC} and ${CFLAGS}... 1994-12-28 04:17:54 +00:00
ache
1e58ddda94 Set proper INSTALL* variables before running ./configure 1994-12-28 04:14:19 +00:00
ache
3179f36757 Move INSTALL?=install line duplicated into each .mk to sys.mk
instead
1994-12-28 03:51:03 +00:00
ache
26fa5504b2 Use CFLAGS=${CFLAGS} ./configure to avoid picking dumb GNU -g default 1994-12-28 03:30:21 +00:00
ache
ef78f9becd Use "CC=${CC} ./configure" to avoid usage of debugging 'gcc' 1994-12-28 03:21:16 +00:00
ache
2f0989e5fa Remove -T from ar, nm fixed now 1994-12-28 00:49:58 +00:00
ache
b1afaf0aff Add T option back to ar until nm will be fixed. Sorry, nate. 1994-12-24 10:07:51 +00:00
nate
1daa60a210 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
bde
7284bc5e13 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
gpalmer
02f9caeae2 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
gpalmer
edee92ab3e bsd.port.mk: missing semicolon added
bsd.port.subdir.mk: added check-md5 as target
1994-12-17 20:50:44 +00:00
ache
fdba605505 Automatically add gmake to DEPENDS, if USE_GMAKE 1994-12-17 02:37:26 +00:00
ache
c2c7b9b0bc Don't use build: ... pre-build, move pre-build inside
BUILD_COOKIE instead
1994-12-17 01:58:11 +00:00
ache
0c6fb6f88c patch: pre-patch ... is wrong, move pre-patch
inside PATCH_COOKIE
1994-12-14 05:53:09 +00:00
jmz
390ea51f09 Added '${GMAKE} install.man' when installing with Imake and gmake 1994-12-12 22:32:30 +00:00
gpalmer
6df17bf1ea 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
gpalmer
3c97b798b0 Last gremlin-killer of the day. Typo fixed and missing .endif replaced. 1994-12-11 15:31:22 +00:00
gpalmer
d57d2dda92 <Sigh> Got the placing of a .if wrong. Fix it. 1994-12-11 14:50:40 +00:00
gpalmer
c233cd6617 Erk. Damn. A hash perfixing a comment was lost somewhere.
Fixed.
1994-12-11 14:12:30 +00:00
gpalmer
ffc24d6261 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
ache
054823f9a7 Change wrong comment: NCFTP_ARGS --> NCFTPFLAGS 1994-11-25 17:04:02 +00:00
ats
82f22b0877 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
jkh
cac70cf98a Add reinstall. 1994-11-17 16:02:56 +00:00
jkh
9cb91dd8a0 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
jkh
6593f9b699 Whoops! Typo. Correct. 1994-11-17 10:07:45 +00:00
jkh
b43669fad8 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
jkh
436e419a37 Add support for NO_WRKDIR. 1994-11-17 00:25:16 +00:00
jkh
ae5033f4db 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
jmz
f0796c1813 If USE_GMAKE is defined, use ${GMAKE} in ${XMKMF} && ${MAKE} Makefiles 1994-11-16 23:14:22 +00:00
jkh
8cdad68b06 Make depends a separate target. Now you can select when the dependency
list is traversed.
1994-11-15 10:16:56 +00:00
bde
f1b917b022 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
bde
e226c88111 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
bde
5bb14446b2 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
phk
94e55d40f9 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
jkh
09cdc2f43c Add patch cookies. This should prevent gratuitous patch re-application
attempts.
1994-11-11 09:45:33 +00:00
phk
5f66478401 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
jkh
f4d6806ca6 For submakes, don't do a `${MAKE} ${MAKEFILE} all' or
`${MAKE} ${MAKEFILE} install', indirect the target through ALL_TARGET and
INSTALL_TARGET now, so they can be easily overridden.
1994-11-03 19:53:46 +00:00
jkh
962ea3755e Add reinstall target for Poul-H. This lets you install again from
the same build, ignoring the INSTALL_COOKIE.
1994-11-03 19:14:08 +00:00
jkh
d0ae1acdd0 This is what I get for implementing suggestions without really thinking
about them.. :-)  The patches/* won't work, it needs to be patches/patch-*
to avoid catching things like CVS files when working with a checked-out
copy of ports!  Whoops!
1994-11-01 21:04:27 +00:00
jkh
345918a31d 2 changes:
1.	Make build rely on a BUILD_COOKIE now.  I'm tired of builds
	being redone gratuitously while I'm trying to debug a tree build
	problem.

2.	Remove all the literal `touch -f' commands and indirect them through
	variables.  This lets you "leave tracks" in different ways, depending
	on the medium.  Just part 1 of my planned changes to make builds
	directly off the CD work.
1994-11-01 18:09:22 +00:00
jkh
bd89af0761 Make patch rule pick up everything in patchdir alphabetically.
No need to call it `patch-aa' if you can simply call it `aa', etc.
1994-10-31 22:51:09 +00:00
bde
f95ca78f1b Use += instead of ?= for setting LDDESTDIR. Some Makefiles, such as
cc/Makefile.inc use (abuse?) LDDESTDIR for their internal libraries
so "?=" hides non-default external libraries.  Adding multiple paths
to LDDESTDIR works except it makes it even harder than usual to
decide which libraries will actually be linked against.
1994-10-25 18:09:44 +00:00
bde
7661c0a196 Some profiled/shared objects were being built despite NOPROFILE/NOPIC
being set.
1994-10-25 17:55:25 +00:00
jkh
0b739d890d 1. PREFIX has nothing to do with DESTDIR. Remove it finally.
2. Make sure to pass PREFIX to sub-makes when installing.  This allows you to
   install to places like ${PREFIX}/bin in your own install rule.
1994-10-22 23:02:39 +00:00
jkh
6de1db15f0 Invoke install.man if USE_IMAKE is set. 1994-10-22 09:21:35 +00:00
bde
826a18e82b Fix typo in description of LIBRPCSVC. 1994-10-19 21:36:31 +00:00
pst
1552617ffd Added libmd.a -> LIBMD 1994-10-18 23:01:22 +00:00
ache
66935af7d9 Add ${.MAKEFLAGS} to sub-makes, pointed by Rod 1994-10-14 21:58:09 +00:00
jkh
aae398c284 Add new IS_INTERACTIVE flag. This lets you specify that the port
is an interactive port, and requires user input somewhere along
the way (either fetching, configuring, building or installing).

If the user then sets BATCH in their environment, this port will be
skipped.  If the user sets INTERACTIVE, then ONLY those ports marked
interactive are run (allowing one to do all ports in two passes).
If the user sets both BATCH and INTERACTIVE, then a metal claw extends
from the CRT and brutally yanks their nose off.
1994-10-14 07:56:46 +00:00
jkh
4106ef7357 Silence the sub-makes. 1994-10-13 10:33:35 +00:00
jkh
f6e7823f24 Change the way pre-install was done after a suggestion from Andrew.
Now both pre-install and install inherit the INSTALL_COOKIE.
1994-10-13 08:08:56 +00:00
jkh
2621920996 Re-work the way pre-install was being depended. I couldn't make the
install cookie work any other way (perhaps I'm just being stupid).
In any case, INSTALL_COOKIE now works as advertised, and prevents duplicate
installations.  pre-install users will have to keep their own cookies if
they wish to avoid duplicate installations, or tell me how to make the
rules run properly.
1994-10-12 23:32:32 +00:00
ache
8e7bc5aaec Oops, change ${MAKE_FLAGS} to ${MAKEFLAGS} in pre-configure line 1994-10-12 03:25:59 +00:00
ache
dfa2186345 Move 'make pre-configure' inside .configure.done: target, or
it issued again and again instead.
1994-10-12 03:12:19 +00:00
ache
4be05943aa configure: pre-configure extract ... must be
configure: extract pre-configure ...
1994-10-12 02:58:38 +00:00
ache
3c7afd9c83 LIBDIALOG added 1994-10-11 23:38:19 +00:00
rgrimes
59cd879bac SHAREDSTRINGS support was no longer used and just clutters things up,
removed.
1994-10-10 03:18:47 +00:00
rgrimes
7566bede3c 1. Mark file as seriously out of date with reality.
2.  Update the list of library names and variables.

3.  Update to reflect forth coming bsd.inc.mk file.

4.  Update which .mk files include other .mk files.

Submitted by:	Bruce Evans (partial, enhanced by me)
1994-10-09 21:22:32 +00:00
ache
c782ecfd03 LIBMYTINFO and LIBNCURSES defines added 1994-10-07 03:10:05 +00:00
jkh
eec5c74ac9 Following changes from Robert Withrow (+ a few mods):
1. Make DEPENDS fully qualified, and not implictly assume relative
   to ${PORTSDIR}.  This allows more arbitrary dependencies to be
   specified.  This also means that DEPENDS= x11/foo needs to be changed
   to DEPENDS= ${PORTSDIR}/x11/foo in any Makefiles.  I'll try to do
   these changes myself.

2. Add an option NO_DEPENDS to disable the automagic building of depended
   ports.
Submitted by:	rww
1994-10-05 22:28:45 +00:00
jkh
3276b6c85e Add an install prefix for packages, so that they're built by default
to track ${PREFIX} (this will override the PLIST prefix).
1994-10-04 15:50:43 +00:00