http://sourceware.org/ml/gdb-cvs/2011-03/msg00077.html ### src/gdb/gdbserver/ChangeLog 2011/03/04 06:31:54 1.463 ### src/gdb/gdbserver/ChangeLog 2011/03/05 03:45:26 1.464 ## -1,3 +1,10 @@ +2011-03-05 Yao Qi + + * Makefile.in (CLEANDIRS, REQUIRED_SUBDIRS): New variable. + (subdir_do): New make target. Copied from gdb/Makefile. + (maintainer-clean, realclean, distclean, clean): Call corresponding + make targets in common/Makefile. + 2011-03-04 Yao Qi * Makefile.in: Remove GNU make feature --directory. --- src/gdb/gdbserver/Makefile.in 2011/03/04 06:31:54 1.104 +++ src/gdb/gdbserver/Makefile.in 2011/03/05 03:45:26 1.105 @@ -136,6 +136,9 @@ LIBCOMMON = $(LIBCOMMON_DIR)/libcommon.a LIBCOMMON_SRC = $(srcdir)/$(LIBCOMMON_DIR) +CLEANDIRS = $(LIBCOMMON_DIR) +REQUIRED_SUBDIRS = $(LIBCOMMON_DIR) + SOURCES = $(SFILES) TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS} @@ -291,6 +294,7 @@ tags: TAGS clean: + @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do rm -f *.o ${ADD_FILES} *~ rm -f version.c rm -f gdbserver$(EXEEXT) gdbreplay$(EXEEXT) core make.log @@ -314,6 +318,7 @@ rm -f i386-mmx.c i386-mmx-linux.c maintainer-clean realclean distclean: clean + @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(CLEANDIRS)" subdir_do rm -f nm.h tm.h xm.h config.status config.h stamp-h config.log rm -f Makefile @@ -321,6 +326,22 @@ stamp-h: config.in config.status CONFIG_FILES="" CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status +subdir_do: force + @for i in $(DODIRS); do \ + case $$i in \ + $(REQUIRED_SUBDIRS)) \ + if [ ! -f ./$$i/Makefile ] ; then \ + echo "Missing $$i/Makefile" >&2 ; \ + exit 1 ; \ + fi ;; \ + esac ; \ + if [ -f ./$$i/Makefile ] ; then \ + if (cd ./$$i; \ + $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \ + else exit 1 ; fi ; \ + else true ; fi ; \ + done + Makefile: Makefile.in config.status CONFIG_HEADERS="" $(SHELL) ./config.status