X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/3d80c3754b3421428b47f89ce26f07adf10e7501..0167360282da38c534a2698b415a8e2bed241d0a:/openwrt/Makefile diff --git a/openwrt/Makefile b/openwrt/Makefile index 5434b0e7f..ae8e59fbe 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -48,13 +48,10 @@ ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) # along with the packages to build for the target. # ############################################################## -TARGETS:=linux-headers host-sed 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,9 +110,16 @@ $(STAGING_DIR): @ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib $(TARGET_DIR): - zcat target/default/skel.tar.gz | tar -C $(BUILD_DIR) -xf - - cp -a target/default/target_skeleton/* $(TARGET_DIR)/ - -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) @@ -116,12 +128,17 @@ source: $(TARGETS_SOURCE) # Cleanup and misc junk # ############################################################# -clean: - rm -rf $(BUILD_DIR) $(IMAGE).* - @$(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) @@ -151,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) ############################################################# @@ -188,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)