detect whether the find command supports -L or -follow
authorFelix Fietkau <nbd@openwrt.org>
Mon, 16 Jul 2007 07:19:45 +0000 (07:19 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 16 Jul 2007 07:19:45 +0000 (07:19 +0000)
SVN-Revision: 8002

include/host.mk
include/scan.mk

index 833aa83a66fb3c75204c6fe74160e4a59d3fbc15..cc0436e7b04b42fcd293243b96c02ce5b035810a 100644 (file)
@@ -5,7 +5,7 @@
 # See /LICENSE for more information.
 #
 
-include $(TMP_DIR)/.host.mk
+-include $(TMP_DIR)/.host.mk
 
 export TAR
 
@@ -29,6 +29,11 @@ $(TMP_DIR)/.host.mk: $(TOPDIR)/include/host.mk
                [ -n "$$TAR" -a -x "$$TAR" ] || TAR=`which tar 2>/dev/null`; \
                echo "TAR:=$$TAR" >> $@; \
                echo "BASH:=$(shell which bash)" >> $@; \
+               if find -L /tmp -maxdepth 0 >/dev/null 2>/dev/null; then \
+                       echo 'FIND_L=find -L $$(1)' >>$@; \
+               else \
+                       echo 'FIND_L=find $$(1) -follow' >> $@; \
+               fi; \
        )
 
 endif
index 04add4016c63f89f01fc56981ff77bed11f8296f..552f14637a74de4c1fd8819c6ad3a1b94ae1b727 100644 (file)
@@ -1,7 +1,10 @@
 include $(TOPDIR)/include/verbose.mk
+TMP_DIR:=$(TOPDIR)/tmp
 
 all: tmp/.$(SCAN_TARGET)
 
+include $(TOPDIR)/include/host.mk
+
 SCAN_TARGET ?= packageinfo
 SCAN_NAME ?= package
 SCAN_DIR ?= package
@@ -31,7 +34,7 @@ endef
 
 $(FILELIST):
        rm -f tmp/info/.files-$(SCAN_TARGET)-*
-       find -follow $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
+       $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
 
 tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
        ( \