When attempting to delete outdated files, if there is an exact match
for a line in `build/data.out`, prevent checking for nested files.
Previously, these lines would match, but `find` would keep descending
into them, so the directories would not be deleted but all files inside
would be.
ifneq ($(twostep),)
# Build the data and remove outdated data files.
data : $(BUILDDIR)/data.out
ifneq ($(twostep),)
# Build the data and remove outdated data files.
data : $(BUILDDIR)/data.out
- $(silent)$(FIND) $(call quote,$(BUILDDIR)/data/public) '!' -exec $(GREP) -F -q -x '{}' $(call quote,$<) ';' -a '(' -type d -o -print ')' | $(xargsmultiquote) | $(XARGS) -E '' $(RM)
+ $(silent)$(FIND) $(call quote,$(BUILDDIR)/data/public) '!' '(' -exec $(GREP) -F -q -x '{}' $(call quote,$<) ';' -a -prune ')' -a '(' -type d -o -print ')' | $(xargsmultiquote) | $(XARGS) -E '' $(RM)