Commit Graph

284 Commits

Author SHA1 Message Date
jkh
0c56fbbdfb 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
f0b23d21b1 Oops, change ${MAKE_FLAGS} to ${MAKEFLAGS} in pre-configure line 1994-10-12 03:25:59 +00:00
ache
6b388d437f Move 'make pre-configure' inside .configure.done: target, or
it issued again and again instead.
1994-10-12 03:12:19 +00:00
ache
6c336e53c4 configure: pre-configure extract ... must be
configure: extract pre-configure ...
1994-10-12 02:58:38 +00:00
ache
278a5af6f3 LIBDIALOG added 1994-10-11 23:38:19 +00:00
rgrimes
f46aceebcf SHAREDSTRINGS support was no longer used and just clutters things up,
removed.
1994-10-10 03:18:47 +00:00
rgrimes
0a2650232c 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
a7d2c92be5 LIBMYTINFO and LIBNCURSES defines added 1994-10-07 03:10:05 +00:00
jkh
dd430a3659 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
faabcc1af2 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
jkh
0d2b61f4de 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
jkh
238f3e89bc 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
jkh
f78e884e32 Whoops! Forgot to pass PREFIX to the configure subshells. Done. 1994-10-04 14:46:34 +00:00
jkh
8d2568eda5 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
jkh
25136bafb9 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
jkh
1850bb45ad 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
rgrimes
0ec73f65ad Add .S to SUFFIXES and add .S.o: rule.
Submitted by:	bde
1994-10-02 05:12:46 +00:00
jkh
dfd5d47250 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
wollman
c773031f74 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
swallace
93dd3e7282 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
wollman
6b9bd0c1f3 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
jkh
053a169d1b 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
ache
75bb91812c DESTDIR added to PORTSDIR definition 1994-09-19 00:41:03 +00:00
wollman
1de0d1a3f4 Emendation to previous commit: only create static INTERNALLIBs if
INTERNALSTATICLIB is also set.
1994-09-18 22:22:32 +00:00
wollman
40c7c9baec 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
jkh
24ea874ee2 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
wollman
42aa04fc01 A make system file for building LKMs, derived from bsd.prog.mk. 1994-09-14 21:59:28 +00:00
jkh
cd39d279ec Remove obsolete bundle target, add new fetch target. 1994-09-14 16:42:37 +00:00
jkh
dea05537d4 Don't assume / seperator between site name and dist file in fetch. 1994-09-14 15:30:44 +00:00
jkh
7bba154354 Missing semi-colon after a done statement. Fixed. 1994-09-13 08:40:27 +00:00
jkh
eee491aaee Adjust comments to document MASTER_SITES and remove mention of
HOME_LOCATION.
1994-09-13 06:43:10 +00:00
jkh
b9a3ad1818 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
rgrimes
fcde3ed447 Change all references to LIBTERM and -ltermlib to LIBTERMCAP and -ltermcap 1994-09-11 21:32:28 +00:00
jkh
afcd8d6774 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
jkh
8fc7d3f710 Whoops, forgot to stop this lurking typo, too. 1994-09-11 12:06:34 +00:00
jkh
e991d8f20b Eliminate a few lurking bogons - this is almost close to being right! 1994-09-11 12:01:05 +00:00
jkh
80e05ae402 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
jkh
104b1b6d44 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
jkh
bf3b3fb949 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
rgrimes
d8d6963870 Add the installation of bsd.README. Realphabitize the FILES= list.
Reviewed by:	rgrimes
Submitted by:	bde
1994-09-07 09:18:44 +00:00
rgrimes
207e517d42 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
jkh
e293653b56 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
jkh
146bce91d6 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
jkh
266a87f5b0 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
jkh
a17ca90da4 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
jkh
3c48513c36 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
jkh
3b760f1e05 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
3362278539 Changed g++ to c++
Reviewed by:
Submitted by:
1994-08-31 03:57:32 +00:00
adam
2c77870951 added hook for post-build script
Reviewed by:
Submitted by:
1994-08-30 16:39:27 +00:00
bde
74d471ded9 Use ${ECHO} instead of echo' so that make -s' is fairly quiet. 1994-08-28 15:37:40 +00:00
bde
890d275e06 Use ${ECHODIR} instead of `echo' for printing directory names so that
`make -ss' is very quiet.
1994-08-28 15:35:30 +00:00
bde
aae4323802 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
bde
83175041c1 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
jkh
f48f3d94c8 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
bde
a317fdaa9f Fix filenames for LIBC and LIBTERM. 1994-08-28 14:21:55 +00:00
jkh
614a7154bd Add bsd.port* to the Makefile.
Reviewed by:
Submitted by:
1994-08-28 09:35:51 +00:00
wollman
23d29d1860 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
jkh
086d789d50 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
jkh
33590b59ad Also `make Makefiles' in USE_IMAKE case to catch subdirs.
Submitted by:	jkh
1994-08-25 21:02:45 +00:00
jkh
770379a7dd 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
jkh
3798ff1fab 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
jkh
e9f6ac333f 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
jkh
4a656c2d35 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
jkh
a25b9ee2be Make package target a lot more general.
Submitted by:	jkh
1994-08-22 13:11:32 +00:00
jkh
c13537c11b Whoops - left out the package rule!
Submitted by:	jkh
1994-08-22 13:02:16 +00:00
jkh
8577cd8d3b Use proper proper package suffix.
Submitted by:	jkh
1994-08-22 12:07:19 +00:00
jkh
625473eeda Whoops, left out a backslash in my package rule.
Submitted by:	jkh
1994-08-22 12:00:34 +00:00
jkh
561920de5c 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
jkh
82ae5641cb 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
jkh
129f91e56b 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
jkh
ea0b3abd5a 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
jkh
54a33ec15d Make things a little more user-friendly
Submitted by:	jkh
1994-08-21 17:42:24 +00:00
jkh
e11734b059 Get the .configure_done stuff working - it wasn't in the right place.
Submitted by:	jkh
1994-08-21 16:55:54 +00:00
jkh
b69164d67e 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
jkh
c97bc1836a 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
jkh
b9b05c1af2 Whoops, the check for a missing distfile was slightly bogus. Now it works.
Submitted by:	jkh
1994-08-21 14:32:40 +00:00
jkh
578048e107 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
jkh
e27e1435ad 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
bde
a76575c125 - 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
wollman
7bf0ebe620 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
wollman
cc563f2b12 Don't pass ${LDADD} to ${AR}. Use ${ARADD} for that. 1994-08-08 15:45:55 +00:00
wollman
60d8fe7c22 Add a couple of files we created in 1.x. 1994-08-04 21:10:08 +00:00
wollman
f250796b87 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
rgrimes
b0d61785ca BSD 4.4 Lite Share Sources 1994-05-30 19:09:18 +00:00