Always use -R flag with cp (to preserve symlinks)
[openwrt.git] / openwrt / package / sdk / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_OS:=$(shell uname -s)
6 PKG_CPU:=$(shell uname -m)
7
8 PKG_RELEASE:=1
9 SDK_NAME:=OpenWrt-SDK-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
10 IB_NAME:=OpenWrt-ImageBuilder-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
11
12 SDK_BUILD_DIR:=$(BUILD_DIR)/$(SDK_NAME)
13 IB_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME)
14
15 all: compile
16
17 $(BIN_DIR)/$(SDK_NAME).tar.bz2:
18 (cd $(STAGING_DIR); \
19 rm -rf info man share; \
20 cd usr; \
21 rm -rf doc info man share; \
22 )
23 rm -rf $(SDK_BUILD_DIR)
24 mkdir -p $(SDK_BUILD_DIR)/dl $(SDK_BUILD_DIR)/examples $(SDK_BUILD_DIR)/package
25 cp -a $(STAGING_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/
26 cp -a $(TOPDIR)/package/strace $(TOPDIR)/package/iproute2 $(SDK_BUILD_DIR)/examples
27 cp $(TOPDIR)/rules.mk $(SDK_BUILD_DIR)/
28 cp ./files/Makefile.sdk $(SDK_BUILD_DIR)/Makefile
29 cp ./files/README.SDK $(SDK_BUILD_DIR)/
30 cp ./files/depend.mk $(SDK_BUILD_DIR)/package/
31 cp $(TOPDIR)/package/rules.mk $(SDK_BUILD_DIR)/package/
32 egrep '^BR2_(ARCH|WGET|STAGING|JLEVEL|LARGEFILE|TARGET_OPT)' $(TOPDIR)/.config > $(SDK_BUILD_DIR)/.config
33 find $(SDK_BUILD_DIR) -name CVS | xargs rm -rf
34 (cd $(BUILD_DIR); \
35 tar cfj $@ $(SDK_NAME); \
36 )
37
38 $(BIN_DIR)/$(IB_NAME).tar.bz2:
39 rm -rf $(IB_BUILD_DIR)
40 mkdir -p $(IB_BUILD_DIR)/build
41 (cd $(BUILD_DIR); \
42 cp buildroot-kernel-image loader.gz $(IB_BUILD_DIR)/build; \
43 )
44 mkdir -p $(IB_BUILD_DIR)/utils
45 (cd $(STAGING_DIR)/bin; \
46 cp addpattern trx motorola-bin sed mkfs.jffs2 mksquashfs-lzma $(IB_BUILD_DIR)/utils; \
47 )
48 mkdir -p $(IB_BUILD_DIR)/include
49 mkdir -p $(IB_BUILD_DIR)/packages
50 (cd $(PACKAGE_DIR); \
51 cp ipkg_* busybox_* kmod-brcm-* kmod-wlcompat* dnsmasq_* iptables_* dropbear_* kmod-diag_* \
52 wireless-tools_* zlib* bridge_* ppp_* ppp*pppoe* kmod-ppp* openwrt-utils* $(IB_BUILD_DIR)/packages/; \
53 )
54 egrep '^[^(include|prepare|compile|install)]' < $(TOPDIR)/target/jffs2/Makefile > $(IB_BUILD_DIR)/include/jffs2.mk
55 egrep '^[^(include|prepare|compile|install)]' < $(TOPDIR)/target/squashfs-lzma/Makefile > $(IB_BUILD_DIR)/include/squashfs-lzma.mk
56 cp ./files/README.ImageBuilder $(IB_BUILD_DIR)/
57 cp ./files/Makefile.ib $(IB_BUILD_DIR)/Makefile
58 cp -a $(TOPDIR)/target/default/target_skeleton $(IB_BUILD_DIR)/
59 for target_dir in etc jffs dev proc tmp lib usr/lib usr/sbin; do \
60 mkdir -p $(IB_BUILD_DIR)/target_skeleton/$$target_dir; \
61 done
62 cp -a ./files/sysconf $(IB_BUILD_DIR)/target_skeleton/etc/
63 cp -a $(TARGET_DIR)/lib/*.so* $(IB_BUILD_DIR)/target_skeleton/lib/
64 cp -a $(BUILD_DIR)/libshared/libshared.so $(IB_BUILD_DIR)/target_skeleton/usr/lib/
65 cp -a $(BUILD_DIR)/libnvram/libnvram.so $(IB_BUILD_DIR)/target_skeleton/usr/lib/
66 cp -a $(BUILD_DIR)/libnvram/nvram $(IB_BUILD_DIR)/target_skeleton/usr/sbin/
67 cp -a $(BUILD_DIR)/linksys-wlconf/wlconf $(IB_BUILD_DIR)/target_skeleton/usr/sbin/
68 -$(STRIP) $(IB_BUILD_DIR)/target_skeleton/usr/lib/* $(IB_BUILD_DIR)/target_skeleton/usr/sbin/*
69 ln -sf /tmp/resolv.conf $(IB_BUILD_DIR)/target_skeleton/etc/resolv.conf
70 ln -sf /tmp $(IB_BUILD_DIR)/target_skeleton/var
71 find $(IB_BUILD_DIR) -name CVS | xargs rm -rf
72 (cd $(BUILD_DIR); \
73 tar cfj $@ $(IB_NAME); \
74 )
75
76 source:
77 prepare:
78 compile: $(BIN_DIR)/$(SDK_NAME).tar.bz2
79 # FIXME: image builder disabled for now. need to find a way to make it work cleanly with the new kernel structure
80 # $(BIN_DIR)/$(IB_NAME).tar.bz2
81 install:
82
83 clean:
84 rm -rf $(SDK_BUILD_DIR) $(BIN_DIR)/$(SDK_NAME).tar.bz2 $(BIN_DIR)/$(IB_NAME).tar.bz2
This page took 0.04293 seconds and 5 git commands to generate.