1 # Copyright 1999-2011 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
5 # @ECLASS: bsdmk.eclass
7 # Otavio R. Piske "AngusYoung" <angusyoung@gentoo.org>
8 # Diego Pettenò <flameeyes@gentoo.org>
9 # Benigno B. Junior <bbj@gentoo.org>
10 # @BLURB: Some functions for BSDmake
12 inherit toolchain-funcs portability flag-o-matic
14 EXPORT_FUNCTIONS src_compile src_install
17 # this should actually be BDEPEND, but this works.
18 DEPEND="virtual/pmake"
22 # @ECLASS-VARIABLE: mymakeopts
24 # Options for bsd-make
26 # @FUNCTION: append-opt
29 # append options to enable or disable features
31 mymakeopts="${mymakeopts} $@"
37 # calls bsd-make command with the given options, passing ${mymakeopts} to
38 # enable ports to useflags bridge.
40 [[ -z ${BMAKE} ]] && BMAKE="$(get_bmake)"
42 tc-export CC CXX LD RANLIB
44 ${BMAKE} ${MAKEOPTS} ${EXTRA_EMAKE} ${mymakeopts} NO_WERROR= STRIP= "$@"
47 # @FUNCTION: mkinstall
50 # Calls "bsd-make install" with the given options, passing ${mamakeopts} to
51 # enable ports to useflags bridge
53 [[ -z ${BMAKE} ]] && BMAKE="$(get_bmake)"
55 # STRIP= will replace the default value of -s, leaving to portage the
56 # task of stripping executables.
57 ${BMAKE} ${mymakeopts} NO_WERROR= STRIP= MANSUBDIR= DESTDIR="${D}" "$@" install
61 # @USAGE: < dirnames >
63 # removes the specified subdirectories and creates a dummy makefile in them
64 # useful to remove the need for "minimal" patches
67 [ -d ${dir} ] || ewarn "dummy_mk called on a non-existing directory: $dir"
68 [ -f ${dir}/Makefile ] || ewarn "dummy_mk called on a directory without Makefile: $dir"
69 echo ".include <bsd.lib.mk>" > ${dir}/Makefile
73 # @FUNCTION: bsdmk_src_compile
75 # The bsdmk src_compile function, which is exported
77 mkmake "$@" || die "make failed"
80 # @FUNCTION: bsdmk_src_install
82 # The bsdmk src_install function, which is exported
84 mkinstall || die "install failed"