diff --git a/Makefile b/Makefile index 817166c..9e6e43d 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 531d493..134be49 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/CPP.types: ./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/CPP.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