httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <ma...@worldgate.com>
Subject Re: new makefiles
Date Sat, 06 Sep 1997 16:39:56 GMT
On Sat, 6 Sep 1997, Paul Sutton wrote:

> On Fri, 5 Sep 1997, Marc Slemko wrote:
> > are all the patches applied?  Dependencies are still messed up.
> > First I make a server with mod_proxy.
> > Then I rm modules/proxy/*.o
> > Then when I type make it does nothing.
> > Then I rm modules/proxy/libproxy.a
> > When I type make it tries to link but can't because libproxy isn't there.
> > When I type make a second time, it builds things as it should.
> 
> This should work. Now when you type make in src, it *always* does a make
> in os/unix, main and modules. The generated makefile in modules is pretty
> much the same is it was before the lib or source re-org changes, and
> always does a build in each of the sub-directories. 
> 
> Normally this means that proxy/*.o and proxy/libproxy.a get *rebuilt*
> every time, because the makefile in proxy rm's these files without
> uncontinationally before doing a build. I'm not sure why it does this. 

Something doesn't make sense.  Ahh.  Seems to work with GNU make
but not BSD make.

marcs@alive:~/archive/apache/apachen/src/modules$ make
(cd standard; make CC='cc' AUX_CFLAGS=' ' RANLIB='ranlib')
(cd proxy; make CC='cc' AUX_CFLAGS=' ' RANLIB='ranlib')
rm -f libproxy.a
ar crv libproxy.a mod_proxy.o proxy_cache.o proxy_connect.o proxy_ftp.o proxy_http.o proxy_util.o
a - mod_proxy.o
a - proxy_cache.o
a - proxy_connect.o
a - proxy_ftp.o
a - proxy_http.o
a - proxy_util.o
ranlib libproxy.a
(cd example; make CC='cc' AUX_CFLAGS=' ' RANLIB='ranlib')
Done building module subdirectories
marcs@alive:~/archive/apache/apachen/src/modules$ rm proxy/libproxy.a 
marcs@alive:~/archive/apache/apachen/src/modules$ make
(cd standard; make CC='cc' AUX_CFLAGS=' ' RANLIB='ranlib')
(cd example; make CC='cc' AUX_CFLAGS=' ' RANLIB='ranlib')
Done building module subdirectories


Above is the problem.  The second time around it doesn't even try
to do anything with the proxy.  I think this is caused by a bad
interaction with the ForceMe target.  BSD make has this horrible
habit of pretending files exist on disk because it thinks they
should; if you want a rule to make a .o file that does 
"cat source.c > foo.c; cc -c foo.c" it won't work right because
it will think foo.c exists on disk before it does and will try
to use a .c.o rule.  Well, the BSD make in FreeBSD 2.1 does this anyway.
Last I checked it wasn't fixed in 2.2.  This problem may be related.
Grr.  I will look further.


Mime
View raw message