Currently the install-headers rule from include/Makefile creates
include/xfs, but there is no guarantee that it will be the first
directory that make executes that rule in. Hence other directories
can race with the creation on include/xfs and fail.
Move the creation of include/xfs to occur before running the
install_headers rules on the subdirectories to avoid any possible
races with creation.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
@echo "== dpkg-buildpackage: installer" 1>&2
if [ ! -f mkfs/mkfs.xfs-$(bootpkg) ]; then \
$(diopts) $(MAKE) include/platform_defs.h; \
+ mkdir -p include/xfs; \
for dir in include libxfs; do \
$(MAKE) -C $$dir NODEP=1 install-headers; \
done; \
# set up include/xfs header directory
install-headers: $(addsuffix -hdrs, $(HFILES) $(QAHFILES) $(PHFILES) $(DKHFILES) $(LIBHFILES))
-%-hdrs: xfs
+%-hdrs:
$(Q)$(LN_S) -f $(PWD)/include/$* xfs/$*
-xfs:
- @mkdir -p xfs
-
install: default
$(INSTALL) -m 755 -d $(PKG_INC_DIR)
$(Q)$(MAKE) $(MAKEOPTS) -C $* clean
ifdef HDR_SUBDIRS
+.PHONY: .xfs
+
headers: $(addsuffix -headers, $(HDR_SUBDIRS))
-%-headers:
+
+%-headers: .xfs
@echo " [HEADERS] $*"
$(Q)$(MAKE) $(MAKEOPTS) -C $* NODEP=1 install-headers
+
+.xfs:
+ @mkdir -p include/xfs
endif
# Never blow away subdirs