Commit Graph

690 Commits

Author SHA1 Message Date
Peter Wemm
92892ca7a5 Do not add ${KMOD} to the CLEANFILES list. We want ${PROG} which is either
${KMOD}.o or ${KMOD}.ko.  Otherwise we can delete the source shell script
for linux, joy and ibcs2.
1998-11-05 04:01:55 +00:00
Satoshi Asami
fc006fb4ee (1) Add new variables LOOP_VAR and LOOP_OPTIONS to implement building several
packages from a single port.  LOOP_VAR is the name of the variable
    and LOOP_OPTIONS is a space-separated list of values it should
    take.  When these are set, the target "package-loop" will go
    through a clean and package loop for all the options.  The
    "package-loop" target is defined as "package" when LOOP_VAR is not
    defined, so if you are in the business for building packages, you
    should use "package-loop" all the time.  (This target is added to
    bsd.port.subdir.mk too.)

    Also, the "describe" target prints out multiple lines so that all
    options will go into the INDEX.  (In other words, if you define
    these variables, INDEX is going to look real silly if you don't
    put ${${LOOP_VAR}} in PKGNAME.)

Seconded by:	obrien ("ANYTHING")

(2) Turn off regexp support for LIB_DEPENDS.  It is a fixed string of
    the form <NAME>.<VER> now.
Tested by:	several rounds of complete package builds

(3) Check checksum even if NO_EXTRACT is defined.

(4) Cosmetic fix for message in MANUAL_PACKAGE_BUILD case.
1998-10-30 08:28:02 +00:00
Warner Losh
830775aaf9 Default to aout only on i386. Before we defaulted to elf only on
Alpha.  This is a minor, but important distinction.  Should be a no-op
to the install base.  If OBJFORMAT is set elsewhere, things work
exactly as they did before.
1998-10-19 20:09:17 +00:00
David E. O'Brien
7b81086b13 Allow ``make BINDIR=/foo/games'' to work. 1998-10-18 09:35:17 +00:00
Peter Wemm
08a04a8985 Update the kld glue
Pre-Approved by: jkh
1998-10-16 03:32:03 +00:00
Peter Wemm
fdbdd3a05f Support encapsulating ELF linker sets for KLD modules via gensetdefs.
Support name based dependencies at build time.  This is a hack.
These only affect KLD modules.
1998-10-14 04:04:22 +00:00
Satoshi Asami
37a64fc4b4 Add new variable NO_FILTER_SHLIBS -- it will disable ELF <-> a.out shlib
name conversion.  Use it for binary ports that come with its own private
shlib dirs, ports that install linux compatibility libraries (thus following
their naming conventions and not ours), etc.

Reviewed by:	Martin Cracauer <cracauer@FreeBSD.ORG>
1998-10-09 01:27:21 +00:00
Satoshi Asami
e96b50e352 (1) Add new variable ${PERL} which is equal to ${PERL5} but without the
version number part (i.e., "<directory>/perl").  Use this to
    substitute #! lines in your perl5 scripts.

Requested and reviewed by:	ache

(2) Add new variable WRKDIRPREFIX (defaults to "").  The "work"
    directories are now in ${WRKDIRPREFIX}${.CURDIR}/work by default.
    You can have a read-only ports tree (modulo any broken ports that
    write something to places other than ${WRKDIR}) by setting this to
    a writable location.

    Ports that set WRKDIR explicitly should append this to front so
    they will work when the user has WRKDIRPREFIX set.

Reviewed by:	Toshihiko Kodama <kodama@ayame.mfd.cs.fujitsu.co.jp>
1998-10-06 21:12:14 +00:00
Mike Smith
8fe644b289 Define KLD_MODULE if building a KLD module.
Forgot to mention that the previous commit was
Submitted by:	Doug Rabson <dfr@freebsd.org>
1998-10-02 05:08:09 +00:00
Mike Smith
90f60fc9bc Changes to support building of KLD modules. This includes the possibly
to be removed KMODDEPS define.
1998-10-02 04:51:10 +00:00
Satoshi Asami
c6d9533ece (1) Add BROKEN_ELF variable, similar to BROKEN. (There is no BROKEN_AOUT,
since ports are not supposed to be broken during the process of
    conversion to ELF -- please proceed with caution.)

(2) Support for checking file size before fetching.  The essential
    parts are commented out for now, so I won't lose the submission
    while we discuss how to do it.
