X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/8a702c602da0dd25f4baa5b9058dd521d3deeb63..aaa50eba442636926d53f6dc454b9b2ed751c098:/Makefile?ds=sidebyside diff --git a/Makefile b/Makefile index 1a218df58..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,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,22 +55,21 @@ package_install: toolchain # ############################################################# - # In this section, we need .config include .config.cmd -world: $(DL_DIR) $(BUILD_DIR) target_prepare $(TARGET_DIR) toolchain_install package_install target_install package_index - -.PHONY: all world clean dirclean distclean image_clean target_clean source target_prepare target_install toolchain_install package_install +world: $(DL_DIR) $(BUILD_DIR) configtest + $(MAKE) toolchain/install target/compile package/compile root_clean package/install target/install package_index + @$(TRACE) Build complete. -package_index: - $(STAGING_DIR)/usr/bin/ipkg-make-index $(PACKAGE_DIR) > $(PACKAGE_DIR)/Packages +.PHONY: all world clean dirclean distclean image_clean target_clean source configtest -target_prepare: - $(MAKE) -C target prepare +configtest: + -cp .config .config.test + -scripts/configtest.pl -target_install: - $(MAKE) -C target install +package_index: + (cd $(PACKAGE_DIR); $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages) $(DL_DIR): @mkdir -p $(DL_DIR) @@ -88,41 +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 - rm -rf $(STAMP_DIR) - $(MAKE) -C package clean - $(MAKE) -C target 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 @@ -166,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)