X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=openwrt%2FMakefile;h=abc9dfee2756e6c2458618791d074f351ff5979d;hp=ef60ff198812031cf5b80f4d7895aa61bddabfc1;hb=4378b6c3f037002de128f711485da54539d8a457;hpb=5716d7d4f53eca068d9153d4cb353b6c71fd54d3 diff --git a/openwrt/Makefile b/openwrt/Makefile index ef60ff1988..abc9dfee27 100644 --- a/openwrt/Makefile +++ b/openwrt/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,7 +24,12 @@ #-------------------------------------------------------------- TOPDIR=${shell pwd} export TOPDIR + +ifneq ($(DEVELOPER),) +CONFIG_CONFIG_IN = Config.in.devel +else CONFIG_CONFIG_IN = Config.in +endif CONFIG_DEFCONFIG = .defconfig CONFIG = package/config @@ -41,22 +46,7 @@ include $(TOPDIR)/rules.mk all: world -############################################################## -# -# Build the toolchain -# -############################################################## -toolchain_install: - $(MAKE) -C toolchain install - -############################################################## -# -# Make all packages -# -############################################################## - -package_install: toolchain - $(MAKE) -C package compile install +.NOTPARALLEL: ############################################################# # @@ -65,28 +55,21 @@ package_install: 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_install: - $(MAKE) -C target install + (cd $(PACKAGE_DIR); $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages) $(DL_DIR): @mkdir -p $(DL_DIR) @@ -94,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) +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 @@ -169,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)