Small bugfix for dependency handling - mostly for base-files and symlinks
[openwrt.git] / Makefile
index e2d5c14..6b30ef9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -21,9 +21,6 @@ SHELL:=/usr/bin/env bash
 export LC_ALL=C
 export LANG=C
 export TOPDIR=${CURDIR}
 export LC_ALL=C
 export LANG=C
 export TOPDIR=${CURDIR}
-ifeq ($(KBUILD_VERBOSE),99)
-  MAKE:=3>/dev/null $(MAKE)
-endif
 export IS_TTY=$(shell tty -s && echo 1 || echo 0)
 
 include $(TOPDIR)/include/verbose.mk
 export IS_TTY=$(shell tty -s && echo 1 || echo 0)
 
 include $(TOPDIR)/include/verbose.mk
@@ -47,17 +44,17 @@ endif
 package/%/Makefile: ;
 target/%/Makefile: ;
 
 package/%/Makefile: ;
 target/%/Makefile: ;
 
-tmp/.packageinfo: FORCE
-tmp/.targetinfo: FORCE
+tmp/.packageinfo: $(wildcard package/*/Makefile include/package*.mk include/kernel.mk) FORCE
+tmp/.targetinfo: $(wildcard target/*/Makefile include/kernel*.mk)  FORCE
 tmp/.%info:
 tmp/.%info:
-       @mkdir -p tmp/info
-       @$(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="$*info" SCAN_DIR="$(patsubst target,target/linux,$*)" SCAN_NAME="$*" SCAN_DEPS="$^" SCAN_EXTRA=""
+       mkdir -p tmp/info
+       $(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="$*info" SCAN_DIR="$(patsubst target,target/linux,$*)" SCAN_NAME="$*" SCAN_DEPS="$(filter-out FORCE, $^)" SCAN_EXTRA=""
 
 tmpinfo-clean: FORCE
        -rm -rf tmp/.*info
 
 tmp/.config-%.in: tmp/.%info
 
 tmpinfo-clean: FORCE
        -rm -rf tmp/.*info
 
 tmp/.config-%.in: tmp/.%info
-       @./scripts/metadata.pl $*_config < $< > $@ || rm -f $@
+       ./scripts/metadata.pl $*_config < $< > $@ || rm -f $@
 
 .config: ./scripts/config/conf tmp/.config-target.in tmp/.config-package.in
        if [ \! -f .config ]; then \
 
 .config: ./scripts/config/conf tmp/.config-target.in tmp/.config-package.in
        if [ \! -f .config ]; then \
@@ -158,8 +155,8 @@ docclean:
        $(MAKE) -C docs/ clean
 
 symlinkclean:
        $(MAKE) -C docs/ clean
 
 symlinkclean:
-       find package -type l -exec rm -f {} +
+       find package -type l | xargs -r rm -f
 
 
-.SILENT: clean dirclean distclean symlinkclean config-clean download world help tmp/.%info tmpinfo-clean tmp/.config-%.in .config scripts/config/mconf scripts/config/conf menuconfig tmp/.prereq-build tmp/.prereq-%
+.SILENT: clean dirclean distclean symlinkclean config-clean download world help tmp/.packageinfo tmp/.targetinfo tmpinfo-clean tmp/.config-package.in tmp/.config-target.in .config scripts/config/mconf scripts/config/conf menuconfig tmp/.prereq-build tmp/.prereq-package tmp/.prereq-target
 FORCE: ;
 .PHONY: FORCE help
 FORCE: ;
 .PHONY: FORCE help
This page took 0.02485 seconds and 4 git commands to generate.