xfstests: some refinements on "make depend"

Make it so "make depend" is a generic target, like "make clean".

Each Makefile has a "depend" target that indicates whether making
dependencies means creating ".dep" or creating ".ltdep" (or, I
suppose, both, though none do that right now).  Both files get
created even if there are no CFILES to scan (to ensure the target
up-to-date).  The "default" target now depends on "depend" (there is
no "ltdepend" any more).

Remove the "depend" and "ltdepend" definitions from the "buildrules"
file; only the actual generated files (".dep" and ".ltdep") remain
as generic targets.  The "depend' target is still defined as phony.

Do a shell trick when expanding the value of CFILES, to avoid a
problem that occurs if it is created by "make" by concatentating two
empty strings.  The problem was that in that case CFILES will
contain a space, and that wasn't getting treated as empty as
desired.

Make the rule for tool/lib dependencies more generic, to reflect the
general desire that "lib" subdirectories need to be built before
things in the "tool" subdirectories.

Signed-off-by: Alex Elder <aelder@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Alex Elder
2011-03-04 19:37:41 +00:00
parent 6249f4ae8d
commit a241a16214
6 changed files with 33 additions and 12 deletions
+3 -1
View File
@@ -52,7 +52,7 @@ endif
endif endif
# tool/lib dependencies # tool/lib dependencies
src ltp: lib $(TOOL_SUBDIRS): $(LIB_SUBDIRS)
ifeq ($(HAVE_BUILDDEFS), yes) ifeq ($(HAVE_BUILDDEFS), yes)
include $(BUILDRULES) include $(BUILDRULES)
@@ -77,6 +77,8 @@ endif
aclocal.m4:: aclocal.m4::
aclocal --acdir=`pwd`/m4 --output=$@ aclocal --acdir=`pwd`/m4 --output=$@
depend: include/builddefs $(addsuffix -depend,$(SUBDIRS))
install: default $(addsuffix -install,$(SUBDIRS)) install: default $(addsuffix -install,$(SUBDIRS))
$(INSTALL) -m 755 -d $(PKG_LIB_DIR) $(INSTALL) -m 755 -d $(PKG_LIB_DIR)
$(INSTALL) -m 755 check $(PKG_LIB_DIR) $(INSTALL) -m 755 check $(PKG_LIB_DIR)
+21 -10
View File
@@ -6,13 +6,20 @@ _BUILDRULES_INCLUDED_ = 1
include $(TOPDIR)/include/builddefs include $(TOPDIR)/include/builddefs
depend: $(addsuffix -depend,$(SUBDIRS))
%-depend:
$(Q)$(MAKE) $(MAKEOPTS) -q -C $* depend || \
$(MAKE) $(MAKEOPTS) -C $* depend
clean clobber : $(addsuffix -clean,$(SUBDIRS)) clean clobber : $(addsuffix -clean,$(SUBDIRS))
$(Q)rm -f $(DIRT) $(Q)rm -f $(DIRT)
$(Q)rm -fr .libs .ltdep .dep $(Q)rm -fr .libs .ltdep .dep
%-clean: %-clean:
@echo "Cleaning $*" @echo "Cleaning $*"
$(Q)$(MAKE) $(MAKEOPTS) -q -C $* clean || $(MAKE) $(MAKEOPTS) -C $* clean $(Q)$(MAKE) $(MAKEOPTS) -q -C $* clean || \
$(MAKE) $(MAKEOPTS) -C $* clean
# Never blow away subdirs # Never blow away subdirs
ifdef SUBDIRS ifdef SUBDIRS
@@ -71,21 +78,25 @@ endif # _BUILDRULES_INCLUDED_
$(_FORCE): $(_FORCE):
# dependency build is automatic, relies on gcc -MM to generate. # dependency build is automatic, relies on gcc -MM to generate.
.PHONY : depend ltdepend .PHONY : depend
MAKEDEP := $(MAKEDEPEND) $(CFLAGS) MAKEDEP := $(MAKEDEPEND) $(CFLAGS)
ltdepend: .ltdep
.ltdep: $(CFILES) $(HFILES) .ltdep: $(CFILES) $(HFILES)
@echo " [LTDEP]" @echo " [LTDEP]"
$(Q)[ -n "$(CFILES)" ] && \ $(Q)if [ -n "$$( echo $(CFILES))" ]; then \
$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep $(MAKEDEP) $(CFILES) | \
$(SED) -e 's,^\([^:]*\)\.o,\1.lo,' > .ltdep; \
depend: .dep else \
cp /dev/null .ltdep; \
fi
.dep: $(CFILES) $(HFILES) .dep: $(CFILES) $(HFILES)
@echo " [DEP]" @echo " [DEP]"
$(Q)[ -n "$(CFILES)" ] && \ $(Q)if [ -n "$$( echo $(CFILES))" ]; then \
$(MAKEDEP) $(CFILES) | $(SED) -e 's,^\([^:]*\)\.o,\1,' > .dep $(MAKEDEP) $(CFILES) | \
$(SED) -e 's,^\([^:]*\)\.o,\1,' > .dep; \
else \
cp /dev/null .dep; \
fi
+3 -1
View File
@@ -19,10 +19,12 @@ CFILES = dataascii.c databin.c datapid.c file_lock.c forker.c \
str_to_bytes.c tlibio.c write_log.c \ str_to_bytes.c tlibio.c write_log.c \
random.c random.c
default: ltdepend $(LTLIBRARY) default: depend $(LTLIBRARY)
include $(BUILDRULES) include $(BUILDRULES)
depend: .ltdep
install install-dev: default install install-dev: default
-include .ltdep -include .ltdep
+2
View File
@@ -33,6 +33,8 @@ endif
default: depend $(TARGETS) default: depend $(TARGETS)
depend: .dep
include $(BUILDRULES) include $(BUILDRULES)
$(TARGETS): $(LIBTEST) $(TARGETS): $(LIBTEST)
+2
View File
@@ -61,6 +61,8 @@ LDIRT = $(TARGETS)
default: depend $(TARGETS) $(SUBDIRS) default: depend $(TARGETS) $(SUBDIRS)
depend: .dep
include $(BUILDRULES) include $(BUILDRULES)
$(TARGETS): $(LIBTEST) $(TARGETS): $(LIBTEST)
+2
View File
@@ -10,6 +10,8 @@ LLDLIBS = -laio -lpthread
default: depend $(TARGETS) default: depend $(TARGETS)
depend: .dep
include $(BUILDRULES) include $(BUILDRULES)
$(TARGETS): $(TARGETS):