X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=Makefile;h=ae8e59fbea985782631f16f93a6d7f704e8ef247;hb=0a28aa018879ac7dfcf09710f8651100da8fbbf4;hp=0fa90fb40d7aa3a0f4ae096cc45c189a94158c80;hpb=bf1beb70348499a33be764cc1c15f76bbe78d21b;p=openwrt-10.03%2F.git diff --git a/Makefile b/Makefile index 0fa90fb40..ae8e59fbe 100644 --- a/Makefile +++ b/Makefile @@ -48,13 +48,10 @@ ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) # along with the packages to build for the target. # ############################################################## -TARGETS:=host-sed linux-headers uclibc-configured binutils gcc uclibc-target-utils +TARGETS:=host-sed kernel-headers uclibc-configured binutils gcc uclibc-target-utils linux openwrt + include toolchain/Makefile.in -include toolchain/*/Makefile.in include package/Makefile.in -include package/*/Makefile.in -include target/Makefile.in -include target/*/Makefile.in ############################################################# # @@ -70,19 +67,27 @@ all: world # In this section, we need .config include .config.cmd +# We also need the various per-package makefiles, which also add +# each selected package to TARGETS if that package was selected +# in the .config file. +include toolchain/*/*.mk +include package/*/*.mk +include target/*/*.mk + +# target stuff is last so it can override anything else +include target/Makefile.in + TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS)) +TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS)) world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS) + @echo DONE. -.PHONY: all world clean distclean source $(TARGETS) \ +.PHONY: all world clean dirclean distclean source $(TARGETS) \ $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \ $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) -include toolchain/*/*.mk -include package/*/*.mk -include target/*/*.mk - ############################################################# # # staging and target directories do NOT list these as @@ -105,11 +110,16 @@ $(STAGING_DIR): @ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib $(TARGET_DIR): - @mkdir -p $(TARGET_DIR) - cp -a target/default/target_skeleton/* $(TARGET_DIR)/ - mkdir $(TARGET_DIR)/{proc,dev,jffs,tmp,usr/sbin} - chmod 1777 $(TARGET_DIR)/tmp - -find $(TARGET_DIR) -type d -name CVS -exec rm -rf {} \; > /dev/null 2>&1 + if [ -f "$(TARGET_SKELETON)" ] ; then \ + zcat $(TARGET_SKELETON) | tar -C $(BUILD_DIR) -xf -; \ + fi; + if [ -d "$(TARGET_SKEL_DIR)" ] ; then \ + cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \ + fi; + -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf + -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf + -ln -sf /tmp/resolv.conf $(TARGET_DIR)/etc + -mkdir -p $(TARGET_DIR)/jffs source: $(TARGETS_SOURCE) @@ -118,13 +128,17 @@ source: $(TARGETS_SOURCE) # Cleanup and misc junk # ############################################################# -clean: - rm -rf $(BUILD_DIR) $(IMAGE).* - -rm -f openwrt-* - @$(MAKE) -C $(CONFIG) clean +clean: + rm -rf $(TARGET_DIR) $(IMAGE).* + $(MAKE) openwrt-image-clean + +dirclean: $(TARGETS_DIRCLEAN) + rm -rf $(TARGET_DIR) $(IMAGE).* + $(MAKE) openwrt-image-dirclean distclean: clean - rm -rf $(DL_DIR) $(TOOL_BUILD_DIR) .config + rm -rf $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) + rm .config* .tmpconfig.h sourceball: rm -rf $(BUILD_DIR) @@ -154,26 +168,40 @@ $(CONFIG)/mconf: fi menuconfig: $(CONFIG)/mconf + -touch .config + -cp .config .config.test @$(CONFIG)/mconf $(CONFIG_CONFIG_IN) config: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf $(CONFIG_CONFIG_IN) oldconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -o $(CONFIG_CONFIG_IN) randconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -r $(CONFIG_CONFIG_IN) 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) allnoconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -n $(CONFIG_CONFIG_IN) defconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -d $(CONFIG_CONFIG_IN) ############################################################# @@ -181,7 +209,7 @@ defconfig: $(CONFIG)/conf # Cleanup and misc junk # ############################################################# -clean: +clean: @$(MAKE) -C $(CONFIG) clean distclean: clean @@ -191,4 +219,5 @@ endif # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) .PHONY: dummy subdirs release distclean clean config oldconfig \ menuconfig tags check test depend - +targets: + @echo $(TARGETS)