summaryrefslogtreecommitdiffstats
path: root/openwrt/target
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/target')
-rw-r--r--openwrt/target/Makefile165
1 files changed, 165 insertions, 0 deletions
diff --git a/openwrt/target/Makefile b/openwrt/target/Makefile
new file mode 100644
index 000000000..8b94d424c
--- /dev/null
+++ b/openwrt/target/Makefile
@@ -0,0 +1,165 @@
+include $(TOPDIR)/rules.mk
+include $(TOPDIR)/rules.mk
+
+# 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
+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
+
+%-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
+
+
+
+# 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
+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
+ 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
+
+$(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
+
+%-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
+
+