summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-05-09 16:22:53 -0600
committerBrian <[email protected]>2007-05-09 16:23:11 -0600
commit16c503f39a05726f3e994e42cb1c03e0a308b80d (patch)
tree1603daefea6ba5c115a4a4fed027e2838df4a153
parent4d5d4e1f97bf8d5c55ef817f7a28f920accc151b (diff)
Tweak the shell scripting for descending into and building subdirs.
In general, use this: @for dir in $(SUBDIRS) ; do \ if [ -d $$dir ] ; then \ (cd $$dir && $(MAKE)) || exit 1; \ fi \ done Basically, silently skip missing subdirs but generate an error and stop if there's a compilation or install problem. This was done inconsistantly before. In once case, a missing subdir was causing us to go into an infinte loop!
-rw-r--r--Makefile13
-rw-r--r--progs/Makefile4
-rw-r--r--src/Makefile6
-rw-r--r--src/mesa/drivers/dri/Makefile14
4 files changed, 24 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 88b6b79979d..4984e4dceb7 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,9 @@ SUBDIRS = src progs
default: $(TOP)/configs/current
@for dir in $(SUBDIRS) ; do \
- (cd $$dir ; $(MAKE)) || exit 1 ; \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE)) || exit 1 ; \
+ fi \
done
@@ -16,7 +18,9 @@ doxygen:
clean:
@for dir in $(SUBDIRS) ; do \
- (cd $$dir ; $(MAKE) clean) ; \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE) clean) ; \
+ fi \
done
@@ -34,9 +38,12 @@ realclean:
install:
@for dir in $(SUBDIRS) ; do \
- (cd $$dir ; $(MAKE) install) || exit 1 ; \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE) install) || exit 1 ; \
+ fi \
done
+
# DirectFBGL module installation
linux-directfb-install:
cd src/mesa/drivers/directfb && $(MAKE) install
diff --git a/progs/Makefile b/progs/Makefile
index d5ec17d43e5..5e705efa7ee 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -17,7 +17,7 @@ message:
subdirs:
@for dir in $(SUBDIRS) ; do \
if [ -d $$dir ] ; then \
- (cd $$dir ; $(MAKE)) || exit 1 ; \
+ (cd $$dir && $(MAKE)) || exit 1 ; \
fi \
done
@@ -27,6 +27,6 @@ install:
clean:
@for dir in $(SUBDIRS) tests ; do \
if [ -d $$dir ] ; then \
- (cd $$dir ; $(MAKE) clean) ; \
+ (cd $$dir && $(MAKE) clean) ; \
fi \
done
diff --git a/src/Makefile b/src/Makefile
index f52a06a3c96..f93987e6880 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -17,14 +17,14 @@ message:
subdirs:
@for dir in $(SUBDIRS) ; do \
if [ -d $$dir ] ; then \
- (cd $$dir ; $(MAKE)) || exit 1 ; \
+ (cd $$dir && $(MAKE)) || exit 1; \
fi \
done
install:
@for dir in $(SUBDIRS) ; do \
if [ -d $$dir ] ; then \
- (cd $$dir ; $(MAKE) install) || exit 1 ; \
+ (cd $$dir && $(MAKE) install) || exit 1 ; \
fi \
done
@@ -35,6 +35,6 @@ $(TOP)/$(LIB_DIR):
clean:
@for dir in $(SUBDIRS) ; do \
if [ -d $$dir ] ; then \
- (cd $$dir ; $(MAKE) clean) ; \
+ (cd $$dir && $(MAKE) clean) ; \
fi \
done
diff --git a/src/mesa/drivers/dri/Makefile b/src/mesa/drivers/dri/Makefile
index 1db878bab70..4abcc16c1bc 100644
--- a/src/mesa/drivers/dri/Makefile
+++ b/src/mesa/drivers/dri/Makefile
@@ -14,21 +14,25 @@ $(TOP)/$(LIB_DIR):
subdirs:
- echo $(DRI_DIRS)
@for dir in $(DRI_DIRS) ; do \
- echo $$dir ; \
- (cd $$dir && $(MAKE)) || exit 1; \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE)) || exit 1 ; \
+ fi \
done
install:
@for dir in $(DRI_DIRS) ; do \
- (cd $$dir && $(MAKE) install) || exit 1; \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE) install) || exit 1 ; \
+ fi \
done
clean:
@for dir in $(DRI_DIRS) ; do \
- (cd $$dir && $(MAKE) clean) ; \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE) clean ; \
+ fi \
done
-rm -f common/*.o