Submitted by:	se (mostly)

(3) Don't run "fetch" twice.  It was due to the change in checksum
    target chaining.  It used to be fetch -> checksum -> extract,
    after 1.285 it was fetch -> checksum and checksum was also
    explicitly called from extract.  Fix it by not calling fetch from
    checksum when it's invoked by extract.
Noticed by:	pre-fetch target of lesstif being run twice

(4) Don't try to remove non-existent distfiles and patchfiles in
    distclean.
Submitted by:	anto@netscape.net
PR:		7988
1998-09-22 23:58:49 +00:00
David E. O'Brien
80db5fd640 Change lib specification in `clean' target to match ELF shared libs too.
Reported by:	Kris Kennaway <kkennawa@physics.adelaide.edu.au>
1998-09-20 19:49:44 +00:00
Jordan K. Hubbard
0f8ee3e37c This goes in doc distribution now. 1998-09-17 11:35:11 +00:00
Poul-Henning Kamp
d80044954c Two patches from the HARP people:
Various Makefile related fixes.

-Wformat fixes.

Submitted by:	Mike Spengler <mks@networkcs.com>
1998-09-17 09:35:02 +00:00
Satoshi Asami
d2748a4068 Yikes, put .endif in wrong place. 1998-09-17 01:22:05 +00:00
Satoshi Asami
b6ab977c7b Remove shlib minor if PORTOBJFORMAT=elf. 1998-09-17 01:00:23 +00:00
Satoshi Asami
66078de1a1 (1) Pass PORTOBJFORMAT in SCRIPTS_ENV too.
Submitted by:	"Eugene M. Kim" <gene@nttlabs.com>

(2) Check for exact version of perl5 in /usr/bin and exit with error
    message if USE_PERL5 is defined and version does not match
    ${PERL_VERSION}.

(3) Note LIB_DEPENDS should not have any regular expressions.  Remove
    those in USE_XLIB and USE_QT.
1998-09-16 12:04:38 +00:00
Justin T. Gibbs
b1758a280b Define LIBCAM and LIBDEVSTAT. 1998-09-15 10:27:20 +00:00
David E. O'Brien
fc936cbd13 Revert to rev 1.41.
Some didn't like it.
1998-09-15 05:24:01 +00:00
David E. O'Brien
30173cb8aa Add ${RM} for compatability with SunOS.
Many use ${RM} in their ``clean'' targets.
1998-09-14 09:22:04 +00:00
David E. O'Brien
5ecaf9a866 Change file ownership from bin.bin to root.wheel. 1998-09-14 08:34:45 +00:00
Wolfram Schneider
c7e4247c19 `make clean' depend on the inclunde file bsd.dep.mk 1998-09-13 20:57:56 +00:00
Satoshi Asami
aa135a93cd (1) Add MLINKS support.
Submitted by:	hoek

(2) ELF support.
 2a. Variable PORTOBJFORMAT specifies the object format of the system.
     It is passed down to configure/make via CONFIGURE_ENV/MAKE_ENV,
     and is given to generate-plist via PLIST_SUB.
 2b. In PLIST, substitute lines that end with "/libFOO.so.X" with
     "/libFOO.so.X.0".  (This means PLISTs should only list ELF
     libraries.)
Reviewed by:	jb, jdp, hoek, jseger, steve

(3) Perl5-in-system support.  Basically turns USE_PERL5 into a no-op
    if there exists a "/usr/bin/perl5".  Also fix prior breakage by
    dima (${PREFIX} => ${LOCALBASE} in perl5 path).
Reviewed by:	markm (sort of)

(4) Install requirement file as "+REQUIRE" so it will be executed
    correctly by pkg_delete.
Reported by:	Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>

(5) Do not disable checksum and makesum when NO_EXTRACT is set.
Pointed out by:	hoek and kiri, among other people
1998-09-10 06:38:02 +00:00
Mark Murray
072039180e Add libperl for Perl5. 1998-09-09 17:51:15 +00:00
Bruce Evans
90e137696c Fixed disordering and misformatting in previous commit.
Don't override correct default targets.

