| 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 | # Note: if this file ever doesn't work on both GNU and BSD make,
|
|---|
| 8 | # I'll use 'svn blame' and get to you personally ;-)
|
|---|
| 9 |
|
|---|
| 10 | CP= cp -fpR
|
|---|
| 11 | PCP= pax -v -rw -pe
|
|---|
| 12 | INSTALL_DIR= install -d -m0755
|
|---|
| 13 | INSTALL_DATA= install -m0644
|
|---|
| 14 | INSTALL_BIN= install -m0755
|
|---|
| 15 | INSTALL_SCRIPT= install -m0755
|
|---|
| 16 | MAKEFLAGS= V=99 $(EXTRA_MAKEFLAGS)
|
|---|
| 17 | BUILD_USER= $(shell id -un)
|
|---|
| 18 | BUILD_GROUP= $(shell id -gn)
|
|---|
| 19 | BSDMAKE_FLAGS+= BINOWN=${BUILD_USER} BINGRP=${BUILD_GROUP}
|
|---|
| 20 | BSDMAKE_FLAGS+= LIBOWN=${BUILD_USER} LIBGRP=${BUILD_GROUP}
|
|---|
| 21 | BSDMAKE_FLAGS+= SHAREOWN=${BUILD_USER} SHAREGRP=${BUILD_GROUP}
|
|---|
| 22 | BSDMAKE_FLAGS+= MANOWN=${BUILD_USER} MANGRP=${BUILD_GROUP}
|
|---|
| 23 | BSDMAKE_FLAGS+= DOCOWN=${BUILD_USER} DOCGRP=${BUILD_GROUP}
|
|---|
| 24 | BSDMAKE_FLAGS+= NONBINMODE=0644 BINMODE=0755 CONFGRP=${BUILD_GROUP}
|
|---|
| 25 | BSDMAKE_FLAGS+= MACHINE=${ARCH} MACHINE_ARCH=${ARCH} NOMAN=Yes
|
|---|
| 26 | BSDMAKE_FLAGS+= RTLD_TYPE=GNU STRIP=: INSTALL_STRIP= OBJECT_FMT=ELF
|
|---|
| 27 | BSDMAKE_FLAGS+= OStype=Linux
|
|---|
| 28 | BSDMAKE= env MAKEFLAGS=V=99 MFLAGS= BSDOBJDIR='${BUILD_DIR}' \
|
|---|
| 29 | LD='${TARGET_CROSS}ld' ${BMAKE} ${BSDMAKE_FLAGS}
|
|---|
| 30 |
|
|---|
| 31 | TARGET_CFLAGS:= $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
|
|---|
| 32 | OPTIMIZE_FOR_CPU= $(ARCH)
|
|---|
| 33 |
|
|---|
| 34 | BASE_DIR:= $(TOPDIR)
|
|---|
| 35 | DISTDIR?= ${BASE_DIR}/dl
|
|---|
| 36 | DIST_SUBDIR?=
|
|---|
| 37 | LOCAL_DISTDIR?=
|
|---|
| 38 | BUILD_DIR:= $(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
|
|---|
| 39 | STAGING_PARENT:= ${BASE_DIR}/cross_${ARCH}${ARCH_FPU_SUFFIX}
|
|---|
| 40 | STAGING_TOOLS:= ${STAGING_PARENT}/host
|
|---|
| 41 | STAGING_DIR:= ${STAGING_PARENT}/target
|
|---|
| 42 | TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
|
|---|
| 43 | TOOLS_DIR= $(BASE_DIR)/tools
|
|---|
| 44 | TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build
|
|---|
| 45 | SCRIPT_DIR:= $(BASE_DIR)/scripts
|
|---|
| 46 | BIN_DIR:= $(BASE_DIR)/bin_${ARCH}
|
|---|
| 47 | LBIN_DIR:= $(BASE_DIR)/lbin
|
|---|
| 48 | PACKAGE_DIR:= $(BIN_DIR)/packages
|
|---|
| 49 | TARGET_DIR:= $(BUILD_DIR)/root
|
|---|
| 50 | IMAGE:= $(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
|
|---|
| 51 | REAL_GNU_TARGET_NAME= $(OPTIMIZE_FOR_CPU)-linux-uclibc
|
|---|
| 52 | GNU_TARGET_NAME= $(OPTIMIZE_FOR_CPU)-linux
|
|---|
| 53 | TARGET_PATH= ${LBIN_DIR}:${STAGING_TOOLS}/bin:${STAGING_DIR}/scripts:${_PATH}
|
|---|
| 54 | KERNEL_CROSS:= $(STAGING_TOOLS)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
|
|---|
| 55 | TARGET_CROSS:= $(STAGING_TOOLS)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
|
|---|
| 56 | TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
|
|---|
| 57 | TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc
|
|---|
| 58 | TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++
|
|---|
| 59 | TARGET_CPPFLAGS+= -isystem ${STAGING_DIR}/include \
|
|---|
| 60 | -isystem ${STAGING_DIR}/usr/include
|
|---|
| 61 | TARGET_LDFLAGS+= -Wl,-O2
|
|---|
| 62 | PATCH= ${MBSH} $(SCRIPT_DIR)/patch-kernel.sh
|
|---|
| 63 | SED:= $(STAGING_TOOLS)/bin/sed -i -e
|
|---|
| 64 | LINUX_DIR:= $(BUILD_DIR)/linux
|
|---|
| 65 | LINUX_HEADERS_DIR:= $(TOOLCHAIN_BUILD_DIR)/linux
|
|---|
| 66 |
|
|---|
| 67 | TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
|
|---|
| 68 | AR=$(TARGET_CROSS)ar \
|
|---|
| 69 | AS=$(TARGET_CROSS)as \
|
|---|
| 70 | LD=$(TARGET_CROSS)ld \
|
|---|
| 71 | NM=$(TARGET_CROSS)nm \
|
|---|
| 72 | CC="$(TARGET_CC)" \
|
|---|
| 73 | GCC="$(TARGET_CC)" \
|
|---|
| 74 | CXX="$(TARGET_CXX)" \
|
|---|
| 75 | RANLIB=$(TARGET_CROSS)ranlib
|
|---|
| 76 | HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${HOSTCC}' \
|
|---|
| 77 | CFLAGS_FOR_BUILD='${HOSTCFLAGS}' \
|
|---|
| 78 | CPPFLAGS_FOR_BUILD='${HOSTCPPFLAGS}' \
|
|---|
| 79 | LDFLAGS_FOR_BUILD='${HOSTLDFLAGS}'
|
|---|
| 80 |
|
|---|
| 81 | # invoke ipkg-build with some default options
|
|---|
| 82 | IPKG_BUILD:= PATH='${TARGET_PATH}' ${MBSH} \
|
|---|
| 83 | ${TOPDIR}/scripts/ipkg-build -c -o 0 -g 0
|
|---|
| 84 | # where to build (and put) .ipk packages
|
|---|
| 85 | IPKG_TARGET_DIR:= $(PACKAGE_DIR)
|
|---|
| 86 | IPKG:= IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(TARGET_DIR) \
|
|---|
| 87 | IPKG_CONF_DIR=$(STAGING_DIR)/etc \
|
|---|
| 88 | IPKG_OFFLINE_ROOT=$(BUILD_DIR)/root \
|
|---|
| 89 | ${MBSH} ${SCRIPT_DIR}/ipkg -force-defaults -force-depends
|
|---|
| 90 | IPKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg
|
|---|
| 91 |
|
|---|
| 92 | RSTRIP:= prefix='${TARGET_CROSS}' ${MBSH} ${SCRIPT_DIR}/rstrip.sh
|
|---|
| 93 |
|
|---|
| 94 | EXTRACT_CMD= mkdir -p ${WRKDIR}; \
|
|---|
| 95 | cd ${WRKDIR} && \
|
|---|
| 96 | for file in ${FULLDISTFILES}; do case $$file in \
|
|---|
| 97 | *.cpio | *.tar) \
|
|---|
| 98 | pax -r -s '!/\.$$!!' <$$file ;; \
|
|---|
| 99 | *.cpio.Z | *.cpio.gz | *.cgz | *.mcz | \
|
|---|
| 100 | *.tar.Z | *.tar.gz | *.taz | *.tgz) \
|
|---|
| 101 | gzip -dc $$file | pax -r -s '!/\.$$!!' ;; \
|
|---|
| 102 | *.cpio.bz2 | *.cbz | *.tar.bz2 | *.tbz | *.tbz2) \
|
|---|
| 103 | bzip2 -dc $$file | pax -r -s '!/\.$$!!' ;; \
|
|---|
| 104 | *.zip) \
|
|---|
| 105 | unzip -d ${WRKDIR} $$file ;; \
|
|---|
| 106 | *) \
|
|---|
| 107 | echo "Cannot extract '$$file'" >&2; \
|
|---|
| 108 | false ;; \
|
|---|
| 109 | esac; done
|
|---|
| 110 |
|
|---|
| 111 | FETCH_CMD?= wget -t1 --timeout=20 -nc
|
|---|
| 112 | MASTER_SITE_BACKUP?= ${MASTER_SITE_FREEWRT}
|
|---|
| 113 |
|
|---|
| 114 | MASTER_SITE_FREEWRT?= \
|
|---|
| 115 | http://www.freewrt.org/distfiles/ \
|
|---|
| 116 |
|
|---|
| 117 | MASTER_SITE_MIRBSD?= \
|
|---|
| 118 | http://www.mirbsd.org/MirOS/distfiles/ \
|
|---|
| 119 | http://pub.allbsd.org/MirOS/distfiles/ \
|
|---|
| 120 |
|
|---|
| 121 | MASTER_SITE_GNU?= \
|
|---|
| 122 | http://ftp.gnu.org/gnu/ \
|
|---|
| 123 | ftp://ftp.gnu.org/gnu/ \
|
|---|
| 124 | ftp://ftp.funet.fi/pub/gnu/prep/ \
|
|---|
| 125 | ftp://mirrors.usc.edu/pub/gnu/ \
|
|---|
| 126 | ftp://ftp.cs.tu-berlin.de/pub/gnu/ \
|
|---|
| 127 | ftp://aeneas.mit.edu/pub/gnu/ \
|
|---|
| 128 | ftp://mirrors.dotsrc.org/gnu/ \
|
|---|
| 129 | ftp://ftp.wustl.edu/pub/gnu/ \
|
|---|
| 130 | ftp://ftp.kddilabs.jp/GNU/ \
|
|---|
| 131 | ftp://ftp.mirror.ac.uk/sites/ftp.gnu.org/gnu/ \
|
|---|
| 132 | ftp://sunsite.org.uk/package/gnu/ \
|
|---|
| 133 | ftp://ftp.informatik.hu-berlin.de/pub/gnu/ \
|
|---|
| 134 | ftp://ftp.rediris.es/mirror/gnu/gnu/ \
|
|---|
| 135 | ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/ \
|
|---|
| 136 | ftp://ftp.chg.ru/pub/gnu/ \
|
|---|
| 137 | ftp://ftp.uvsq.fr/pub/gnu/ \
|
|---|
| 138 | ftp://ftp.sunet.se/pub/gnu/ \
|
|---|
| 139 |
|
|---|
| 140 | MASTER_SITE_SOURCEFORGE?= \
|
|---|
| 141 | http://easynews.dl.sourceforge.net/sourceforge/ \
|
|---|
| 142 | http://puzzle.dl.sourceforge.net/sourceforge/ \
|
|---|
| 143 | http://optusnet.dl.sourceforge.net/sourceforge/ \
|
|---|
| 144 | http://heanet.dl.sourceforge.net/sourceforge/ \
|
|---|
| 145 | http://jaist.dl.sourceforge.net/sourceforge/ \
|
|---|
| 146 | http://nchc.dl.sourceforge.net/sourceforge/ \
|
|---|
| 147 | http://switch.dl.sourceforge.net/sourceforge/ \
|
|---|
| 148 | http://kent.dl.sourceforge.net/sourceforge/ \
|
|---|
| 149 | http://internap.dl.sourceforge.net/sourceforge/ \
|
|---|
| 150 | http://mesh.dl.sourceforge.net/sourceforge/ \
|
|---|
| 151 | http://ovh.dl.sourceforge.net/sourceforge/ \
|
|---|
| 152 | http://surfnet.dl.sourceforge.net/sourceforge/ \
|
|---|
| 153 | http://ufpr.dl.sourceforge.net/sourceforge/ \
|
|---|
| 154 |
|
|---|
| 155 | MASTER_SITE_MYSQL?= \
|
|---|
| 156 | ftp://ftp.fu-berlin.de/unix/databases/mysql/ \
|
|---|
| 157 | http://sunsite.informatik.rwth-aachen.de/mysql/ \
|
|---|
| 158 | http://mysql.easynet.be/ \
|
|---|
| 159 | http://mysql.blic.net/ \
|
|---|
| 160 | http://mysql.online.bg/ \
|
|---|
| 161 | http://mysql.mirrors.cybercity.dk/ \
|
|---|
| 162 | http://mirrors.dotsrc.org/mysql/ \
|
|---|
| 163 | http://mysql.tonnikala.org/ \
|
|---|
| 164 | ftp://ftp.inria.fr/pub/MySQL/ \
|
|---|
| 165 | http://mirrors.ircam.fr/pub/mysql/ \
|
|---|
| 166 | http://mirrors.ee.teiath.gr/mysql/ \
|
|---|
| 167 | http://mysql.sote.hu/ \
|
|---|
| 168 | http://mysql.mirrors.crysys.hit.bme.hu/ \
|
|---|
| 169 | http://na.mirror.garr.it/mirrors/MySQL/ \
|
|---|
| 170 | http://mysql.bst.lt/ \
|
|---|
| 171 | http://mysql.proserve.nl/ \
|
|---|
| 172 | http://mirror.hostfuss.com/mysql/ \
|
|---|
| 173 | http://mysql.mirrors.webazilla.nl/ \
|
|---|
| 174 | http://mirror.dinpris.com/mysql/ \
|
|---|
| 175 | http://mysql.nfsi.pt/ \
|
|---|
| 176 | http://lisa.gov.pt/ftp/mysql/ \
|
|---|
| 177 | ftp://mirrors.fibernet.ro/1/MySQL/ \
|
|---|
| 178 | http://mysql.ran.ro/ \
|
|---|
| 179 | http://mysql.directnet.ru/ \
|
|---|
| 180 | ftp://ftp.dn.ru/pub/MySQL/ \
|
|---|
| 181 | http://mysql.dn.ru/ \
|
|---|
| 182 | http://mysql.mix.su/ \
|
|---|
| 183 | http://www.fastmirrors.org/mysql/ \
|
|---|
| 184 | http://mirrors.bevc.net/mysql/ \
|
|---|
| 185 | http://www.wsection.com/mysql/ \
|
|---|
| 186 | http://mysql.paknet.org/ \
|
|---|
| 187 | http://mysql.rediris.es/ \
|
|---|
| 188 | http://mysql.dataphone.se/ \
|
|---|
| 189 | http://mirror.switch.ch/ftp/mirror/mysql/ \
|
|---|
| 190 | ftp://ftp.solnet.ch/mirror/mysql/ \
|
|---|
| 191 | http://mysql.net.ua/ \
|
|---|
| 192 | ftp://ftp.tlk-l.net/pub/mirrors/mysql.com/ \
|
|---|
| 193 | http://mysql.infocom.ua/ \
|
|---|
| 194 | http://www.mirrorservice.org/sites/ftp.mysql.com/ \
|
|---|
| 195 | http://mirrors.dedipower.com/www.mysql.com/ \
|
|---|
| 196 | http://www.mirror.ac.uk/mirror/www.mysql.org/ \
|
|---|
| 197 | http://mysql.mirror.rafal.ca/ \
|
|---|
| 198 | http://mysql.serenitynet.com/ \
|
|---|
| 199 | ftp://mirror.mcs.anl.gov/pub/mysql/ \
|
|---|
| 200 | http://mirror.services.wisc.edu/mysql/ \
|
|---|
| 201 | http://mysql.orst.edu/ \
|
|---|
| 202 | http://mysql.he.net/ \
|
|---|
| 203 | http://mysql.mirrors.pair.com/ \
|
|---|
| 204 | http://mysql.mirror.redwire.net/ \
|
|---|
| 205 | http://mysql.mirrors.hoobly.com/ \
|
|---|
| 206 | http://mirror.trouble-free.net/mysql_mirror/ \
|
|---|
| 207 | http://mirrors.24-7-solutions.net/pub/mysql/ \
|
|---|
| 208 | http://www.stathy.com/mysql/ \
|
|---|
| 209 | http://mirror.x10.com/mirror/mysql/ \
|
|---|
| 210 | http://mysql.localhost.net.ar/ \
|
|---|
| 211 | http://mirrors.uol.com.br/pub/mysql/ \
|
|---|
| 212 | http://mysql.vision.cl/ \
|
|---|
| 213 | http://mysql.tecnoera.com/ \
|
|---|
| 214 | http://mysql.mirrors.arminco.com/ \
|
|---|
| 215 | http://mysqlmirror.netandhost.in/ \
|
|---|
| 216 | http://mirror.mysql-partners-jp.biz/ \
|
|---|
| 217 | http://ftp.iij.ad.jp/pub/db/mysql/ \
|
|---|
| 218 | http://mysql.oss.eznetsols.org/ \
|
|---|
| 219 | http://mysql.holywar.net/ \
|
|---|
| 220 | http://mysql.new21.com/ \
|
|---|
| 221 | http://mysql.byungsoo.net/ \
|
|---|
| 222 | http://mysql.isu.edu.tw/ \
|
|---|
| 223 | http://mysql.cdpa.nsysu.edu.tw/ \
|
|---|
| 224 | http://mysql.cs.pu.edu.tw/ \
|
|---|
| 225 | http://ftp.stu.edu.tw/pub/Unix/Database/Mysql/ \
|
|---|
| 226 | http://mysql.ntu.edu.tw/ \
|
|---|
| 227 | http://mysql.planetmirror.com/ \
|
|---|
| 228 | http://mysql.mirrors.ilisys.com.au/ \
|
|---|
| 229 | http://mysql.inspire.net.nz/ \
|
|---|
| 230 | http://mysql.mirror.ac.za/ \
|
|---|
| 231 | # http://ftp.plusline.de/mysql/ \
|
|---|
| 232 |
|
|---|