X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/021e6aa5f3691fe6fdf04a406a642575f46f284a..ed5be4a29d0e4f2cc02112ec819fdeea4d39abd1:/Makefile diff --git a/Makefile b/Makefile index d82d6180e..92a49bf9e 100644 --- a/Makefile +++ b/Makefile @@ -38,37 +38,71 @@ 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; \ + $(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/mconf +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/%,%,$@) + +world: ./scripts/config/conf FORCE + touch .config + $< -D .config Config.in >/dev/null 2>/dev/null + $(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: