httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Sutton <p...@ukweb.com>
Subject Re: bug in new Makefile
Date Mon, 18 Aug 1997 10:07:37 GMT
On Sun, 17 Aug 1997, Dean Gaudet wrote:
> On Sun, 17 Aug 1997, Paul Sutton wrote:
> libraries is the more traditional way I think... but you run into trouble
> with "make -j N" if the top level depends on the .as.  Something like this
> is usually used to recurse:

Yeah, but then Configure needs to know whether the (say) module
directories are using a generated Makefile (and hence creating a .a) or a
module-supplied makefile (which may generate a .o or a .a) when creating
the OBJS= line. At the moment it doesn't know this info until right at the
end of Configure when it (prehaps) creates Makefiles for the module
directories. Um, it can be done but will be a little bit of work. 

In the meantime here is the patch for my alternative solution via a
"last-built" file which is deleted whenever an object file is updated.
Since things are clearly broken at the moment, I suggest we commit this an
an interim fix. 

//pcs

Index: Configure
===================================================================
RCS file: /export/home/cvs/apachen/src/Configure,v
retrieving revision 1.136
diff -u -r1.136 Configure
--- Configure	1997/08/18 06:05:34	1.136
+++ Configure	1997/08/18 09:59:25
@@ -958,6 +958,7 @@
 
 .c.o:
 	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
+	@rm -f ../../last-built
 
 clean:
 	rm -f $(OBJS)
Index: Makefile.tmpl
===================================================================
RCS file: /export/home/cvs/apachen/src/Makefile.tmpl,v
retrieving revision 1.56
diff -u -r1.56 Makefile.tmpl
--- Makefile.tmpl	1997/08/14 12:18:28	1.56
+++ Makefile.tmpl	1997/08/18 09:59:27
@@ -31,8 +31,11 @@
 	@echo "If not, you will at least have to touch @@Configuration@@."
 	@false
 
-httpd: $(REGLIB) $(OBJS)
+httpd: $(REGLIB) modules.o last-built
 	$(CC) $(LDFLAGS)  -o httpd $(OBJS) $(REGLIB) $(LIBS)
+
+last-built:
+	touch last-built
 
 regex/libregex.a:
 	(cd regex; $(MAKE) lib CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)')
Index: core/Makefile.tmpl
===================================================================
RCS file: /export/home/cvs/apachen/src/core/Makefile.tmpl,v
retrieving revision 1.2
diff -u -r1.2 Makefile.tmpl
--- Makefile.tmpl	1997/08/13 09:28:46	1.2
+++ Makefile.tmpl	1997/08/18 09:59:27
@@ -15,6 +15,7 @@
 
 .c.o:
 	$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
+	@rm -f ../last-built
 
 all: $(OBJS)
 


Mime
View raw message