Commit Graph

347 Commits

Author SHA1 Message Date
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
Jordan K. Hubbard
9e320feef3 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
Jordan K. Hubbard
68feb5ef8a 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
Jordan K. Hubbard
2e7c3b0abb 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
Jordan K. Hubbard
c8b2f1c02f 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
Jordan K. Hubbard
9c4fb858bb 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
Bruce Evans
43fae82719 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
Bruce Evans
86af0db90a Some profiled/shared objects were being built despite NOPROFILE/NOPIC
being set.
1994-10-25 17:55:25 +00:00
Jordan K. Hubbard
4335d91992 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
Jordan K. Hubbard
cd08c443af Invoke install.man if USE_IMAKE is set. 1994-10-22 09:21:35 +00:00
Bruce Evans
9118d452d7 Fix typo in description of LIBRPCSVC. 1994-10-19 21:36:31 +00:00
Paul Traina
1c423e89ed Added libmd.a -> LIBMD 1994-10-18 23:01:22 +00:00
Andrey A. Chernov
2ecb809ab3 Add ${.MAKEFLAGS} to sub-makes, pointed by Rod 1994-10-14 21:58:09 +00:00
Jordan K. Hubbard
cc33ccc9bc 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
Jordan K. Hubbard
c41b51643d Silence the sub-makes. 1994-10-13 10:33:35 +00:00
Jordan K. Hubbard
64324dc610 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
Jordan K. Hubbard
baaac71882 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
Andrey A. Chernov
3d1e296ec5 Oops, change ${MAKE_FLAGS} to ${MAKEFLAGS} in pre-configure line 1994-10-12 03:25:59 +00:00
Andrey A. Chernov
ec55794466 Move 'make pre-configure' inside .configure.done: target, or
it issued again and again instead.
1994-10-12 03:12:19 +00:00
Andrey A. Chernov
b82fc8c612 configure: pre-configure extract ... must be
configure: extract pre-configure ...
1994-10-12 02:58:38 +00:00
Andrey A. Chernov
20bb37a799 LIBDIALOG added 1994-10-11 23:38:19 +00:00
Rodney W. Grimes
c1b0875e83 SHAREDSTRINGS support was no longer used and just clutters things up,
removed.
1994-10-10 03:18:47 +00:00
Rodney W. Grimes
de4d7b8018 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
Andrey A. Chernov
36ee031254 LIBMYTINFO and LIBNCURSES defines added 1994-10-07 03:10:05 +00:00
Jordan K. Hubbard
363abea01c 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
Jordan K. Hubbard
997882fda7 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
Jordan K. Hubbard
0903bf364c Also make GNU_CONFIGURE a synonym for HAS_CONFIGURE so you don't have
to specify both (looks silly).
1994-10-04 15:48:21 +00:00
Jordan K. Hubbard
e492ce08e3 If GNU_CONFIGURE is set, pass `--prefix=${PREFIX}'; this should help
at least the GNU ports play nice with PREFIX.
1994-10-04 15:44:03 +00:00
Jordan K. Hubbard
3ca98f18d2 Whoops! Forgot to pass PREFIX to the configure subshells. Done. 1994-10-04 14:46:34 +00:00
Jordan K. Hubbard
ed40335903 Add PREFIX pointing to ${DESTDIR}/usr/local - let's see if we can't
make an entire system work nicely with DESTDIR (to say nothing of being
able to move from /usr/local to somewhere else).
1994-10-04 14:44:56 +00:00
Jordan K. Hubbard
382f755da5 Prevent duplicate installs with an install cookie.
Make DEPENDS now does a `make is_depended' in the target port.
This defaults to `all install' globally, but can be overriden locally
by a port if it wants to do different things when other ports depend on it.
1994-10-03 14:38:27 +00:00
Jordan K. Hubbard
7ae01964d7 May the saints praise Robert Withrow <witr@rwwa.com> for showing me
the light.  `env' can be used to pass environment variables to shell
scripts this way, which means that all *configure/post-build scripts
_no longer take any arguments_; everything they should need (and more)
is now available in the environment.  I'm working now to adapt the older
shell scripts over, but if you want beat me to it on some of your own
ports, don't let me stop you! :)
Submitted by:	witr
1994-10-03 13:45:03 +00:00
Rodney W. Grimes
ea56956912 Add .S to SUFFIXES and add .S.o: rule.
Submitted by:	bde
1994-10-02 05:12:46 +00:00
Jordan K. Hubbard
ccd314ec46 Don't hardcode patch and its arguments. Not quite the same patch as submitted
by Robert Withrow, but he prodded me into thinking about it again.  Thanks, Rob.
1994-09-28 14:19:30 +00:00
Garrett Wollman
d2920e07e6 Lots of kernel code requires vnodE_if.h, so provide code to generate it
if requested.  LKMs which need it should use:

