X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/096afa4e695916a8068c82af6807f9b6de587c38..345a263b41d3bb7d28e83216e6c5853100f173c6:/Makefile diff --git a/Makefile b/Makefile index b938c241f..10652c07a 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ RELEASE:=Kamikaze #-------------------------------------------------------------- TOPDIR=${shell pwd} export TOPDIR +include $(TOPDIR)/include/verbose.mk OPENWRTVERSION:=$(RELEASE) ifneq ($(VERSION),) @@ -38,38 +39,78 @@ endif endif export OPENWRTVERSION -ifeq ($(shell ./scripts/timestamp.pl -p .pkginfo package),package) -.pkginfo: pkginfo-clean -endif +all: world -.pkginfo: +.pkginfo: FORCE +ifneq ($(shell ./scripts/timestamp.pl -p .pkginfo package Makefile),.pkginfo) @echo Collecting package info... - @-for makefile in package/*/Makefile; do \ - echo Source-Makefile: $$makefile; \ - $(MAKE) DUMP=1 -f $$makefile 2>&- || true; \ + @-for dir in package/*/; do \ + echo Source-Makefile: $${dir}Makefile; \ + $(NO_TRACE_MAKE) --no-print-dir DUMP=1 -C $$dir 2>&- || true; \ done > $@ - +endif + .config.in: .pkginfo ./scripts/gen_menuconfig.pl < $< > $@ || rm -f $@ -pkginfo-clean: +pkginfo-clean: FORCE -rm -f .pkginfo .config.in -scripts/config/mconf: .config.in +./scripts/config/mconf: .config.in $(MAKE) -C scripts/config all -scripts/config/conf: .config.in +./scripts/config/conf: .config.in $(MAKE) -C scripts/config conf -menuconfig: scripts/config/mconf +config: ./scripts/config/conf FORCE $< Config.in -config: scripts/config/conf +defconfig: ./scripts/config/conf FORCE + touch .config + $< -D .config Config.in + +oldconfig: ./scripts/config/conf FORCE + $< -o Config.in + +menuconfig: ./scripts/config/mconf FORCE $< Config.in -config-clean: +config-clean: FORCE $(MAKE) -C scripts/config clean -.PHONY: pkginfo-clean +package/%: .pkginfo FORCE + $(MAKE) -C package $(patsubst package/%,%,$@) + +target/%: .pkginfo FORCE + $(MAKE) -C target $(patsubst target/%,%,$@) + +toolchain/%: FORCE + $(MAKE) -C toolchain $(patsubst toolchain/%,%,$@) + +.config: ./scripts/config/conf FORCE + @[ -f .config ] || $(MAKE) menuconfig + $< -D .config Config.in >/dev/null 2>/dev/null + +download: .config FORCE + $(MAKE) toolchain/download + $(MAKE) package/download + $(MAKE) target/download + +world: .config FORCE + $(MAKE) toolchain/install + $(MAKE) target/compile + $(MAKE) package/compile + $(MAKE) package/install + $(MAKE) target/install + +clean: FORCE + rm -rf build_* bin + +dirclean: clean + rm -rf staging_dir_* toolchain_build_* +distclean: dirclean config-clean + rm -rf dl .*config* .pkg* +.PHONY: FORCE +FORCE: