# $FreeWRT$ #- # This file is part of the FreeWRT project. FreeWRT is copyrighted # material, please see the LICENCE file in the top-level directory # or at http://www.freewrt.org/licence for details. #- # Note: if this file ever doesn't work on both GNU and BSD make, # I'll use 'svn blame' and get to you personally ;-) CP= cp -fpR PCP= pax -v -rw -pe INSTALL_DIR= install -d -m0755 INSTALL_DATA= install -m0644 INSTALL_BIN= install -m0755 INSTALL_SCRIPT= install -m0755 MAKEFLAGS= V=99 $(EXTRA_MAKEFLAGS) BUILD_USER= $(shell id -un) BUILD_GROUP= $(shell id -gn) BSDMAKE_FLAGS+= BINOWN=${BUILD_USER} BINGRP=${BUILD_GROUP} BSDMAKE_FLAGS+= LIBOWN=${BUILD_USER} LIBGRP=${BUILD_GROUP} BSDMAKE_FLAGS+= SHAREOWN=${BUILD_USER} SHAREGRP=${BUILD_GROUP} BSDMAKE_FLAGS+= MANOWN=${BUILD_USER} MANGRP=${BUILD_GROUP} BSDMAKE_FLAGS+= DOCOWN=${BUILD_USER} DOCGRP=${BUILD_GROUP} BSDMAKE_FLAGS+= NONBINMODE=0644 BINMODE=0755 CONFGRP=${BUILD_GROUP} BSDMAKE_FLAGS+= MACHINE=${ARCH} MACHINE_ARCH=${ARCH} NOMAN=Yes BSDMAKE_FLAGS+= RTLD_TYPE=GNU STRIP=: INSTALL_STRIP= BSDMAKE= env MAKEFLAGS=V=99 MFLAGS= BSDOBJDIR='${BUILD_DIR}' \ LD='${TARGET_CROSS}ld' ${BMAKE} ${BSDMAKE_FLAGS} TARGET_CFLAGS:= $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) OPTIMIZE_FOR_CPU= $(ARCH) BASE_DIR:= $(TOPDIR) DISTDIR?= ${BASE_DIR}/dl DIST_SUBDIR?= LOCAL_DISTDIR?= BUILD_DIR:= $(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX) STAGING_PARENT:= ${BASE_DIR}/cross_${ARCH}${ARCH_FPU_SUFFIX} STAGING_TOOLS:= ${STAGING_PARENT}/host STAGING_DIR:= ${STAGING_PARENT}/target TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX) TOOLS_DIR= $(BASE_DIR)/tools TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build SCRIPT_DIR:= $(BASE_DIR)/scripts BIN_DIR:= $(BASE_DIR)/bin_${ARCH} LBIN_DIR:= $(BASE_DIR)/lbin PACKAGE_DIR:= $(BIN_DIR)/packages TARGET_DIR:= $(BUILD_DIR)/root IMAGE:= $(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX) REAL_GNU_TARGET_NAME= $(OPTIMIZE_FOR_CPU)-linux-uclibc GNU_TARGET_NAME= $(OPTIMIZE_FOR_CPU)-linux TARGET_PATH= ${LBIN_DIR}:${STAGING_TOOLS}/bin:${STAGING_DIR}/scripts:${_PATH} KERNEL_CROSS:= $(STAGING_TOOLS)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc- TARGET_CROSS:= $(STAGING_TOOLS)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc- TARGET_COMPILER_PREFIX?=${TARGET_CROSS} TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++ TARGET_CPPFLAGS+= -isystem ${STAGING_DIR}/include \ -isystem ${STAGING_DIR}/usr/include TARGET_LDFLAGS+= -Wl,-O2 PATCH= ${MBSH} $(SCRIPT_DIR)/patch-kernel.sh SED:= $(STAGING_TOOLS)/bin/sed -i -e LINUX_DIR:= $(BUILD_DIR)/linux LINUX_HEADERS_DIR:= $(TOOLCHAIN_BUILD_DIR)/linux TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \ AR=$(TARGET_CROSS)ar \ AS=$(TARGET_CROSS)as \ LD=$(TARGET_CROSS)ld \ NM=$(TARGET_CROSS)nm \ CC="$(TARGET_CC)" \ GCC="$(TARGET_CC)" \ CXX="$(TARGET_CXX)" \ RANLIB=$(TARGET_CROSS)ranlib HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${HOSTCC}' \ CFLAGS_FOR_BUILD='${HOSTCFLAGS}' \ CPPFLAGS_FOR_BUILD='${HOSTCPPFLAGS}' \ LDFLAGS_FOR_BUILD='${HOSTLDFLAGS}' # invoke ipkg-build with some default options IPKG_BUILD:= PATH='${TARGET_PATH}' ${MBSH} \ ${TOPDIR}/scripts/ipkg-build -c -o 0 -g 0 # where to build (and put) .ipk packages IPKG_TARGET_DIR:= $(PACKAGE_DIR) IPKG:= IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(TARGET_DIR) \ IPKG_CONF_DIR=$(STAGING_DIR)/etc \ IPKG_OFFLINE_ROOT=$(BUILD_DIR)/root \ ${MBSH} ${SCRIPT_DIR}/ipkg -force-defaults -force-depends IPKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg RSTRIP:= prefix='${TARGET_CROSS}' ${MBSH} ${SCRIPT_DIR}/rstrip.sh EXTRACT_CMD= mkdir -p ${WRKDIR}; \ cd ${WRKDIR} && \ for file in ${FULLDISTFILES}; do case $$file in \ *.cpio | *.tar) \ pax -r -s '!/\.$$!!' <$$file ;; \ *.cpio.Z | *.cpio.gz | *.cgz | *.mcz | \ *.tar.Z | *.tar.gz | *.taz | *.tgz) \ gzip -dc $$file | pax -r -s '!/\.$$!!' ;; \ *.cpio.bz2 | *.cbz | *.tar.bz2 | *.tbz | *.tbz2) \ bzip2 -dc $$file | pax -r -s '!/\.$$!!' ;; \ *.zip) \ unzip -d ${WRKDIR} $$file ;; \ *) \ echo "Cannot extract '$$file'" >&2; \ false ;; \ esac; done FETCH_CMD?= wget -t1 --timeout=20 -nc MASTER_SITE_BACKUP?= ${MASTER_SITE_FREEWRT} MASTER_SITE_FREEWRT?= \ http://www.freewrt.org/distfiles/ \ MASTER_SITE_MIRBSD?= \ http://www.mirbsd.org/MirOS/distfiles/ \ http://pub.allbsd.org/MirOS/distfiles/ \ MASTER_SITE_GNU?= \ http://ftp.gnu.org/gnu/ \ ftp://ftp.gnu.org/gnu/ \ ftp://ftp.funet.fi/pub/gnu/prep/ \ ftp://mirrors.usc.edu/pub/gnu/ \ ftp://ftp.cs.tu-berlin.de/pub/gnu/ \ ftp://aeneas.mit.edu/pub/gnu/ \ ftp://mirrors.dotsrc.org/gnu/ \ ftp://ftp.wustl.edu/pub/gnu/ \ ftp://ftp.kddilabs.jp/GNU/ \ ftp://ftp.mirror.ac.uk/sites/ftp.gnu.org/gnu/ \ ftp://sunsite.org.uk/package/gnu/ \ ftp://ftp.informatik.hu-berlin.de/pub/gnu/ \ ftp://ftp.rediris.es/mirror/gnu/gnu/ \ ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/ \ ftp://ftp.chg.ru/pub/gnu/ \ ftp://ftp.uvsq.fr/pub/gnu/ \ ftp://ftp.sunet.se/pub/gnu/ \ MASTER_SITE_SOURCEFORGE?= \ http://easynews.dl.sourceforge.net/sourceforge/ \ http://puzzle.dl.sourceforge.net/sourceforge/ \ http://optusnet.dl.sourceforge.net/sourceforge/ \ http://heanet.dl.sourceforge.net/sourceforge/ \ http://jaist.dl.sourceforge.net/sourceforge/ \ http://nchc.dl.sourceforge.net/sourceforge/ \ http://switch.dl.sourceforge.net/sourceforge/ \ http://kent.dl.sourceforge.net/sourceforge/ \ http://internap.dl.sourceforge.net/sourceforge/ \ http://mesh.dl.sourceforge.net/sourceforge/ \ http://ovh.dl.sourceforge.net/sourceforge/ \ http://surfnet.dl.sourceforge.net/sourceforge/ \ http://ufpr.dl.sourceforge.net/sourceforge/ \ MASTER_SITE_MYSQL?= \ ftp://ftp.fu-berlin.de/unix/databases/mysql/ \ http://sunsite.informatik.rwth-aachen.de/mysql/ \ http://mysql.easynet.be/ \ http://mysql.blic.net/ \ http://mysql.online.bg/ \ http://mysql.mirrors.cybercity.dk/ \ http://mirrors.dotsrc.org/mysql/ \ http://mysql.tonnikala.org/ \ ftp://ftp.inria.fr/pub/MySQL/ \ http://mirrors.ircam.fr/pub/mysql/ \ http://mirrors.ee.teiath.gr/mysql/ \ http://mysql.sote.hu/ \ http://mysql.mirrors.crysys.hit.bme.hu/ \ http://na.mirror.garr.it/mirrors/MySQL/ \ http://mysql.bst.lt/ \ http://mysql.proserve.nl/ \ http://mirror.hostfuss.com/mysql/ \ http://mysql.mirrors.webazilla.nl/ \ http://mirror.dinpris.com/mysql/ \ http://mysql.nfsi.pt/ \ http://lisa.gov.pt/ftp/mysql/ \ ftp://mirrors.fibernet.ro/1/MySQL/ \ http://mysql.ran.ro/ \ http://mysql.directnet.ru/ \ ftp://ftp.dn.ru/pub/MySQL/ \ http://mysql.dn.ru/ \ http://mysql.mix.su/ \ http://www.fastmirrors.org/mysql/ \ http://mirrors.bevc.net/mysql/ \ http://www.wsection.com/mysql/ \ http://mysql.paknet.org/ \ http://mysql.rediris.es/ \ http://mysql.dataphone.se/ \ http://mirror.switch.ch/ftp/mirror/mysql/ \ ftp://ftp.solnet.ch/mirror/mysql/ \ http://mysql.net.ua/ \ ftp://ftp.tlk-l.net/pub/mirrors/mysql.com/ \ http://mysql.infocom.ua/ \ http://www.mirrorservice.org/sites/ftp.mysql.com/ \ http://mirrors.dedipower.com/www.mysql.com/ \ http://www.mirror.ac.uk/mirror/www.mysql.org/ \ http://mysql.mirror.rafal.ca/ \ http://mysql.serenitynet.com/ \ ftp://mirror.mcs.anl.gov/pub/mysql/ \ http://mirror.services.wisc.edu/mysql/ \ http://mysql.orst.edu/ \ http://mysql.he.net/ \ http://mysql.mirrors.pair.com/ \ http://mysql.mirror.redwire.net/ \ http://mysql.mirrors.hoobly.com/ \ http://mirror.trouble-free.net/mysql_mirror/ \ http://mirrors.24-7-solutions.net/pub/mysql/ \ http://www.stathy.com/mysql/ \ http://mirror.x10.com/mirror/mysql/ \ http://mysql.localhost.net.ar/ \ http://mirrors.uol.com.br/pub/mysql/ \ http://mysql.vision.cl/ \ http://mysql.tecnoera.com/ \ http://mysql.mirrors.arminco.com/ \ http://mysqlmirror.netandhost.in/ \ http://mirror.mysql-partners-jp.biz/ \ http://ftp.iij.ad.jp/pub/db/mysql/ \ http://mysql.oss.eznetsols.org/ \ http://mysql.holywar.net/ \ http://mysql.new21.com/ \ http://mysql.byungsoo.net/ \ http://mysql.isu.edu.tw/ \ http://mysql.cdpa.nsysu.edu.tw/ \ http://mysql.cs.pu.edu.tw/ \ http://ftp.stu.edu.tw/pub/Unix/Database/Mysql/ \ http://mysql.ntu.edu.tw/ \ http://mysql.planetmirror.com/ \ http://mysql.mirrors.ilisys.com.au/ \ http://mysql.inspire.net.nz/ \ http://mysql.mirror.ac.za/ \ # http://ftp.plusline.de/mysql/ \