SRCS+=	vnode_if.h
CLEANFILES+= vnode_if.h vnode_if.c

These rules were already present for VFS LKMs; now they are enabled all
the time.  (VFS LKMs do not need the fragment above; it is still done for them.)
1994-09-26 22:34:04 +00:00
Steven Wallace
5df5c6ab16 change COOKIE directory from .CURDIR to WRKDIR since a user may not have
write permission to .CURDIR but write permission to WRKDIR.
Also, WRKDIR may be deleted and cookie still exist in CURDIR.
1994-09-22 07:45:30 +00:00
Garrett Wollman
1aa57be361 Make it easier to create filesystem LKMs by doing most of the
work in the Makefile.  Just define VFS_LKM and you're off!
1994-09-21 03:49:59 +00:00
Jordan K. Hubbard
724a286e43 Modified DEPENDS rule so that anything you depend on gets both
made AND installed.  Folks, check out DEPENDS if you have one port
that depends on another!  With this change, it should be really convenient
to use.
1994-09-19 01:08:35 +00:00
Andrey A. Chernov
9e5efb09f2 DESTDIR added to PORTSDIR definition 1994-09-19 00:41:03 +00:00
Garrett Wollman
ac1a8b47c7 Emendation to previous commit: only create static INTERNALLIBs if
INTERNALSTATICLIB is also set.
1994-09-18 22:22:32 +00:00
Garrett Wollman
66415998d0 It turns out that occasionally you want both shared and static versions
of INTERNALLIBs, so generate both.
1994-09-18 22:06:04 +00:00
Jordan K. Hubbard
e82b0b99c1 Add support for DEBUG_FLAGS. If you say something like:
make DEBUG_FLAGS=-g2

You can compile something for debugging at debugging level 2.
It will also take care not to strip the resulting executable(s).
1994-09-16 14:30:25 +00:00
Garrett Wollman
639a2e5035 A make system file for building LKMs, derived from bsd.prog.mk. 1994-09-14 21:59:28 +00:00
Jordan K. Hubbard
e967aefa34 Remove obsolete bundle target, add new fetch target. 1994-09-14 16:42:37 +00:00
Jordan K. Hubbard
bcb015defb Don't assume / seperator between site name and dist file in fetch. 1994-09-14 15:30:44 +00:00
Jordan K. Hubbard
d58fb42f4a Missing semi-colon after a done statement. Fixed. 1994-09-13 08:40:27 +00:00
Jordan K. Hubbard
eef2ed537a Adjust comments to document MASTER_SITES and remove mention of
HOME_LOCATION.
1994-09-13 06:43:10 +00:00
Jordan K. Hubbard
cd003c0b48 Ok, I think I have this whole HOME_LOCATION / MASTER_SITE stuff resolved
to a reasonable compromise:

MASTER_SITES now contains a space seperated list of sites for which each
DISTFILE may be retrieved.  This should be a directory spec, which will be
concatenated with each file in DISTFILES.  HOME_LOCATION is *gone* now
and isn't used for anything, so you can delete it from your Makefiles.
If you want to force a fetch from a given location, simply do something like:

	MASTER_SITES=	ftp://fnord.foo.bar/pub/dist
	DISTFILES=	a.tar.gz b.tar.gz

Your entry in MASTER_SITES will be tried first to fetch a.tar.gz and
b.tar.gz, followed by any master sites we have set up (right now, only
freebsd.cdrom.com).
1994-09-13 06:22:11 +00:00
Rodney W. Grimes
0e58d91938 Change all references to LIBTERM and -ltermlib to LIBTERMCAP and -ltermcap 1994-09-11 21:32:28 +00:00
Jordan K. Hubbard
65273efbc6 More fixes and general cleanup. Add more fine-grained control over what
is fetched and what is actually unpacked.
1994-09-11 12:55:54 +00:00
Jordan K. Hubbard
31c01ba466 Whoops, forgot to stop this lurking typo, too. 1994-09-11 12:06:34 +00:00
Jordan K. Hubbard
d1c149c330 Eliminate a few lurking bogons - this is almost close to being right! 1994-09-11 12:01:05 +00:00
Jordan K. Hubbard
43497b9f75 Annual simplification drive:
1. DISTFILE is gone and replaced by DISTFILES, which can contain one or
   more file specifications.
