diff --git a/Makefile b/Makefile index 3e4145f..9d5d2ef 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,11 @@ MKDIR = mkdir -m 0755 -p all: subdirs subdirs: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE)) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + ([ -d "$(OBJDIR)$$i" ] || $(MKDIR) -- "$(OBJDIR)$$i") && \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/"; \ + else $(MAKE); fi) || exit; done clean: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) clean) || exit; done diff --git a/doc/Makefile b/doc/Makefile index 5048b2a..95cd1fb 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -12,7 +12,11 @@ INSTALL = install all: subdirs $(TARGETS) subdirs: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE)) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + ([ -d "$(OBJDIR)$$i" ] || $(MKDIR) -- "$(OBJDIR)$$i") && \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/"; \ + else $(MAKE); fi) || exit; done $(OBJDIR)gtkdoc/libDesktop.types: ../config.sh ./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/libDesktop.types" diff --git a/doc/gtkdoc/Makefile b/doc/gtkdoc/Makefile index 5a92a09..9fa587b 100644 --- a/doc/gtkdoc/Makefile +++ b/doc/gtkdoc/Makefile @@ -1,10 +1,15 @@ SUBDIRS = tmpl +MKDIR = mkdir -m 0755 -p all: subdirs subdirs: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE)) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + ([ -d "$(OBJDIR)$$i" ] || $(MKDIR) -- "$(OBJDIR)$$i") && \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/"; \ + else $(MAKE); fi) || exit; done clean: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) clean) || exit; done diff --git a/include/Makefile b/include/Makefile index 23d1e86..f6c0b6f 100644 --- a/include/Makefile +++ b/include/Makefile @@ -12,7 +12,11 @@ INCLUDEDIR= $(PREFIX)/include all: subdirs subdirs: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE)) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + ([ -d "$(OBJDIR)$$i" ] || $(MKDIR) -- "$(OBJDIR)$$i") && \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/"; \ + else $(MAKE); fi) || exit; done clean: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) clean) || exit; done