X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/08479c3ef6123d8b8156fd8e5e9c1763216e0503..6f30b3374c635b7cf0f988c166f8afc0602395da:/Makefile?ds=sidebyside diff --git a/Makefile b/Makefile index cd9423314..abc9dfee2 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ -# Makefile for OpenWRT +# Makefile for OpenWrt # -# Copyright (C) 2005 by Felix Fietkau +# Copyright (C) 2005 by Felix Fietkau # Copyright (C) 1999-2004 by Erik Andersen # # This program is free software; you can redistribute it and/or modify @@ -24,6 +24,7 @@ #-------------------------------------------------------------- TOPDIR=${shell pwd} export TOPDIR + ifneq ($(DEVELOPER),) CONFIG_CONFIG_IN = Config.in.devel else @@ -47,26 +48,6 @@ all: world .NOTPARALLEL: -############################################################## -# -# Build the toolchain -# -############################################################## -toolchain_install: - $(MAKE) -C toolchain install - -############################################################## -# -# Make all packages -# -############################################################## - -package_compile: target_compile - $(MAKE) -C package compile - -package_install: package_compile toolchain - $(MAKE) -C package install - ############################################################# # # You should probably leave this stuff alone unless you know @@ -74,31 +55,21 @@ package_install: package_compile toolchain # ############################################################# - # In this section, we need .config include .config.cmd -world: $(DL_DIR) $(BUILD_DIR) configtest target_prepare $(TARGET_DIR) toolchain_install package_install target_install package_index +world: $(DL_DIR) $(BUILD_DIR) configtest + $(MAKE) toolchain/install target/compile package/compile root_clean package/install target/install package_index + @$(TRACE) Build complete. -.PHONY: all world clean dirclean distclean image_clean target_clean source target_prepare target_install toolchain_install package_install configtest +.PHONY: all world clean dirclean distclean image_clean target_clean source configtest configtest: -cp .config .config.test -scripts/configtest.pl package_index: - (cd $(PACKAGE_DIR); \ - $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \ - ) - -target_prepare: - $(MAKE) -C target prepare - -target_compile: - $(MAKE) -C target compile - -target_install: - $(MAKE) -C target install + (cd $(PACKAGE_DIR); $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages) $(DL_DIR): @mkdir -p $(DL_DIR) @@ -106,38 +77,45 @@ $(DL_DIR): $(BUILD_DIR): @mkdir -p $(BUILD_DIR) -source: $(TARGETS_SOURCE) +source: toolchain/source package/source target/source + +package/%: + @$(TRACE) $@ + $(MAKE) -C package $(patsubst package/%,%,$@) + +target/%: + @$(TRACE) $@ + $(MAKE) -C target $(patsubst target/%,%,$@) + +toolchain/%: + @$(TRACE) $@ + $(MAKE) -C toolchain $(patsubst toolchain/%,%,$@) ############################################################# # # Cleanup and misc junk # ############################################################# -image_clean: +root_clean: + @$(TRACE) root_clean + rm -rf $(BUILD_DIR)/linux-*/root $(BUILD_DIR)/root + +target_clean: root_clean rm -f $(STAMP_DIR)/.*-compile rm -f $(STAMP_DIR)/.*-install rm -rf $(BIN_DIR) - -target_clean: image_clean - rm -rf $(TARGET_DIR) -clean: target_clean - @$(MAKE) -C $(CONFIG) clean +clean: dirclean -dirclean: clean +dirclean: + @$(TRACE) dirclean + @$(MAKE) -C $(CONFIG) clean rm -rf $(BUILD_DIR) -distclean: clean - rm -rf $(STAMP_DIR) $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) +distclean: dirclean + rm -rf $(STAMP_DIR) $(DL_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) rm -f .config* .tmpconfig.h -sourceball: distclean - set -e; \ - cd ..; \ - rm -f buildroot.tar.bz2; \ - tar -cvf buildroot.tar buildroot; \ - bzip2 -9 buildroot.tar; \ - else # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) all: menuconfig @@ -181,8 +159,6 @@ randconfig: $(CONFIG)/conf -./scripts/configtest.pl allyesconfig: $(CONFIG)/conf - #@$(CONFIG)/conf -y $(CONFIG_CONFIG_IN) - #sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config -touch .config -cp .config .config.test @$(CONFIG)/conf -o $(CONFIG_CONFIG_IN)