2. MASTER_SITE created, which points to the distfiles directory on
   freebsd.cdrom.com (which I'll set up in a moment).
3. HOME_LOCATION is now simply a hint, and is never directly used except
   to inform the user when ncftp unable to transfer a file from
   MASTER_SITE.
4. ncftp is now assumed to live somewhere in the path, in preparation for
   Andrew bringing it in on a more permanant basis.
5. XMKMF defined - it was not before.

Thanks to Andrew (ache) for many helpful suggestions.
1994-09-10 22:26:47 +00:00
Jordan K. Hubbard
e86de4095d Rearrange this a bit while I think about the whole problem of fetching
multiple targets when dealing with creating a set of distribution files
from scratch.  Another problem is *verifying* that a given file fetched
from its HOME_LOCATION is the one we wanted (what if the stupid ftp site
maintainer updated it in place?).  Rich Morin pointed this out and suggested
some solutions.  I need to think about it some more (suggestions?).

For now, we have a seperate `fetch' and `extract' target.
Submitted by:	jkh
1994-09-09 06:21:43 +00:00
Jordan K. Hubbard
8315b1014c As per suggestion by Michael Reifenberger, make ncftp use the -N flag.
Reviewed by:	jkh
Submitted by:	mr
1994-09-09 00:17:47 +00:00
Rodney W. Grimes
ff753cd302 Add the installation of bsd.README. Realphabitize the FILES= list.
Reviewed by:	rgrimes
Submitted by:	bde
1994-09-07 09:18:44 +00:00
Rodney W. Grimes
7199b0911b The .c: rule added by Bruce, but as yet unused, causes serious problems
for the 1.1.5 FreeBSD make.  For now just comment it out until a fix for
make can be found.

Reviewed by:	bde
Submitted by:	rgrimes
1994-09-07 06:52:25 +00:00
Jordan K. Hubbard
74a3c65468 Add an X11BASE variable that currently points to /usr/X386 but will
be easy to change to /usr/X11R6 if and when the time comes.  This is
to deal with things like xditview which otherwise had hardcoded assumptions
about where X lived.  Yuck.
Submitted by:	jkh
1994-09-04 02:52:27 +00:00
Jordan K. Hubbard
c66c40460e Fixed a couple of typos. Ok, this works now. Only one significant hurdle
remains, and that's that this does not work with multiple targets, which
sort of throws the tk and fvwm distributions into a mess.  tk needs both
a tarball and a patch file from the same site, fvwm needs up to 3 different
files if you want all the options.  If anyone wants to take this the last
few steps of the way towards somehow handling cases like this, I'd be very
happy.
Submitted by:	jkh
1994-09-02 01:53:33 +00:00
Jordan K. Hubbard
9f421ad238 Ok, I've reviewed this and made it work now. ncftp fetching seems to be
working/closer to working now.
Submitted by:	jkh
1994-09-02 01:32:13 +00:00
Jordan K. Hubbard
e9ea29f3fe Add a few missing >> lines to error echo's.. This is basically my
convention to make searching for error messages easy.
Submitted by:	jkh
1994-09-02 01:13:47 +00:00
Jordan K. Hubbard
b9e3359515 Here's my first cut at doing auto-fetch with ncftp. The extract rule
is turning into the original make rule from hell!
Submitted by:	jkh
1994-09-01 18:03:37 +00:00
Jordan K. Hubbard
3158984cf8 Geeze, what was I thinking again? Replace all references to:
${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}

With simply `${DISTFILE}' which defaults to the above.  This lets you
easily name distribution files that don't cooperate with any rational
naming syntax.

Similarly, make a variable called ${PKGFILE} which fills the same purpose
for packages.

Just trying to make this thing really really general to suit every need.
Now I need somebody to figure out how to make the extract target auto-fetch
things from ${HOME_LOCATION} with ncftp *if* ncftp is installed and it
looks possible to reach the foreign site.  That will take some fancy footwork,
but would be slick.  I've changed this too so that HOME_LOCATION is no longer
set by default, allowing you to do an .if defined(..) check for it.  The
extract rule now does this too.

Submitted by:	jkh
1994-09-01 16:01:34 +00:00
Paul Richards
443dced56c Changed g++ to c++
Reviewed by:
Submitted by:
1994-08-31 03:57:32 +00:00
Adam David
07a9762776 added hook for post-build script
Reviewed by:
Submitted by:
1994-08-30 16:39:27 +00:00
Bruce Evans
80c02d5983 Use ${ECHO} instead of echo' so that make -s' is fairly quiet. 1994-08-28 15:37:40 +00:00
Bruce Evans
3c303ff206 Use ${ECHODIR} instead of `echo' for printing directory names so that
`make -ss' is very quiet.
1994-08-28 15:35:30 +00:00
Bruce Evans
a4c39c7aa6 Fix spelling error in little-used target.
Build an intermediate object file even when there is only one source
file.  This costs a little space but saves time if the target is rebuilt
a lot, and it stops the target varying with the name of temporary
intermediates.

Use ${ECHO} instead of `echo' so that `make -s' is fairly quiet.

Use ${ECHODIR} instead of echo for printing directory names so that
`make -ss' is very quiet.
1994-08-28 15:32:10 +00:00
Bruce Evans
415bccaa8d Recover improvements in 4.4lite version that were clobbered by the
previous commit:
+ Everything is initialized using ?= instead of =.
+ Nicer formatting (more white space).
+ .c: rule.

Add macros ECHO and ECHODIR.  Both are normally `echo', but when
the make flags include -s, ECHO is set to `true' and when the make
flags include two or more -s's ECHODIR is set to `true'.  @${ECHO}
should be used instead of @echo in most cases.  ${ECHODIR} is
intended to be used mainly for messages about directory names.
1994-08-28 14:56:07 +00:00
Jordan K. Hubbard
82df480e9f Lots of changes - get the NO_XXX things over, add @'s to the touches for
default extract and configure targets, add a pre-clean since I need it for
pkg_install port.
Submitted by:	jkh
1994-08-28 14:41:34 +00:00
Bruce Evans
dcec6b1d7f Fix filenames for LIBC and LIBTERM. 1994-08-28 14:21:55 +00:00
Jordan K. Hubbard
cc3840179b Add bsd.port* to the Makefile.
Reviewed by:
Submitted by:
1994-08-28 09:35:51 +00:00
Garrett Wollman
c59ae063cb Add support for two modifier variables which will be useful soon:
PRECIOUSLIB causes the shared library to be installed with the system
immutable flag (schg) set.  (You can add other flags for shared-library
installation by modifying SHLINSTALLFLAGS.)

INTERNALLIB disables the generation of non-shared versions of the library.
This may be of use for programs like Taylor UUCP and GCC which have large
internal libraries shared among a number of programs.
1994-08-26 18:58:10 +00:00
Jordan K. Hubbard
367eafb79a Add a pre-configure rule after all, since it's helpful to be able
to also run a rule before you apply patches and then go into the 3 stage
script configuration.  This bit Adam David in his dgd port.
Submitted by:	jkh
1994-08-25 22:59:56 +00:00
Jordan K. Hubbard
da22574df1 Also `make Makefiles' in USE_IMAKE case to catch subdirs.
Submitted by:	jkh
1994-08-25 21:02:45 +00:00
Jordan K. Hubbard
2581e485d5 Sigh. I am a hosebrain. I've been using gmake for so long, I've
started using some of its features reflexively.
Submitted by:	jkh
1994-08-25 13:56:08 +00:00
Jordan K. Hubbard
23573be72a Add a new flag: USE_IMAKE
This will cause the configure pass to do an `xmkmf' if set.
Submitted by:	jkh
1994-08-25 13:53:02 +00:00
Jordan K. Hubbard
c3181accea Some cosmetic changes.
Add pre-{build,extract,install,...} targets for Torsten, who apparently
needs them.  Can't do effective post-* targets without major work, sorry.

						Jordan
Reviewed by:
Submitted by:
1994-08-24 14:49:33 +00:00
Jordan K. Hubbard
40ac3d51ca Ok, this should work with a centralized package directory now (so you
can elect to dump all finished packages in one directory).
Submitted by:	jkh
1994-08-22 13:25:33 +00:00
Jordan K. Hubbard
99188fedd9 Make package target a lot more general.
Submitted by:	jkh
1994-08-22 13:11:32 +00:00
Jordan K. Hubbard
301cdacf77 Whoops - left out the package rule!
Submitted by:	jkh
1994-08-22 13:02:16 +00:00
Jordan K. Hubbard
824137748f Use proper proper package suffix.
Submitted by:	jkh
1994-08-22 12:07:19 +00:00
Jordan K. Hubbard
12c6fd4131 Whoops, left out a backslash in my package rule.
Submitted by:	jkh
1994-08-22 12:00:34 +00:00
Jordan K. Hubbard
7fd2d1ca27 Ok, now we warn if we're about to recreate the distfile from configured
sources.  Configuring doesn't always _do_ anything, which is why it's
a warning and not an error.
Submitted by:	jkh
1994-08-22 11:23:17 +00:00
Jordan K. Hubbard
984dd1a95a New bsd.port.subdir.mk file for use by ports. This groks all the
special ports building targets and will recurse properly.  Sorry,
Julian E - no fancy prompts, just recursion! :-)

