pkgsrc/lang/ocaml/Makefile
2023-04-09 07:28:27 +00:00

74 lines
2.1 KiB
Makefile

# $NetBSD: Makefile,v 1.148 2023/04/09 07:28:27 wiz Exp $
.include "Makefile.common"
TEST_PROGRAM= ocamltest
MAKE_JOBS_SAFE= no
UNLIMIT_RESOURCES= stacksize
USE_TOOLS+= bash
USE_LANGUAGES+= c
USE_LIBTOOL= yes
USE_GNU_CONFIGURE_HOST= no
#USE_GCC_RUNTIME= yes
.include "options.mk"
.include "native.mk"
# Options
.if ${OCAML_USE_OPT_COMPILER} == "yes"
CONFIGURE_ARGS+= --enable-native-compiler
BUILD_TARGET= world.opt
.else
CONFIGURE_ARGS+= --disable-native-compiler
BUILD_TARGET= world
.endif
# configure: error: fma does not work, enable emulation with --enable-imprecise-c99-float-ops
.if ${MACHINE_PLATFORM:MNetBSD-*-i386} || \
${MACHINE_PLATFORM:MNetBSD-*-earm*}
CONFIGURE_ARGS+= --enable-imprecise-c99-float-ops
.endif
.if ${MACHINE_PLATFORM:MNetBSD-*-powerpc} && (${OPSYS_VERSION} < 99999)
# fma(3) was added for powerpc between 9.99.98 and 9.99.99
CONFIGURE_ARGS+= --enable-imprecise-c99-float-ops
.endif
# This is needed because ${WRKSRC}/build/partial-install.sh uses
# $PWD as part of its script. However, with /bin/sh on SunOS
# (cd work/foo-1.0 && echo $PWD) will show that the value of PWD is
# set before the cd takes place and is then passed down. So the end
# result is when ./build/partial-install.sh is called, PWD is set
# to /usr/pkgsrc/devel/ocaml instead of ${WRKSRC}. /bin/ksh, which
# is what ${SH} is on SunOS, doesn't exhibit this behaviour.
.if ${OPSYS} == "SunOS"
INSTALL_MAKE_FLAGS+= SHELL=${SH:Q}
.endif
INSTALLATION_DIRS= share/doc/ocaml
OPSYSVARS+= EXTRA_RT_LIBS
EXTRA_RT_LIBS.NetBSD= -lcurses
EXTRA_RT_LIBS.*=
PRINT_PLIST_AWK+= { gsub(/lib\/ocaml\/${PKGMANDIR:S|/|\\/|}/, "lib/ocaml/$${PKGMANDIR}"); }
do-test:
cd ${WRKSRC} && ${MAKE_PROGRAM} ${TEST_PROGRAM}
cd ${WRKSRC}/testsuite && ${MAKE_PROGRAM} all
.if ${OPSYS} == "Darwin"
.PHONY: fix-darwin-install-name
post-install: fix-darwin-install-name
fix-darwin-install-name:
for f in ${DESTDIR}${PREFIX}/lib/ocaml/*.so \
${DESTDIR}${PREFIX}/lib/ocaml/stublibs/*.so; do \
install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \
done
.endif
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/termcap.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"