Commit Graph

339 Commits

Author SHA1 Message Date
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