#!/bin/bash
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/emake,v 1.9.2.1 2005/05/18 15:19:52 jstubbs Exp $
#
# emake: Supplies some default parameters to GNU make. At the moment the
#        only parameter supplied is -jN, where N is a number of
#        parallel processes that should be ideal for the running host
#        (e.g. on a single-CPU machine, N=2).  The MAKEOPTS variable
#        is set in /etc/make.globals.  We don't source
#        /etc/make.globals here because emake is only called from an
#        ebuild.

${MAKE:-make} ${MAKEOPTS} ${EXTRA_EMAKE} "$@"
