X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/55be77c438ef73e287d3432bd5c175b206c3ba6e..130f7163eba55d05ade65f43f70b05edb6aa7ee5:/Makefile diff --git a/Makefile b/Makefile index 81ecc43f8..172e1b80c 100644 --- a/Makefile +++ b/Makefile @@ -48,13 +48,11 @@ 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 +TARGETS+=linux + 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 +68,26 @@ 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) -.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,14 @@ $(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 source: $(TARGETS_SOURCE) @@ -118,12 +126,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) @@ -190,4 +203,3 @@ endif # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) .PHONY: dummy subdirs release distclean clean config oldconfig \ menuconfig tags check test depend -