Small bugfix for dependency handling - mostly for base-files and symlinks
[openwrt.git] / Makefile
index 3596bcd..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}
-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
@@ -47,11 +44,11 @@ endif
 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:
        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=""
+       $(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
@@ -59,11 +56,9 @@ tmpinfo-clean: FORCE
 tmp/.config-%.in: tmp/.%info
        ./scripts/metadata.pl $*_config < $< > $@ || rm -f $@
 
-
-
 .config: ./scripts/config/conf tmp/.config-target.in tmp/.config-package.in
-       if [ \! -f .config -a -e $(HOME)/.openwrt/defconfig ]; then \
-               cp $(HOME)/.openwrt/defconfig .config; \
+       if [ \! -f .config ]; then \
+               [ -e $(HOME)/.openwrt/defconfig ] && cp $(HOME)/.openwrt/defconfig .config; \
                $(NO_TRACE_MAKE) menuconfig; \
        fi
        $< -D .config Config.in &> /dev/null
@@ -160,8 +155,8 @@ docclean:
        $(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
This page took 0.036254 seconds and 4 git commands to generate.