add ipkg to image builder
[openwrt/svn-archive/archive.git] / openwrt / package / sdk / Makefile
index b42dda4e42d8ed63af741d597c00b7c139b9ee7e..2345fcc2a6b14bef8f6c2513acd92ae63981d62a 100644 (file)
@@ -6,36 +6,76 @@ PKG_OS:=$(shell uname -s)
 PKG_CPU:=$(shell uname -m)
 
 PKG_RELEASE:=1
-PKG_NAME:=OpenWrt-SDK-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
+SDK_NAME:=OpenWrt-SDK-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
+IB_NAME:=OpenWrt-ImageBuilder-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
+SDK_BUILD_DIR:=$(BUILD_DIR)/$(SDK_NAME)
+IB_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME)
 
 all: compile
 
-$(BIN_DIR)/$(PKG_NAME).tar.bz2:
+$(BIN_DIR)/$(SDK_NAME).tar.bz2:
        (cd $(STAGING_DIR); \
                rm -rf info man share; \
                cd usr; \
                rm -rf doc info man share; \
        )
-       rm -rf $(PKG_BUILD_DIR)
-       mkdir -p $(PKG_BUILD_DIR)/dl $(PKG_BUILD_DIR)/examples $(PKG_BUILD_DIR)/package
-       cp -a $(STAGING_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(PKG_BUILD_DIR)/
-       cp -a $(TOPDIR)/package/strace $(TOPDIR)/package/iproute2 $(PKG_BUILD_DIR)/examples
-       cp $(TOPDIR)/rules.mk $(PKG_BUILD_DIR)/
-       cp ./files/Makefile.sdk $(PKG_BUILD_DIR)/Makefile
-       cp ./files/README.SDK $(PKG_BUILD_DIR)/
-       cp ./files/depend.mk $(PKG_BUILD_DIR)/package/
-       egrep '^BR2_(ARCH|WGET|STAGING|JLEVEL|LARGEFILE|TARGET_OPT)' $(TOPDIR)/.config > $(PKG_BUILD_DIR)/.config
-       find $(PKG_BUILD_DIR) -name CVS | xargs rm -rf 
+       rm -rf $(SDK_BUILD_DIR)
+       mkdir -p $(SDK_BUILD_DIR)/dl $(SDK_BUILD_DIR)/examples $(SDK_BUILD_DIR)/package
+       cp -a $(STAGING_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/
+       cp -a $(TOPDIR)/package/strace $(TOPDIR)/package/iproute2 $(SDK_BUILD_DIR)/examples
+       cp $(TOPDIR)/rules.mk $(SDK_BUILD_DIR)/
+       cp ./files/Makefile.sdk $(SDK_BUILD_DIR)/Makefile
+       cp ./files/README.SDK $(SDK_BUILD_DIR)/
+       cp ./files/depend.mk $(SDK_BUILD_DIR)/package/
+       egrep '^BR2_(ARCH|WGET|STAGING|JLEVEL|LARGEFILE|TARGET_OPT)' $(TOPDIR)/.config > $(SDK_BUILD_DIR)/.config
+       find $(SDK_BUILD_DIR) -name CVS | xargs rm -rf 
        (cd $(BUILD_DIR); \
-               tar cfj $@ $(PKG_NAME); \
+               tar cfj $@ $(SDK_NAME); \
+       )
+
+$(BIN_DIR)/$(IB_NAME).tar.bz2:
+       rm -rf $(IB_BUILD_DIR)
+       mkdir -p $(IB_BUILD_DIR)/build
+       (cd $(BUILD_DIR); \
+               cp buildroot-kernel-image loader.gz $(IB_BUILD_DIR)/build; \
+       )
+       mkdir -p $(IB_BUILD_DIR)/utils
+       (cd $(STAGING_DIR)/bin; \
+               cp addpattern trx motorola-bin sed mkfs.jffs2 mksquashfs-lzma $(IB_BUILD_DIR)/utils; \
+       )
+       mkdir -p $(IB_BUILD_DIR)/include
+       mkdir -p $(IB_BUILD_DIR)/packages
+       (cd $(PACKAGE_DIR); \
+               cp ipkg_* busybox_* kmod-brcm-* kmod-wlcompat* dnsmasq_* iptables_* dropbear_* kmod-diag_* \
+                  wireless-tools_* zlib* bridge_* ppp_* ppp-pppoe* kmod-ppp* openwrt-utils* $(IB_BUILD_DIR)/packages/; \
+       )
+       egrep '^[^(include|prepare|compile|install)]' < $(TOPDIR)/target/jffs2/Makefile > $(IB_BUILD_DIR)/include/jffs2.mk
+       egrep '^[^(include|prepare|compile|install)]' < $(TOPDIR)/target/squashfs-lzma/Makefile > $(IB_BUILD_DIR)/include/squashfs-lzma.mk
+       cp ./files/README.ImageBuilder $(IB_BUILD_DIR)/
+       cp ./files/Makefile.ib $(IB_BUILD_DIR)/Makefile
+       cp -a $(TOPDIR)/target/default/target_skeleton $(IB_BUILD_DIR)/
+       for target_dir in etc jffs dev proc tmp lib usr/lib usr/sbin; do \
+               mkdir -p $(IB_BUILD_DIR)/target_skeleton/$$target_dir; \
+       done
+       cp -a ./files/sysconf $(IB_BUILD_DIR)/target_skeleton/etc/
+       cp -a $(TARGET_DIR)/lib/*.so* $(IB_BUILD_DIR)/target_skeleton/lib/
+       cp -a $(BUILD_DIR)/libshared/libshared.so $(IB_BUILD_DIR)/target_skeleton/usr/lib/
+       cp -a $(BUILD_DIR)/libnvram/libnvram.so $(IB_BUILD_DIR)/target_skeleton/usr/lib/
+       cp -a $(BUILD_DIR)/libnvram/nvram $(IB_BUILD_DIR)/target_skeleton/usr/sbin/
+       cp -a $(BUILD_DIR)/linksys-wlconf/wlconf $(IB_BUILD_DIR)/target_skeleton/usr/sbin/
+       -$(STRIP) $(IB_BUILD_DIR)/target_skeleton/usr/lib/* $(IB_BUILD_DIR)/target_skeleton/usr/sbin/*
+       ln -sf /tmp/resolv.conf $(IB_BUILD_DIR)/target_skeleton/etc/resolv.conf
+       ln -sf /tmp $(IB_BUILD_DIR)/target_skeleton/var
+       find $(IB_BUILD_DIR) -name CVS | xargs rm -rf 
+       (cd $(BUILD_DIR); \
+               tar cfj $@ $(IB_NAME); \
        )
 
 source:
 prepare:
-compile: $(BIN_DIR)/$(PKG_NAME).tar.bz2
+compile: $(BIN_DIR)/$(SDK_NAME).tar.bz2 $(BIN_DIR)/$(IB_NAME).tar.bz2
 install:
 
 clean:
-       rm -rf $(PKG_BUILD_DIR)
+       rm -rf $(SDK_BUILD_DIR) $(BIN_DIR)/$(SDK_NAME).tar.bz2 $(BIN_DIR)/$(IB_NAME).tar.bz2