--------------------- PatchSet 543 Date: 2000/08/19 13:34:31 Author: hno Branch: hno-devel Tag: (none) Log: Hopefully this will fix those issues with parallel builds reported by Duane. I actually managed to reproduce it using gmake. Will test it on FreeBSD and if I haven't broken things commit it to HEAD Members: configure.in:1.1.1.3.6.7.2.19->1.1.1.3.6.7.2.20 src/Makefile.in:1.1.1.3.10.7.2.6->1.1.1.3.10.7.2.7 src/fs/Makefile.in:1.1.6.2.2.1->1.1.6.2.2.2 src/repl/Makefile.in:1.1.6.1->1.1.6.2 Index: squid/configure.in =================================================================== RCS file: /cvsroot/squid-sf//squid/configure.in,v retrieving revision 1.1.1.3.6.7.2.19 retrieving revision 1.1.1.3.6.7.2.20 diff -u -r1.1.1.3.6.7.2.19 -r1.1.1.3.6.7.2.20 --- squid/configure.in 15 Aug 2000 06:01:42 -0000 1.1.1.3.6.7.2.19 +++ squid/configure.in 19 Aug 2000 13:34:31 -0000 1.1.1.3.6.7.2.20 @@ -3,13 +3,13 @@ dnl dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9) dnl -dnl $Id: configure.in,v 1.1.1.3.6.7.2.19 2000/08/15 06:01:42 hno Exp $ +dnl $Id: configure.in,v 1.1.1.3.6.7.2.20 2000/08/19 13:34:31 hno Exp $ dnl dnl dnl AC_INIT(src/main.c) AC_CONFIG_HEADER(include/autoconf.h) -AC_REVISION($Revision: 1.1.1.3.6.7.2.19 $)dnl +AC_REVISION($Revision: 1.1.1.3.6.7.2.20 $)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AC_CONFIG_AUX_DIR(cfgaux) @@ -322,6 +322,8 @@ AC_SUBST(STORE_MODULES) STORE_OBJS="fs/`echo $STORE_MODULES|sed -e's% %.a fs/%g'`.a" AC_SUBST(STORE_OBJS) +STORE_LIBS="`echo $STORE_OBJS|sed -e's%fs/%%g'`" +AC_SUBST(STORE_LIBS) dnl --enable-heap-replacement compability option AC_ARG_ENABLE(heap-replacement, @@ -365,6 +367,8 @@ AC_SUBST(REPL_POLICIES) REPL_OBJS="repl/`echo $REPL_POLICIES|sed -e's% %.a repl/%g'`.a" AC_SUBST(REPL_OBJS) +REPL_LIBS="`echo $REPL_OBJS|sed -e's%repl/%%g'`" +AC_SUBST(REPL_LIBS) OPT_PINGER_EXE='' AC_ARG_ENABLE(icmp, Index: squid/src/Makefile.in =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/Makefile.in,v retrieving revision 1.1.1.3.10.7.2.6 retrieving revision 1.1.1.3.10.7.2.7 diff -u -r1.1.1.3.10.7.2.6 -r1.1.1.3.10.7.2.7 --- squid/src/Makefile.in 15 Jul 2000 20:52:06 -0000 1.1.1.3.10.7.2.6 +++ squid/src/Makefile.in 19 Aug 2000 13:34:32 -0000 1.1.1.3.10.7.2.7 @@ -1,7 +1,7 @@ # # Makefile for the Squid Object Cache server # -# $Id: Makefile.in,v 1.1.1.3.10.7.2.6 2000/07/15 20:52:06 hno Exp $ +# $Id: Makefile.in,v 1.1.1.3.10.7.2.7 2000/08/19 13:34:32 hno Exp $ # # Uncomment and customize the following to suit your needs: # @@ -197,7 +197,11 @@ DEFAULTS = \ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\" -all: squid.conf store_modules repl_modules $(PROGS) $(UTILS) $(SUID_UTILS) $(CGIPROGS) +all: squid.conf $(PROGS) $(UTILS) $(SUID_UTILS) $(CGIPROGS) + @for dir in $(SUBDIRS); do \ + echo "Making $@ in $$dir..."; \ + (cd $$dir ; $(MAKE) $(MFLAGS) prefix="$(prefix)" $@) || exit 1; \ + done $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h @@ -241,7 +245,10 @@ cache_cf.o: cf_parser.c -squid.conf cf_parser.c: cf.data cf_gen +squid.conf: cf_parser.c + @sh -c "test -f squid.conf || ./cg_gen cf.data" + +cf_parser.c: cf.data cf_gen ./cf_gen cf.data cf_gen: cf_gen.o @@ -275,10 +282,8 @@ store_modules.o: store_modules.c $(CC) -c store_modules.c $(CFLAGS) -I$(srcdir) -$(STORE_OBJS): fs/stamp - -store_modules fs/stamp: - @sh -c "cd fs && $(MAKE) all" +$(STORE_OBJS): + @sh -c "cd `dirname $@` && $(MAKE) $(MFLAGS) `basename $@`" repl_modules.c: repl_modules.sh Makefile sh $(srcdir)/repl_modules.sh $(REPL_POLICIES) >repl_modules.c @@ -286,7 +291,8 @@ repl_modules.o: repl_modules.c $(CC) -c repl_modules.c $(CFLAGS) -I$(srcdir) -$(REPL_OBJS): repl/stamp +$(REPL_OBJS): + @sh -c "cd `dirname $@` && $(MAKE) $(MFLAGS) `basename $@`" repl_modules repl/stamp: @sh -c "cd repl && $(MAKE) all" Index: squid/src/fs/Makefile.in =================================================================== RCS file: /cvsroot/squid-sf//squid/src/fs/Attic/Makefile.in,v retrieving revision 1.1.6.2.2.1 retrieving revision 1.1.6.2.2.2 diff -u -r1.1.6.2.2.1 -r1.1.6.2.2.2 --- squid/src/fs/Makefile.in 2 May 2000 22:50:29 -0000 1.1.6.2.2.1 +++ squid/src/fs/Makefile.in 19 Aug 2000 13:34:32 -0000 1.1.6.2.2.2 @@ -4,14 +4,15 @@ # SUBDIRS = @STORE_MODULES@ +OUTLIBS = @STORE_LIBS@ all: @test -z "$(SUBDIRS)" || for dir in $(SUBDIRS); do \ sh -c "cd $$dir && $(MAKE) all" || exit 1; \ done; \ - if [ ! -f stamp ]; then \ - touch stamp; \ - fi + +$(OUTLIBS): + @sh -c "cd `basename $@ .a` && $(MAKE) $(MFLAGS) ../$@" clean: -rm -f *.a stamp Index: squid/src/repl/Makefile.in =================================================================== RCS file: /cvsroot/squid-sf//squid/src/repl/Attic/Makefile.in,v retrieving revision 1.1.6.1 retrieving revision 1.1.6.2 diff -u -r1.1.6.1 -r1.1.6.2 --- squid/src/repl/Makefile.in 14 May 2000 23:22:21 -0000 1.1.6.1 +++ squid/src/repl/Makefile.in 19 Aug 2000 13:34:33 -0000 1.1.6.2 @@ -4,6 +4,7 @@ # SUBDIRS = @REPL_POLICIES@ +OUTLIBS = @REPL_LIBS@ all: @test -z "$(SUBDIRS)" || for dir in $(SUBDIRS); do \ @@ -13,6 +14,9 @@ touch stamp; \ fi +$(OUTLIBS): + @sh -c "cd `basename $@ .a` && make ../$@" + clean: -rm -f *.a stamp -for dir in *; do \