| http://git.kernel.dk/?p=blktrace.git;a=commit;h=519fd9a5d08d85f3d9cb4192d624fe8351e40232 |
| |
| From 4569544261be495bdec0574d7729c85a62dabad7 Mon Sep 17 00:00:00 2001 |
| From: "Robin H. Johnson" <robbat2@gentoo.org> |
| Date: Thu, 3 Feb 2011 03:07:06 +0000 |
| Subject: [PATCH] fix parallel build failures |
| |
| When building in parallel, the btreplay/btrecord and btreplay/btreplay |
| targets cause make to kick off two jobs for `make -C btreplay` and they |
| sometimes end up clobbering each other. We could fix this by making one |
| a dependency of the other, but it's a bit cleaner to refactor things to |
| be based on subdirs. This way changes in subdirs also get noticed: |
| $ touch btreplay/*.[ch] |
| $ make |
| <btreplay is now correctly updated> |
| |
| Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> |
| Signed-off-by: Mike Frysinger <vapier@gentoo.org> |
| --- |
| Makefile | 24 ++++++++++-------------- |
| 1 file changed, 10 insertions(+), 14 deletions(-) |
| |
| diff --git a/Makefile b/Makefile |
| index 68de59183a73..5917814d0344 100644 |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -4,23 +4,19 @@ ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 |
| PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon |
| LIBS = -lpthread |
| SCRIPTS = btrace |
| +SUBDIRS = btreplay btt iowatcher |
| |
| -ALL = $(PROGS) $(SCRIPTS) btt/btt btreplay/btrecord btreplay/btreplay \ |
| +ALL = $(PROGS) $(SCRIPTS) |
| +INSTALL_ALL = $(ALL) btt/btt btreplay/btrecord btreplay/btreplay \ |
| btt/bno_plot.py iowatcher/iowatcher |
| |
| -all: $(ALL) |
| +all: $(ALL) $(SUBDIRS) |
| |
| -btt/btt: |
| - $(MAKE) -C btt |
| - |
| -iowatcher/iowatcher: |
| - $(MAKE) -C iowatcher |
| - |
| -btreplay/btrecord: |
| - $(MAKE) -C btreplay |
| - |
| -btreplay/btreplay: |
| - $(MAKE) -C btreplay |
| +# We always descend into subdirs because they contain their own dependency |
| +# information which we don't track in this top level Makefile. |
| +$(SUBDIRS): |
| + $(MAKE) -C $@ |
| +.PHONY: $(SUBDIRS) |
| |
| %.o: %.c |
| $(CC) -o $*.o -c $(ALL_CFLAGS) $< |
| @@ -85,7 +81,7 @@ install: all |
| $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) |
| $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1 |
| $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8 |
| - $(INSTALL) -m 755 $(ALL) $(DESTDIR)$(bindir) |
| + $(INSTALL) -m 755 $(INSTALL_ALL) $(DESTDIR)$(bindir) |
| $(INSTALL) -m 644 doc/*.1 $(DESTDIR)$(mandir)/man1 |
| $(INSTALL) -m 644 doc/*.8 $(DESTDIR)$(mandir)/man8 |
| |
| -- |
| 2.15.1 |
| |