aboutsummaryrefslogtreecommitdiff
path: root/Mk/Uses/imake.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk/Uses/imake.mk')
-rw-r--r--Mk/Uses/imake.mk52
1 files changed, 52 insertions, 0 deletions
diff --git a/Mk/Uses/imake.mk b/Mk/Uses/imake.mk
new file mode 100644
index 000000000000..f4db9beb2814
--- /dev/null
+++ b/Mk/Uses/imake.mk
@@ -0,0 +1,52 @@
+# $FreeBSD$
+#
+# Provide support for imake based projects
+#
+# MAINTAINER: x11@FreeBSD.org
+#
+# Feature: imake
+# Usage: USES=imake
+# Valid ARGS: env: do not define any target
+#
+
+.if !defined(_INCLUDE_USES_IMAKE_MK)
+_INCLUDE_USES_IMAKE_MK= yes
+
+.if defined(imake_ARGS)
+.if ${imake_ARGS} == env
+IMAKE_ENV_ONLY= yes
+.else
+IGNORE= USES=imake ${imake_ARGS} is not a valid argument
+.endif
+.endif
+
+.if !defined(NO_INSTALL_MANPAGES)
+MANCOMPRESSED?= yes
+.endif
+
+BUILD_DEPENDS+= imake:${PORTSDIR}/devel/imake
+
+.if defined(USE_GCC)
+IMAKECPP= ${CPP}
+IMAKECPPFLAGS= -DCppCmd=${CPP} -DCcCmd=${CC} -DCplusplusCmd=${CXX}
+.else
+IMAKECPP= tradcpp
+IMAKECPPFLAGS= -DCppCmd=tradcpp -DCcCmd=${CC} -DCplusplusCmd=${CXX}
+BUILD_DEPENDS+= tradcpp:${PORTSDIR}/devel/tradcpp
+.endif
+MAKE_ENV+= IMAKECPP=${IMAKECPP} IMAKECPPFLAGS="${IMAKECPPFLAGS}"
+CONFIGURE_ENV+= IMAKECPP=${IMAKECPP} IMAKECPPFLAGS="${IMAKECPPFLAGS}"
+MAKE_ARGS+= IMAKE_DEFINES="${IMAKECPPFLAGS}"
+
+.if !defined(IMAKE_ENV_ONLY)
+.if !target(do-configure)
+do-configure:
+ @(cd ${CONFIGURE_WRKSRC}; ${SETENV} ${MAKE_ENV} ${XMKMF})
+.endif
+
+.if !defined(NO_INSTALL_MANPAGES)
+LATE_INSTALL_ARGS= install.man
+.endif
+.endif
+
+.endif