Added a `bundle' target.  Purpose is as follows:

	You want to give someone a complete tree sans distfiles (for
	sticking on CDROM perhaps?) but the difficulty there is that
	the first time the user types `make clean', all the unpacked
	sources are gone again.  Typing `make bundle' recreates the
	original distfile if it can, so someone can "back up" their
	unpacked tree easily with one command.

	Whoops, just thought of something - it should warn if you
	configured the working source.
	Ok, next commit! :)
Submitted by:	jkh
1994-08-22 11:20:07 +00:00
Jordan K. Hubbard
44204c43cc I had to bite the bullet: There's now a port.subdir.mk that does the right
thing with recursive build, configure, bundle or extract targets.
Reviewed by:
Submitted by:
1994-08-22 10:46:38 +00:00
Jordan K. Hubbard
a57d411ac1 Sigh.. Some of these configs are a little hairy. I need to know the
${PORTSDIR} too now - pass it to any and all config scripts.
Submitted by:	jkh
1994-08-21 18:26:10 +00:00
Jordan K. Hubbard
a1c49e4efc Make things a little more user-friendly
Submitted by:	jkh
1994-08-21 17:42:24 +00:00
Jordan K. Hubbard
34c3b2aff2 Get the .configure_done stuff working - it wasn't in the right place.
Submitted by:	jkh
1994-08-21 16:55:54 +00:00
Jordan K. Hubbard
d0d7662fb4 Start really adding some features here. Let's see:
1. New variable DEPENDS lets you list packages that this depends on,
   relative to the top (lang/tcl, x11/tk, etc).  These packages will
   always get made first.

2. Don't configure again if you've already done so successfully.

3. Add pre-configure and post-configure hooks.  You can now do a pre-configure,
   a local configure, a port-provided configure and finally a post-configure
   if you really really want to.  I can't imagine anything this will leave us
   not being able to do! :) [ Yes, I have actually found a use for at least
   two of these in one port - see x11/tk!].

Submitted by:	jkh
1994-08-21 16:37:09 +00:00
Jordan K. Hubbard
9bd3cef5dc Simplify the whole configuration script business quite a bit. What
was I thinking before..
Submitted by:	jkh
1994-08-21 15:04:03 +00:00
Jordan K. Hubbard
09e9c8438a Whoops, the check for a missing distfile was slightly bogus. Now it works.
Submitted by:	jkh
1994-08-21 14:32:40 +00:00
Jordan K. Hubbard
754969c971 Make any local configuration file unconditional. That is, if one exists
then run it even if GNU configure is to be run later.
Submitted by:	jkh
1994-08-21 14:10:16 +00:00
Jordan K. Hubbard
173b9407ed Commit my new ports make macros. Still not 100% complete yet by any means
but fairly usable at this stage.
Submitted by:	jkh
1994-08-21 13:12:57 +00:00
Bruce Evans
ed575421e9 - bsd.dep.mk and bsd.own.mk have been required for some time. Install them.
- Install with group BINGRP, not BINOWN.
1994-08-20 08:25:00 +00:00
Garrett Wollman
45f7f888bb Make the install targets obey the INSTALLFLAGS requests in the new
Makefiles.

DANGER WILL ROBINSON!

This will cause repeat installs of certain programs, such as `init' and
`rcp', to fail unless one of the two conditions is met:

	1) You are in single-user mode.
	2) Your security level is set to 0 or -1.

If you have compiled a kernel from the latest sources, your kernel
security level is set to -1 by default, which will keep `init' from
fiddling with it.  You can increase it, but not decrease it, from the
command line with the command `sysctl -w kern.securelevel=<new value>'.
I believe that -1 is the most appropriate value to use while we are still
developing the code, although when we ship it should be changed back to 0.

See init(8) for more information.
1994-08-10 02:48:08 +00:00
Garrett Wollman
920f8baa30 Don't pass ${LDADD} to ${AR}. Use ${ARADD} for that. 1994-08-08 15:45:55 +00:00
Garrett Wollman
d14f862c56 Add a couple of files we created in 1.x. 1994-08-04 21:10:08 +00:00
Garrett Wollman
3585b293d1 Spplat our 1.1.5 `mk' ifiles over the top of the 4.4 ones. So far
as I can tell, this is ts the right thing to do.
1994-08-04 21:09:27 +00:00
Rodney W. Grimes
afe61c1516 BSD 4.4 Lite Share Sources 1994-05-30 19:09:18 +00:00