From 9c9606fba227f9f87cd5c7766ef901de16993fce Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 6 Oct 2010 16:46:12 +0000 Subject: [PATCH] * Makefile.in (REQUIRED_SUBDIRS): New var. (subdir_do): Verify required subdir Makefiles exist. --- gdb/ChangeLog | 3 +++ gdb/Makefile.in | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e1d6cb07fa0..d3800205764 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -4,6 +4,9 @@ 2010-10-06 Doug Evans + * Makefile.in (REQUIRED_SUBDIRS): New var. + (subdir_do): Verify required subdir Makefiles exist. + Create subdir data-directory. * Makefile.in (XML_SYSCALL_DIR, XML_SYSCALL_FILES): Moved to data-directory/Makefile.in. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index bfb4b59634b..b856c3a3467 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -875,6 +875,12 @@ TSOBS = inflow.o SUBDIRS = @subdirs@ data-directory CLEANDIRS = $(SUBDIRS) gnulib +# List of subdirectories in the build tree that must exist. +# This is used to force build failures in existing trees when +# a new directory is added. +# The format here is for the `case' shell command. +REQUIRED_SUBDIRS = doc | testsuite | gnulib | data-directory + # For now, shortcut the "configure GDB for fewer languages" stuff. YYFILES = c-exp.c \ cp-name-parser.c \ @@ -1239,6 +1245,13 @@ diststuff: $(DISTSTUFF) $(PACKAGE).pot $(CATALOGS) 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 ; \ -- 2.30.2