Don't use afterinstall for installing things; it is for fixups after
installing things.
1998-09-09 10:17:34 +00:00
Bruce Evans
def151a8fc Backed out rev.1.28. It was bogus because bsd.man.mk is only used
(and only usable) by other .mk files that have their own multiple
inclusion protection.
1998-09-09 10:12:07 +00:00
Bruce Evans
405b59bcb5 Turned on -Wformat -fformat-extensions. -fformat-extensions requires a
-current version of gcc.  Without it, -Wformat would complain about all
the nonstandard %[Dbrz] formats in the kernel.
1998-09-09 10:04:58 +00:00
John Birrell
c908270ee3 Add a man section 1aout for the legacy man files to avoid them being
installed over the ones from binutils.
1998-09-07 05:55:02 +00:00
Bruce Evans
1d0de5e557 Add -aout to CFLAGS and LDFLAGS in bsd.kmod.mk, not in
src/lkm/Makefile.inc.  This fixes broken builds of the syscons LKMs
when OBJFORMAT=elf.  Removed src/lkm/Makefile.inc since it became
empty and is worse than useless.
1998-09-02 14:29:09 +00:00
John Birrell
04df7eaa71 Oops, I missed the update from /etc/objectformat to /etc/objformat
which caused a port-ELF upgrade to continue to build aout.
1998-08-31 23:34:37 +00:00
John Birrell
3cba807609 Remove BINFORMAT which is only set when building tools that need to have
a default format.

Include /etc/objformat to get the installed object type if it exists
and if OBJFORMAT is not already defined.
1998-08-30 20:35:24 +00:00
John Birrell
cdaa52cf0c BINFORMAT -> OBJFORMAT ready for E-day. 1998-08-30 20:33:27 +00:00
Wolfram Schneider
e3706b10d9 bsd.docb.mk handles installing SGML/docbook documents. 1998-08-29 11:01:22 +00:00
Matthew Dillon
9eb10afece add support for /etc/make.conf.local 1998-08-29 01:30:13 +00:00
Dima Ruban
fd08501ea2 Introduce PERL5 variable.
It's gonna be used in all p5- ports.

Reviewed by:	asami
1998-08-28 18:41:04 +00:00
Satoshi Asami
9d9806c5b9 Hope I haven't missed anything or forgotten to credit anybody. (By
the way, most of the things below are "Reviewed by: hoek" as well.)

The changes are (roughly in order of appearance):

(1) Revamp comments at beginning of file.  Major rewrites.  Reorder
    them into more relevant sections.  Make clear which ones are user
    variables and not to be set in ports' Makefiles.
