diff --git a/Makefile b/Makefile index e6751ab..e34e130 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/include/Makefile b/include/Makefile index 428dcc3..e99adb4 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 diff --git a/src/Makefile b/src/Makefile index ebeb5c4..c635004 100644 --- a/src/Makefile +++ b/src/Makefile @@ -20,7 +20,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 presenter_OBJS = $(OBJDIR)document.o $(OBJDIR)presenter.o $(OBJDIR)slide.o $(OBJDIR)main.o presenter_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)