Re: [PHP4BETA] php4-ng
| From: | Sascha Schumann | Date: | Sun, 26 Dec 1999 01:38:15 +0000 |
| Subject: | Re: [PHP4BETA] php4-ng | ||
| References: | 1 2 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-8507@lists.php.net to get a copy of this message | ||
On Sat, Dec 25, 1999 at 08:14:10PM -0500, rasmus@php.net wrote:
> > I'd appreciate it, if you could test it with your usual
> > configuration. Please let me know, if it works for you.
>
> Works ok on fbsd-3.4-RC
Thanks.
> But could you explain in a little more detail what exactly you changed?
Well, let us look at an extension Makefile.in. As every other
Makefile.in it starts with
DEPTH = ../..
topsrcdir = @topsrcdir@
srcdir = @srcdir@
VPATH = @srcdir@
``DEPTH'' specifies the relative path to the top build
directory. The other three variables should be
self-explanatory; the @macro@ stuff is substituted by
build/fastgen.sh (run by configure).
Because in this directory a libtool library will be built,
the next two lines look like this:
LTLIBRARY_NAME = libapache.la
LTLIBRARY_SOURCES = apache.c
Note the similarity to the Makefile.am approach where you
specified what to build (libapache.la) and which source files
to use (apache.c).
Make does not know yet what to do. So we include a magic
file:
include $(topsrcdir)/build/ltlib.mk
This is a black box. It's used by almost every Makefile in
PHP (note that TSRM, Zend still use automake).
build/rules.mk contains the meat of the whole system
(explicit and implicit rules, standard definitions, etc.).
This makefile also includes config_vars.mk which is created
by configure. The PHP_SUBST() m4 macro is used to place
variables there.
build/library.mk defines rules for building a single libtool
library (used by ltlib.mk).
build/program.mk defines rules for building a single program.
Comments?
--
Regards,
Sascha Schumann
Consultant