Reviewed by:	hoek (well, he's the only one who sent any comments)

(2) Include ${.CURDIR}/Makefile.local if it exists.  This is a local
    configuration file (ala rc.conf.local and make.conf.local) so
    please do not commit a file with this name to the repository.
Suggested by:	dillon

(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
    "maybe".  (It used to be a binary variable -- the old behavior is
    now accomplished by "MANCOMPRESSED=yes".  Ports that defined this
    variable to other values have been corrected.)

    "yes" means the manpages are installed compressed, "no" means they
    are not, and "maybe" means the port already respects the value of
    NOMANCOMPRESS.  The default is "yes" for USE_IMAKE ports without
    NO_INSTALL_MANPAGES, and "no" otherwise.

    Add "compress-man" target and move manpage {,de}compression there.

Reviewed by:	hoek etc. and a full build of the ports tree

(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV.  Makes easier to "fix" ports
    for /usr/lib/aout mess.
Submitted by:	ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)

(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
    ${WRKDIR}/.PLIST.mktmp.
Suggested by:		hoek
Strongly seconded by:	steve

(6) Change a couple more relative pathnames to absolute ones.
Submitted by:	hoek

(7) Move checksum into real-extract.

(8) Change way rules are chained.  Instead of:

build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
	@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build

    we now have

build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
	@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
	@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build

    Other than being more PC (pmake clean), this really speeds up
    skipping ports already built.  For instance, "make package" on a
    fully packaged games subtree used to take 269 seconds on average,
    now it's 45 seconds on average.

    The flip side of this is that it will create more processes when
    the targets actually chain, but when you're actually compiling
    things, your make is creating half a bazzilion processes anyway so
    I don't think it matters.

(9) ${TMPPLIST} is now a real dependency.  Create "generate-plist"
    target to generate ${TMPPLIST}.  Make sure it's called when needed
    (usually between do-install and post-install), and that the
    required files exist.

(10) Change some messages so we can tell where "make index" failed.

(11) Check if LIB_DEPENDS really generated the required shared lib or
     not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
1998-08-27 00:18:50 +00:00
Satoshi Asami
38bcfc5c0e Add "deinstall" to list of targets. This is only fair since "install" and
"reinstall" are already here. :)
1998-08-26 23:46:13 +00:00
John Birrell
7c9bea41de Add default OBJFORMAT so that the build process can test for this
without having to run objformat to determine it.
1998-08-18 00:50:36 +00:00
Mark Murray
7d970abcea Bump version number for latest perl 1998-08-15 17:34:00 +00:00
Satoshi Asami
b9a5e65b05 Merge 1.227.2.45 (perl version substitution in PLIST). 1998-08-12 09:47:47 +00:00
Satoshi Asami
de00beffba Merge 1.227.2.44. 1998-08-12 01:47:47 +00:00
David E. O'Brien
b9796e16d2 I presume Satoshi wanted `uname -r'' for OSREL not `uname -s''
Found by:	gcc28 port
1998-08-10 04:02:50 +00:00
Peter Wemm
1cfd4a8b66 Clean up all temporaries that we can generate. 1998-08-08 13:22:06 +00:00
Peter Wemm
d9eb0d4d1b Use more standard ld commands when stripping symbols out; ld -O is a
freebsd-aout extension.  The binutils ld doesn't understand it.
Essentially this is backing out rev 1.33 for elf and other toolchain
support..
1998-08-08 13:11:44 +00:00
Peter Wemm
e0301e5d4b Make ../Makefile.inc handling more consistant to prevent multiple includes
when certain .mk files include other .mk files.  This will remove the
need for multiple include protection in some other makefiles around the
tree (and helps some elf conditionals).
1998-08-08 07:02:08 +00:00
John Birrell
b1ecf4ef4b Remove the alpha specific __NETBSD_SYSCALLS from CFLAGS. This can still
be added in /etc/make.conf. Yes folks, the alpha kernel is coming to
a screen (and hopefully a disk) near you. Thanks to Doug.
1998-08-08 02:08:37 +00:00
Mark Murray
48a72a5522 Update for Perl 5.005_01 1998-08-06 11:43:11 +00:00
Satoshi Asami
11af289961 (1) Rename variable "USE_X11" to "USE_X_PREFIX" to make clearer what it
means (change PREFIX to ${X11BASE}) and add a new variable USE_X11
    which means "this port requires the X window system (actually the
    library)".  USE_X_PREFIX implies USE_X11.  USE_X11 adds a
    LIB_DEPENDS to libX11 with the x11/XFree86 port.
Reviewed by:	the ports list, hoek in particular

(2) Remove NO_CONFIGURE and NO_PATCH, which never meant anything.
    Yell if they are defined.
Reviewed by:	the ports list

(3) Add new variable OSREL, which is automatically set to the
    numeric OS version (e.g., 2.2.1, 3.0).  It can be used to refer to
    files in gcc installations, for instance.

(4) Finally remove EXEC_DEPENDS hack after all these years.
Submitted by:	hoek

(5) Put quotes around some echo ${*_DEPENDS} statements so they won't
    blow up when the variables include regular expressions like
    "qt\\.1\\.\\\(33\\\|40\\\):${PORTSDIR}/x11/qt140".
1998-08-05 09:29:13 +00:00
Bruce Evans
cf94fb2124 Fixed building -current under 2.2.6 using `make world'. Moved some
recently added definitions from sys.mk to bsd.own.mk.  Include the
src-relative bsd.own.mk in src/Makefile to pick up all new definitions.
Don't check that MACHINE_ARCH is defined in src/Makefile, since it is
(and should have been) guaranteed to be defined.
1998-08-03 08:28:14 +00:00
Bruce Evans
0b7162ffcc Use a different hack in the ${DFILE} rule to keep indirect dependencies
(mostly for includes) separate from direct dependencies (so that ${.ALLSRC}
can be used to find full paths to the sources for the direct dependencies
only).  The `::' hack just forgot the indirect dependendencies.  This
broke building doc/usd/13.viref with `make -jN' - the index got corrupted
by being built twice concurrently.

Cleaned up the ${DFILE} rule.  There was a .else clause with dead code in
it following a .else clause (make accepts this bad syntax).  ${.ALLSRC}
now works in the USE_SOELIMPP case.  Some client Makefiles no longer need
the SRCDIR=${.OBJDIR} hack.
1998-08-02 13:50:23 +00:00