3 include $(TOPDIR
)/rules.mk
7 PKG_BUILD_DIR
:=$(BUILD_DIR
)/base-files
9 BOARD
:=$(shell LANG
=C grep ^BR2_LINUX_2
$(TOPDIR
)/.config|sed
-e
"s/=y//" \
10 -e
"s/.*_//"| tr
"[:upper:]" "[:lower:]")
11 KERNEL
:=$(shell LANG
=C grep ^BR2_LINUX_2
$(TOPDIR
)/.config|sed
-e
"s/=y//" \
12 -e
"s/BR2_LINUX_//" -e
"s/_BRCM//" -e
"s/_/./"| tr
"[:upper:]" "[:lower:]")
14 REV
:=$(shell LANG
=C svn
info | awk
'/^Revision:/ { print$$2 }' )
19 include $(TOPDIR
)/package
/rules.mk
21 IDIR_BASE
:=$(PKG_BUILD_DIR
)/base-files
22 IPKG_BASE
:=$(PACKAGE_DIR
)/$(PKG_NAME
)_
$(PKG_RELEASE
)_
$(ARCH
).ipk
24 UCLIBC_VERSION
:=${shell cat
$(STAGING_DIR
)/uclibc_version
}
25 IDIR_UCLIBC
:=$(PKG_BUILD_DIR
)/uclibc
26 IPKG_UCLIBC
:=$(PACKAGE_DIR
)/uclibc_
$(UCLIBC_VERSION
)-$(PKG_RELEASE
)_
$(ARCH
).ipk
28 LIBGCC_VERSION
:=${shell cat
$(STAGING_DIR
)/gcc_version
}
29 IDIR_LIBGCC
:=$(PKG_BUILD_DIR
)/libgcc
30 IPKG_LIBGCC
:=$(PACKAGE_DIR
)/libgcc_
$(LIBGCC_VERSION
)-$(PKG_RELEASE
)_
$(ARCH
).ipk
32 PACKAGES
:=$(IPKG_BASE
) $(IPKG_UCLIBC
)
33 PACKAGES_INSTALL
:=$(IPKG_BASE
) $(IPKG_UCLIBC
)
35 ifeq ($(BR2_PACKAGE_LIBGCC
),y
)
36 PACKAGES
+=$(IPKG_LIBGCC
)
37 PACKAGES_INSTALL
+=$(IPKG_LIBGCC
)
39 ifeq ($(BR2_PACKAGE_LIBGCC
),m
)
40 PACKAGES
+=$(IPKG_LIBGCC
)
43 $(PKG_BUILD_DIR
)/.prepared
:
44 mkdir
-p
$(PKG_BUILD_DIR
) $(PACKAGE_DIR
)
47 $(PKG_BUILD_DIR
)/.configured
:
50 $(PKG_BUILD_DIR
)/.built
:
54 $(SCRIPT_DIR
)/make-ipkg-dir.sh
$(IDIR_BASE
) ipkg
/$(PKG_NAME
).control
$(PKG_RELEASE
) $(ARCH
)
55 $(CP
) .
/default
/* $(IDIR_BASE
)
56 $(SED
) 's,$$R,r$(REV),g' $(IDIR_BASE
)/etc
/banner
57 $(SED
) 's,$$S,$(BOARD)-$(KERNEL),g' $(IDIR_BASE
)/etc
/ipkg.conf
58 mkdir
-p
$(IDIR_BASE
)/sys
59 mkdir
-p
$(IDIR_BASE
)/jffs
60 mkdir
-p
$(IDIR_BASE
)/dev
61 mkdir
-p
$(IDIR_BASE
)/proc
62 mkdir
-p
$(IDIR_BASE
)/tmp
63 mkdir
-p
$(IDIR_BASE
)/lib
64 mkdir
-p
$(IDIR_BASE
)/usr
/lib
65 mkdir
-p
$(IDIR_BASE
)/usr
/bin
66 ln
-sf
/tmp
/resolv.conf
$(IDIR_BASE
)/etc
/resolv.conf
67 rm -rf
$(IDIR_BASE
)/var
68 ln
-sf
/tmp
$(IDIR_BASE
)/var
69 -find
$(IDIR_BASE
) -type d
-name CVS | xargs
rm -rf
70 -find
$(IDIR_BASE
) -type d
-name .svn | xargs
rm -rf
71 -find
$(IDIR_BASE
) -name
'.#*' | xargs
rm -f
72 mkdir
-p
$(IDIR_BASE
)/etc
73 -grep \^BR2_SYSCONF
$(TOPDIR
)/.config
> $(IDIR_BASE
)/etc
/sysconf
74 $(IPKG_BUILD
) $(IDIR_BASE
) $(PACKAGE_DIR
)
77 $(SCRIPT_DIR
)/make-ipkg-dir.sh
$(IDIR_UCLIBC
) ipkg
/uclibc.control
$(UCLIBC_VERSION
)-$(PKG_RELEASE
) $(ARCH
)
78 mkdir
-p
$(IDIR_UCLIBC
)/lib
79 for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil
; do \
80 $(CP
) $(STAGING_DIR
)/lib
/$$file.so.
* $(IDIR_UCLIBC
)/lib
/; \
81 $(CP
) $(STAGING_DIR
)/lib
/$$file-$(UCLIBC_VERSION
).so
$(IDIR_UCLIBC
)/lib
/; \
83 -$(STRIP
) $(IDIR_UCLIBC
)/lib
/*
84 $(IPKG_BUILD
) $(IDIR_UCLIBC
) $(PACKAGE_DIR
)
87 $(SCRIPT_DIR
)/make-ipkg-dir.sh
$(IDIR_LIBGCC
) ipkg
/libgcc.control
$(LIBGCC_VERSION
)-$(PKG_RELEASE
) $(ARCH
)
88 mkdir
-p
$(IDIR_LIBGCC
)/lib
89 $(CP
) $(STAGING_DIR
)/lib
/libgcc_s.so.
* $(IDIR_LIBGCC
)/lib
/
90 -$(STRIP
) $(IDIR_LIBGCC
)/lib
/*
91 $(IPKG_BUILD
) $(IDIR_LIBGCC
) $(PACKAGE_DIR
)
96 clean-targets
: package-clean
98 compile-targets
: $(PACKAGES
)
99 install-targets
: compile
100 mkdir
-p
$(TARGET_DIR
)
101 $(IPKG
) install $(PACKAGES_INSTALL
)