1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
freebsd-ports/cad/cider/Makefile
John Marino d96901c320 Stage cad/cider. Mark BROKEN on F10+ caused by bmake
This port generates a makefile and then passes it to "make" via stdin,
which makes it different to troubleshoot.  When I finally saw the file
in order to figure out why several internal static libraries weren't
getting built leading to some programs not getting built, I saw a
generic static library target made up of variables.  fmake likes it;
bmake does not.

I tried USES+= fmake along with some patching but I must have missed
some hardcoded "make" commands because bmake got called again.  This
software is 20 years old so I finally gave it.  It got a stay of
execution by getting staged.  If somebody wants to study a target that
bmake just doesn't get, this is a good place to start.
2014-08-18 15:41:36 +00:00

91 lines
3.3 KiB
Makefile

# Created by: AMAKAWA Shuhei <amakawa@jp.FreeBSD.org>
# $FreeBSD$
PORTNAME= cider
PORTVERSION= 1.b1
PORTREVISION= 8
CATEGORIES= cad
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= mita
DISTNAME= cider1b1
MAINTAINER= ports@FreeBSD.org
COMMENT= Mixed-level circuit and device simulator (includes SPICE3)
CONFLICTS= spice-[0-9]*
WRKSRC= ${WRKDIR}/sim
USE_XORG= xt xaw xmu
OPTIONS_DEFINE= EXAMPLES
.include <bsd.port.options.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1000100
# cider has a generated makefile that is passed to make via stdin.
# bmake doesn't understand its generic static library targets, but
# continues on failure. The result is several programs aren't built.
# Using USE+=fmake even with patching won't fix it on FreeBSD 10. make
# must be hardcoded somewhere because fmake ends up calling make.
BROKEN= Will not build with bmake and USES=fmake will not solve the issue
.endif
pre-patch:
@${CP} -f ${WRKSRC}/spice/common/lib/helpdir/spice.txt \
${WRKSRC}/cider/common/lib/helpdir/spice.txt
post-patch:
@${LN} -fs ../../../spice/common/util/makelib.sh \
${WRKSRC}/cider/common/util
@${LN} -fs ../../../../spice/common/src/lib/sparse/spdefs.h \
${WRKSRC}/cider/common/src/include
@${CP} -f ${FILESDIR}/Makefile.spice ${WRKSRC}/spice/common/Makefile
@${CP} -f ${FILESDIR}/Makefile.cider ${WRKSRC}/cider/common/Makefile
@${CP} -f ${FILESDIR}/FreeBSD ${WRKSRC}/spice/common/conf
@${CP} -f ${FILESDIR}/FreeBSD ${WRKSRC}/cider/common/conf
do-build:
@(cd ${WRKSRC}/spice/common && ${SETENV} ${MAKE_ENV} ${MAKE_CMD})
@(cd ${WRKSRC}/cider/common && ${SETENV} ${MAKE_ENV} ${MAKE_CMD})
do-install:
@${MKDIR} ${STAGEDIR}${DATADIR}/spice3/helpdir \
${STAGEDIR}${DATADIR}/spice3/scripts \
${STAGEDIR}${DATADIR}/cider/helpdir \
${STAGEDIR}${DATADIR}/cider/scripts
${INSTALL_PROGRAM} ${WRKSRC}/cider/FreeBSD/obj/bin/cider \
${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/cider/common/doc/cider.1 \
${STAGEDIR}${MANPREFIX}/man/man1
${INSTALL_DATA} ${WRKSRC}/cider/common/lib/helpdir/*.txt \
${STAGEDIR}${DATADIR}/cider/helpdir
${INSTALL_SCRIPT} ${WRKSRC}/cider/common/lib/scripts/dev* \
${STAGEDIR}${DATADIR}/cider/scripts
(cd ${WRKSRC}/spice/FreeBSD/obj/bin && ${INSTALL_PROGRAM} \
spice3 nutmeg sconvert help proc2mod multidec \
${STAGEDIR}${PREFIX}/bin)
(cd ${WRKSRC}/spice/common/man/man1 && ${INSTALL_MAN} nutmeg.1 \
sconvert.1 spice.1 ${STAGEDIR}${MANPREFIX}/man/man1)
(cd ${STAGEDIR}${MANPREFIX}/man/man1 && \
${LN} -s spice.1 spice3.1)
${INSTALL_MAN} ${WRKSRC}/spice/common/man/man3/mfb.3 \
${STAGEDIR}${MANPREFIX}/man/man3
${INSTALL_MAN} ${WRKSRC}/spice/common/man/man5/mfbcap.5 \
${STAGEDIR}${MANPREFIX}/man/man5
${INSTALL_DATA} ${WRKSRC}/spice/common/lib/helpdir/spice.txt \
${STAGEDIR}${DATADIR}/spice3/helpdir
(cd ${WRKSRC}/spice/common/lib && ${INSTALL_DATA} news mfbcap \
${STAGEDIR}${DATADIR}/spice3)
${INSTALL_SCRIPT} ${WRKSRC}/spice/common/lib/scripts/s* \
${STAGEDIR}${DATADIR}/spice3/scripts
${INSTALL_SCRIPT} ${WRKSRC}/spice/common/lib/scripts/spinit \
${STAGEDIR}${DATADIR}/cider/scripts
.if ${PORT_OPTIONS:MEXAMPLES}
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/spice3
${INSTALL_DATA} ${WRKSRC}/spice/common/examples/*.cir \
${STAGEDIR}${EXAMPLESDIR}/spice3
cd ${WRKSRC}/cider/common/examples && \
${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.endif
.include <bsd.port.mk>