root/trunk/freewrt/package/binutils/Makefile

Revision 2678, 1.6 kB (checked in by tg, 2 years ago)

the treebreaker ☺

overhaul the fetch'n'checksum system to be more bsd-like
• make fetch, make checksum supported
• future expansion possibilities already prepared:

– more distfiles than just one
– check sizes of downloaded files (size matters!!!!!111)
– more hashes than just MD5
– recursive fetch/checksum targets
– PERMIT_{SOURCES,DISTFILES}=Yes/«reason» – licence issues

• download.pl dies

quirks:
• GNU make only has a poor excuse for a .for loop
• some things (esp. toolchain and target/linux) now have

a ${WRKDIR} where they didn't have it before

• ${WRKDIR}/.checksum_done – no comment… it was necessary

because otherwise everything will get rebuilt every time
(did I mention that GNU make sucks?)

• I had troubles tracking the dependency problems down

because GNU make, unlike BSD make, doesn't have good debugging

• DISTFILES -> FULLDISTFILES
• DL_DIR -> DISTDIR
• PKG_SOURCE -> DISTFILES
• PKG_SOURCE_URL -> MASTER_SITES
• no @SF and @GNU any more, use BSD network.template syntax

(feel free to add more master sites)

• GNU make doesn't really strip whitespaces from variables…

(did I mention how much better BSD make is?)

• echo 'LOCAL_DISTFILES=/path/to/distfiles' >>${TOPDIR}/prefs.mk

will save the need to download 'em, Closes: #102

• MASTER_SITES now *must* have the trailing slashes (there may be

a few that don't and a few with double ones, please fix them)

I've tested that a normal build (unchanged .config from the default) works
on GNU/Linux. There's definitively room for improvement, but most of that
will come with the NFO system only. Fixes appreciated.

This work sponsored by AurISP, part of the NFO conversion project ☻

Line 
1 # $FreeWRT$
2 #-
3 # This file is part of the FreeWRT project. FreeWRT is copyrighted
4 # material, please see the LICENCE file in the top-level directory
5 # or at http://www.freewrt.org/licence for details.
6
7 include ${TOPDIR}/rules.mk
8
9 PKG_NAME:=              binutils
10 PKG_VERSION:=           2.16.1
11 PKG_RELEASE:=           2
12 PKG_MD5SUM:=            6a9d529efb285071dad10e1f3d2b2967
13 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}.tar.bz2
14 MASTER_SITES:=          http://ftp.gnu.org/gnu/binutils/
15
16 include ${TOPDIR}/mk/package.mk
17
18 $(eval $(call PKG_template,BINUTILS,binutils,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
19
20 CONFIGURE_STYLE=        gnu
21 CONFIGURE_ARGS+=        --disable-werror
22 BUILD_STYLE=            auto
23 INSTALL_STYLE=          auto
24
25 post-patch:
26         ${PREVENT_PATCH} ${PATCH} ${WRKDIST} \
27             ${TOPDIR}/toolchain/binutils/${BINUTILS_VERSION} \*.patch
28
29 post-install:
30         ${INSTALL_DIR} ${IDIR_BINUTILS}/usr/lib
31         $(CP) ${WRKINST}/usr/lib/*.so ${IDIR_BINUTILS}/usr/lib
32         ${INSTALL_DIR} ${IDIR_BINUTILS}/usr/bin
33         ${INSTALL_BIN} ${WRKINST}/usr/bin/nm ${IDIR_BINUTILS}/usr/bin/
34         ${INSTALL_BIN} ${WRKINST}/usr/bin/size ${IDIR_BINUTILS}/usr/bin/
35         ${INSTALL_BIN} ${WRKINST}/usr/bin/ar ${IDIR_BINUTILS}/usr/bin/
36         ${INSTALL_BIN} ${WRKINST}/usr/bin/as ${IDIR_BINUTILS}/usr/bin/
37         ${INSTALL_BIN} ${WRKINST}/usr/bin/ld ${IDIR_BINUTILS}/usr/bin/
38         ${INSTALL_BIN} ${WRKINST}/usr/bin/strip ${IDIR_BINUTILS}/usr/bin/
39         ${INSTALL_BIN} ${WRKINST}/usr/bin/objdump ${IDIR_BINUTILS}/usr/bin/
40         ${INSTALL_BIN} ${WRKINST}/usr/bin/objcopy ${IDIR_BINUTILS}/usr/bin/
41         ${INSTALL_BIN} ${WRKINST}/usr/bin/ranlib ${IDIR_BINUTILS}/usr/bin/
42         ${INSTALL_BIN} ${WRKINST}/usr/bin/readelf ${IDIR_BINUTILS}/usr/bin/
43
44 include ${TOPDIR}/mk/pkg-bottom.mk
Note: See TracBrowser for help on using the browser.