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
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)
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.
(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.
"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.
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
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.
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.
(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
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.
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").
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!")
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
"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
(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").
(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
/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.
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.
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.
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)
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.
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.
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.