From 389529fe3599b90544f09cdae2d6318eefbe2352 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 28 Jul 2007 13:00:43 +0000 Subject: more build system cleanup git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8206 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- Makefile | 160 +++++++++------------------------------------------------------ 1 file changed, 21 insertions(+), 139 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index ad3b3b8e12..92b84bb2a7 100644 --- a/Makefile +++ b/Makefile @@ -7,132 +7,37 @@ # See /LICENSE for more information. # -RELEASE:=Kamikaze -#VERSION:=2.0 # uncomment for final release - -#-------------------------------------------------------------- -# Just run 'make menuconfig', configure stuff, then run 'make'. -# You shouldn't need to mess with anything beyond this point... -#-------------------------------------------------------------- - all: world -SHELL:=/usr/bin/env bash -export LC_ALL=C -export LANG=C -export TOPDIR=${CURDIR} -export IS_TTY=$(shell tty -s && echo 1 || echo 0) - -include ./rules.mk -include $(INCLUDE_DIR)/depends.mk -include $(INCLUDE_DIR)/subdir.mk -include tools/Makefile - -OPENWRTVERSION:=$(RELEASE) -ifneq ($(VERSION),) - OPENWRTVERSION:=$(VERSION) ($(OPENWRTVERSION)) -else - REV:=$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' ) - ifneq ($(REV),) - OPENWRTVERSION:=$(OPENWRTVERSION)/r$(REV) - endif -endif -export OPENWRTVERSION - -ifeq ($(FORCE),) - .config scripts/config/conf scripts/config/mconf: tmp/.prereq-build - world: tmp/.prereq-package tmp/.prereq-target -endif - -package/%/Makefile: ; -target/%/Makefile: ; - -SCAN_COOKIE?=$(shell echo $$$$) -export SCAN_COOKIE - -tmp/.packageinfo tmp/.targetinfo: FORCE - mkdir -p tmp/info - $(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="profiles/*.mk $(TOPDIR)/include/kernel*.mk" SCAN_DEPTH=2 SCAN_EXTRA="" - $(NO_TRACE_MAKE) -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/include/package*.mk" SCAN_DEPTH=4 SCAN_EXTRA="" - -tmpinfo-clean: FORCE - -rm -rf tmp/.*info -tmp/.config-%.in: tmp/.%info scripts/metadata.pl - ./scripts/metadata.pl $*_config < $< > $@ || rm -f $@ +TOPDIR:=${CURDIR} +LC_ALL:=C +LANG:=C +IS_TTY:=${shell tty -s && echo 1 || echo 0} +export TOPDIR LC_ALL LANG IS_TTY -.config: ./scripts/config/conf tmp/.config-target.in tmp/.config-package.in - if [ \! -f .config ]; then \ - [ -e $(HOME)/.openwrt/defconfig ] && cp $(HOME)/.openwrt/defconfig .config; \ - $(NO_TRACE_MAKE) menuconfig; \ - fi - $< -D .config Config.in &> /dev/null +include rules.mk -scripts/config/mconf: - $(MAKE) -C scripts/config all - -scripts/config/conf: - $(MAKE) -C scripts/config conf - - - -config: scripts/config/conf tmp/.config-target.in tmp/.config-package.in FORCE - $< Config.in - -config-clean: FORCE - $(NO_TRACE_MAKE) -C scripts/config clean - -defconfig: scripts/config/conf tmp/.config-target.in tmp/.config-package.in FORCE - touch .config - $< -D .config Config.in - -oldconfig: scripts/config/conf tmp/.config-target.in tmp/.config-package.in FORCE - $< -o Config.in +ifneq ($(OPENWRT_BUILD),1) + export OPENWRT_BUILD:=1 + include $(INCLUDE_DIR)/toplevel.mk +else + include $(INCLUDE_DIR)/depends.mk + include $(INCLUDE_DIR)/subdir.mk + include tools/Makefile -menuconfig: scripts/config/mconf tmp/.config-target.in tmp/.config-package.in FORCE - if [ \! -f .config -a -e $(HOME)/.openwrt/defconfig ]; then \ - cp $(HOME)/.openwrt/defconfig .config; \ - fi - $< Config.in +clean: FORCE + rm -rf build_* bin tmp -kernel_oldconfig: .config FORCE - $(NO_TRACE_MAKE) -C target/linux oldconfig +dirclean: clean + rm -rf staging_dir_* toolchain_build_* tool_build -kernel_menuconfig: .config FORCE - $(NO_TRACE_MAKE) -C target/linux menuconfig +distclean: dirclean config-clean symlinkclean docs/clean + rm -rf dl -package/% target/%: tmp/.packageinfo -toolchain/% package/% target/%: tmp/.targetinfo -package/% target/% toolchain/%: FORCE +toolchain/% package/% target/%: FORCE $(MAKE) -C $(patsubst %/$*,%,$@) $* - -tmp/.prereq-build: include/prereq-build.mk - mkdir -p tmp - rm -f tmp/.host.mk - $(NO_TRACE_MAKE) -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \ - echo "Prerequisite check failed. Use FORCE=1 to override."; \ - false; \ - } - touch $@ - -tmp/.prereq-%: include/prereq.mk tmp/.%info .config - mkdir -p tmp - rm -f tmp/.host.mk - $(NO_TRACE_MAKE) -s -C $* prereq 2>/dev/null || { \ - echo "Prerequisite check failed. Use FORCE=1 to override."; \ - false; \ - } - touch $@ - -prereq: tmp/.prereq-build tmp/.prereq-package tmp/.prereq-target FORCE - -download: .config FORCE - $(MAKE) tools/download - $(MAKE) toolchain/download - $(MAKE) package/download - $(MAKE) target/download - world: .config $(tools/stamp) FORCE $(MAKE) toolchain/install $(MAKE) target/compile @@ -141,27 +46,4 @@ world: .config $(tools/stamp) FORCE $(MAKE) target/install $(MAKE) package/index -clean: FORCE - rm -rf build_* bin tmp - -dirclean: clean - rm -rf staging_dir_* toolchain_build_* tool_build - -distclean: dirclean config-clean symlinkclean docs/clean - rm -rf dl - -help: - cat README - -docs docs/compile: FORCE - $(MAKE) -C docs compile - -docs/clean: FORCE - $(MAKE) -C docs clean - -symlinkclean: - -find package -type l | xargs rm -f - rm -rf tmp - -.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 -.PHONY: help +endif -- cgit v1.2.3