X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/37b4b940be735ea9a479d60f90537d93bff17de2..f2765db8e6e8f39ac736c9699001ed8a4fa310b9:/target/Makefile diff --git a/target/Makefile b/target/Makefile index 8b94d424c..9a7dff2a7 100644 --- a/target/Makefile +++ b/target/Makefile @@ -1,165 +1,55 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# include $(TOPDIR)/rules.mk -include $(TOPDIR)/rules.mk - -# Default target skeleton stuff, may be overridden -TARGET_SKEL_DIR=default/target_skeleton +include $(INCLUDE_DIR)/target.mk all: install -define IMAGE_template -$(BIN_DIR)/openwrt-wrt54g-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-4MB,$(1)).trx - PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g - $(SED) "1s,^W54S,W54G," $$@ - -$(BIN_DIR)/openwrt-wrt54gs-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-8MB,$(1)).trx - PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g - -ifeq ($(BR2_TARGET_WRT54G),y) -IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54g-$(1).bin -endif -ifeq ($(BR2_TARGET_WRT54GS),y) -IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54gs-$(1).bin -endif -endef - -TARGET_DIRS:= -TARGET_FS:= -IMAGE_TARGETS:= -ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2)),y) -TARGET_DIRS += jffs2 -TARGET_FS += jffs2 -endif -ifeq ($(strip $(BR2_TARGET_ROOTFS_SQUASHFS_LZMA)),y) -TARGET_DIRS += squashfs-lzma -TARGET_FS += squashfs -endif -$(foreach fs,$(TARGET_FS),$(eval $(call IMAGE_template,$(fs)))) - -INSTALL_TARGET_DIRS:=$(patsubst %,%-install,$(TARGET_DIRS)) -$(INSTALL_TARGET_DIRS): image_clean $(TARGET_DIR)/etc/sysconf $(BIN_DIR) - -prepare: $(patsubst %,%-prepare,$(TARGET_DIRS)) - mkdir -p $(TARGET_DIR) - 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; - mkdir -p $(TARGET_DIR)/jffs - mkdir -p $(TARGET_DIR)/dev - mkdir -p $(TARGET_DIR)/proc - mkdir -p $(TARGET_DIR)/tmp - mkdir -p $(TARGET_DIR)/lib - mkdir -p $(TARGET_DIR)/usr/lib - mkdir -p $(TARGET_DIR)/usr/bin - -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf - -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf - $(BIN_DIR): mkdir -p $(BIN_DIR) -compile: $(patsubst %,%-compile,$(TARGET_DIRS)) -install: utils-install $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS) -clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean - -image_clean: - rm -f $(BIN_DIR)/openwrt-* - -$(TARGET_DIR)/etc/sysconf: - mkdir -p $(TARGET_DIR)/etc - -grep \^BR2_SYSCONF $(TOPDIR)/.config > $(TARGET_DIR)/etc/sysconf +linux-install: $(BIN_DIR) +image_install: linux-install -%-clean: - $(MAKE) -C $(patsubst %-clean,%,$@) clean -%-prepare: - $(MAKE) -C $(patsubst %-prepare,%,$@) prepare -%-compile: %-prepare - $(MAKE) -C $(patsubst %-compile,%,$@) compile -%-install: %-compile - $(MAKE) -C $(patsubst %-install,%,$@) install +IMAGE_DIR:=linux/$(BOARD)-$(KERNEL)/image +download: $(patsubst %,%-download,$(TARGETS-y)) +prepare: linux-prepare +compile: linux-compile image_compile +install: linux-install image_install - -# Default target skeleton stuff, may be overridden -TARGET_SKEL_DIR=default/target_skeleton - -all: install - -define IMAGE_template -$(BIN_DIR)/openwrt-wrt54g-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-4MB,$(1)).trx - PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g - $(SED) "1s,^W54S,W54G," $$@ - -$(BIN_DIR)/openwrt-wrt54gs-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-8MB,$(1)).trx - PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g - -ifeq ($(BR2_TARGET_WRT54G),y) -IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54g-$(1).bin -endif -ifeq ($(BR2_TARGET_WRT54GS),y) -IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54gs-$(1).bin +ifeq ($(CONFIG_SDK),y) +install: sdk_install endif -endef - -TARGET_DIRS:= -TARGET_FS:= -IMAGE_TARGETS:= -ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2)),y) -TARGET_DIRS += jffs2 -TARGET_FS += jffs2 -endif -ifeq ($(strip $(BR2_TARGET_ROOTFS_SQUASHFS_LZMA)),y) -TARGET_DIRS += squashfs-lzma -TARGET_FS += squashfs +ifeq ($(CONFIG_IB),y) +install: imagebuilder_install endif -$(foreach fs,$(TARGET_FS),$(eval $(call IMAGE_template,$(fs)))) -INSTALL_TARGET_DIRS:=$(patsubst %,%-install,$(TARGET_DIRS)) -$(INSTALL_TARGET_DIRS): image_clean $(TARGET_DIR)/etc/sysconf $(BIN_DIR) +clean: linux-clean sdk-clean imagebuilder-clean image_clean -prepare: $(patsubst %,%-prepare,$(TARGET_DIRS)) - mkdir -p $(TARGET_DIR) - 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; - mkdir -p $(TARGET_DIR)/jffs - mkdir -p $(TARGET_DIR)/dev - mkdir -p $(TARGET_DIR)/proc - mkdir -p $(TARGET_DIR)/tmp - mkdir -p $(TARGET_DIR)/lib - mkdir -p $(TARGET_DIR)/usr/lib - mkdir -p $(TARGET_DIR)/usr/bin - ln -sf /tmp/resolv.conf $(TARGET_DIR)/etc/resolv.conf - rm -rf $(TARGET_DIR)/var - ln -sf /tmp $(TARGET_DIR)/var - -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf - -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf +prereq: FORCE + $(MAKE) -C linux/$(BOARD)-$(KERNEL) prereq + $(MAKE) -C $(IMAGE_DIR) prereq -$(BIN_DIR): - mkdir -p $(BIN_DIR) +sdk_install: FORCE + $(MAKE) -C sdk install -compile: $(patsubst %,%-compile,$(TARGET_DIRS)) -install: utils-install $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS) -clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean - -image_clean: +image_clean: FORCE + $(MAKE) -C $(IMAGE_DIR) clean rm -f $(BIN_DIR)/openwrt-* + +image_compile: FORCE + $(MAKE) -C $(IMAGE_DIR) compile -$(TARGET_DIR)/etc/sysconf: - mkdir -p $(TARGET_DIR)/etc - -grep \^BR2_SYSCONF $(TOPDIR)/.config > $(TARGET_DIR)/etc/sysconf - -%-clean: - $(MAKE) -C $(patsubst %-clean,%,$@) clean -%-prepare: - $(MAKE) -C $(patsubst %-prepare,%,$@) prepare -%-compile: %-prepare - $(MAKE) -C $(patsubst %-compile,%,$@) compile -%-install: %-compile - $(MAKE) -C $(patsubst %-install,%,$@) install +image_install: image_compile + $(MAKE) -C $(IMAGE_DIR) install +imagebuilder_install: image_install + $(MAKE) -C imagebuilder install +%-prereq %-prepare %-download %-clean %-compile %-install: FORCE + $(MAKE) -C $* $(patsubst $*-%,%,$@)