File:  [cvs.NetBSD.org] / pkgsrc / emulators / open-simh / Makefile
Revision 1.9: download - view: text, annotated - select for diffs
Tue Feb 14 16:05:58 2023 UTC (2 years, 2 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1, HEAD
*: recursive bump for SDL2_ttf dependency change

# $NetBSD: Makefile,v 1.9 2023/02/14 16:05:58 wiz Exp $

DISTNAME=	open-simh-4.1.0
PKGNAME=	open-simh-4.1.0.20230207
PKGREVISION=	1
CATEGORIES=	emulators
MASTER_SITES=	${MASTER_SITE_GITHUB:=open-simh/}
GITHUB_PROJECT=	simh
GITHUB_TAG=	5e01c0516b14d16fa4e780dff13077bed76aa38a

MAINTAINER=	rhialto@NetBSD.org
HOMEPAGE=	http://simh.trailing-edge.com/
COMMENT=	Bob Supniks historical computer simulator
LICENSE=	mit

DEPENDS+=	dejavu-ttf-[0-9]*:../../fonts/dejavu-ttf

USE_TOOLS+=	gmake

BUILDLINK_API_DEPENDS.libpcap+=	libpcap>=0.9

.include "../../mk/bsd.prefs.mk"

.if ${OPSYS} == "Darwin"
# Doesn't seem to work with pkgsrc pcap, and dylib path is hardcoded.
PREFER.libpcap=		native
# Link error with the native version: _zlibVersion
PREFER.zlib=		pkgsrc
.endif

# The makefile tries to autodetect the options below from "gcc --help", but
# due to the compiler wrapper, it may not always output the expected text.
# So we hardcode the options here.
CFLAGS_O+=		-finline-functions
CFLAGS_O+=		-fgcse-after-reload
CFLAGS_O+=		-fpredictive-commoning
CFLAGS_O+=		-fipa-cp-clone
CFLAGS_O+=		-fno-unsafe-loop-optimizations
CFLAGS_O+=		-fno-strict-overflow

.if (${MACHINE_ARCH} == "arm")
BUILDLINK_TRANSFORM+=	rm:-O2
.endif

# Needed for PDP11/pdp11_dc.c on gcc 4.1.3
.if (${MACHINE_ARCH} == "vax")
CFLAGS+=	-fforce-addr
.endif

CFLAGS.SunOS+=	-DBSD_COMP
LDFLAGS.SunOS+=	-lm

LDFLAGS.Linux+=	-lm -pthread -lrt

INSTALLATION_DIRS=	bin share/simh share/simh/TX-0 share/doc/simh

MAKE_FILE=		makefile
INCLUDES=		${PREFIX:Q}/include:\
			${BUILDLINK_PREFIX.SDL2:Q}/include/SDL2:\
			${BUILDLINK_PREFIX.editline:Q}/include:\
			${BUILDLINK_PREFIX.libpcap:Q}/include/pcap:\
			${BUILDLINK_PREFIX.pcre:Q}/include/pcre:\
			${BUILDLINK_PREFIX.png:Q}/include:\
			/usr/include
LIBRARIES=		${PREFIX:Q}/lib:\
			${BUILDLINK_PREFIX.SDL2:Q}/lib${LIBABISUFFIX}:\
			${BUILDLINK_PREFIX.editline:Q}/lib${LIBABISUFFIX}:\
			${BUILDLINK_PREFIX.libpcap:Q}/lib${LIBABISUFFIX}:\
			${BUILDLINK_PREFIX.pcre:Q}/lib${LIBABISUFFIX}:\
			${BUILDLINK_PREFIX.png:Q}/lib${LIBABISUFFIX}:\
			/usr/lib${LIBABISUFFIX}
MAKE_ENV+=		INCLUDES=${INCLUDES:Q}
MAKE_ENV+=		LIBRARIES=${LIBRARIES:Q}
MAKE_ENV+=		GCC=${CC:Q}
MAKE_ENV+=		OS_LDFLAGS=${LDFLAGS:Q}
MAKE_ENV+=		CFLAGS_O=${CFLAGS_O:Q}
MAKE_ENV+=		FONTPATH=${PREFIX:Q}/share/fonts/X11/TTF
MAKE_ENV+=		WARNINGS=ALLOWED

BUILD_MAKE_FLAGS=	TESTS=0


post-extract:
	${MKDIR} ${WRKSRC}/BIN

do-install:
	(cd ${WRKSRC}/BIN && for BIN in *; do \
		if [ -f $$BIN ] ; then \
		${INSTALL_PROGRAM} $$BIN ${DESTDIR}${PREFIX}/bin/simh-$$BIN; \
		fi ; \
	done)

	${INSTALL_DATA} ${WRKSRC}/TX-0/*.bin ${DESTDIR}${PREFIX}/share/simh/TX-0
	(cd ${WRKSRC} && for TXT in *.txt */*.txt; do \
		${INSTALL_DATA} "$$TXT" ${DESTDIR}${PREFIX}/share/doc/simh; \
	done)

# Note: tests require shm (/var/shm is a tmpfs) for the uc15.
# They are part of the build and can't be run separately.
do-test:
	cd ${WRKSRC} && ${TEST_MAKE_CMD} clean
	cd ${WRKSRC} && ${TEST_MAKE_CMD} all

USE_BUILTIN.editline=	no	# simh uses <editline/readline.h>

.include "../../devel/SDL2/buildlink3.mk"
.include "../../fonts/SDL2_ttf/buildlink3.mk"
.include "../../devel/editline/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../net/libpcap/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>