#!/bin/bash
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
#
# 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.

if [[ $PORTAGE_QUIET != 1 ]] ; then
	(
	for arg in ${MAKE:-make} $MAKEOPTS $EXTRA_EMAKE "$@" ; do
		[[ ${arg} == *" "* ]] \
			&& printf "'%s' " "${arg}" \
			|| printf "%s " "${arg}"
	done
	printf "\n"
	) >&2
fi

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