| @@ -1,129 +1,129 @@ | | | @@ -1,129 +1,129 @@ |
1 | # $NetBSD: Makefile,v 1.177 2023/08/14 05:24:21 wiz Exp $ | | 1 | # $NetBSD: Makefile,v 1.178 2023/08/28 07:42:37 nia Exp $ |
2 | | | 2 | |
3 | DISTNAME= mame-0.257 | | 3 | DISTNAME= mame-0.257 |
4 | PKGREVISION= 1 | | 4 | PKGREVISION= 1 |
5 | CATEGORIES= emulators | | 5 | CATEGORIES= emulators |
6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/} | | 6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=mamedev/} |
7 | GITHUB_TAG= ${DISTNAME:S/-//S/.//} | | 7 | GITHUB_TAG= ${DISTNAME:S/-//S/.//} |
8 | | | 8 | |
9 | MAINTAINER= wiz@NetBSD.org | | 9 | MAINTAINER= wiz@NetBSD.org |
10 | HOMEPAGE= https://www.mamedev.org/ | | 10 | HOMEPAGE= https://www.mamedev.org/ |
11 | COMMENT= Multiple Arcade Machine Emulator | | 11 | COMMENT= Multiple Arcade Machine Emulator |
12 | LICENSE= modified-bsd AND gnu-gpl-v2 | | 12 | LICENSE= modified-bsd AND gnu-gpl-v2 |
13 | | | 13 | |
14 | DOCDIR= share/doc/mame | | 14 | DOCDIR= share/doc/mame |
15 | SHAREDIR= share/mame | | 15 | SHAREDIR= share/mame |
16 | INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6 | | 16 | INSTALLATION_DIRS= bin ${DOCDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man6 |
17 | INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur | | 17 | INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/border_blur |
18 | INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/chains/crt-geom ${SHAREDIR}/hash | | 18 | INSTALLATION_DIRS+= ${SHAREDIR}/artwork/bgfx/chains/crt-geom ${SHAREDIR}/hash |
19 | | | 19 | |
20 | DEPENDS+= liberation-ttf-[0-9]*:../../fonts/liberation-ttf | | 20 | DEPENDS+= liberation-ttf-[0-9]*:../../fonts/liberation-ttf |
21 | TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat | | 21 | TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat |
22 | | | 22 | |
23 | USE_LANGUAGES= c99 c++ | | 23 | USE_LANGUAGES= c99 c++ |
24 | USE_CXX_FEATURES+= c++17 | | 24 | USE_CXX_FEATURES+= c++17 |
25 | USE_TOOLS+= gmake pkg-config | | 25 | USE_TOOLS+= gmake pkg-config |
26 | UNLIMIT_RESOURCES+= datasize virtualsize | | 26 | UNLIMIT_RESOURCES+= cputime datasize memorysize virtualsize |
27 | MAKE_FILE= makefile | | 27 | MAKE_FILE= makefile |
28 | | | 28 | |
29 | # Need to use gnu++ instead of c++ to get __builtin_alloca() (!) | | 29 | # Need to use gnu++ instead of c++ to get __builtin_alloca() (!) |
30 | FORCE_CXX_STD= gnu++17 | | 30 | FORCE_CXX_STD= gnu++17 |
31 | | | 31 | |
32 | .include "../../mk/bsd.prefs.mk" | | 32 | .include "../../mk/bsd.prefs.mk" |
33 | | | 33 | |
34 | MAKE_FLAGS+= PRECOMPILE=0 | | 34 | MAKE_FLAGS+= PRECOMPILE=0 |
35 | # TODO: set differently when debugging? | | 35 | # TODO: set differently when debugging? |
36 | MAKE_FLAGS+= OPTIMIZE=2 | | 36 | MAKE_FLAGS+= OPTIMIZE=2 |
37 | MAKE_FLAGS+= NO_USE_PORTAUDIO=1 | | 37 | MAKE_FLAGS+= NO_USE_PORTAUDIO=1 |
38 | MAKE_FLAGS+= NO_USE_PULSEAUDIO=1 | | 38 | MAKE_FLAGS+= NO_USE_PULSEAUDIO=1 |
39 | | | 39 | |
40 | .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64" | | 40 | .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64" |
41 | # \todo Arch detection for aarch64 fails, investigate why | | 41 | # \todo Arch detection for aarch64 fails, investigate why |
42 | MAKE_FLAGS+= NOASM=1 | | 42 | MAKE_FLAGS+= NOASM=1 |
43 | MAKE_FLAGS+= FORCE_DRC_C_BACKEND=1 | | 43 | MAKE_FLAGS+= FORCE_DRC_C_BACKEND=1 |
44 | BUILDLINK_TRANSFORM+= rm:-m32 | | 44 | BUILDLINK_TRANSFORM+= rm:-m32 |
45 | BUILDLINK_TRANSFORM+= rm:-m64 | | 45 | BUILDLINK_TRANSFORM+= rm:-m64 |
46 | .endif | | 46 | .endif |
47 | | | 47 | |
48 | # -Werror is problematic | | 48 | # -Werror is problematic |
49 | MAKE_ENV+= NOWERROR=1 | | 49 | MAKE_ENV+= NOWERROR=1 |
50 | # on Darwin, avoid SDL2.framework | | 50 | # on Darwin, avoid SDL2.framework |
51 | MAKE_ENV+= USE_LIBSDL=1 | | 51 | MAKE_ENV+= USE_LIBSDL=1 |
52 | | | 52 | |
53 | # for c++ to get LLONG_MAX for luaconf.h | | 53 | # for c++ to get LLONG_MAX for luaconf.h |
54 | CPPFLAGS.NetBSD+= -D_NETBSD_SOURCE | | 54 | CPPFLAGS.NetBSD+= -D_NETBSD_SOURCE |
55 | | | 55 | |
56 | # use pkgsrc libraries | | 56 | # use pkgsrc libraries |
57 | # boost-header's asio.hpp is not compatible as of mame-0.251/boost 1.81.0 | | 57 | # boost-header's asio.hpp is not compatible as of mame-0.251/boost 1.81.0 |
58 | #MAKE_ENV+= USE_SYSTEM_LIB_ASIO=1 | | 58 | #MAKE_ENV+= USE_SYSTEM_LIB_ASIO=1 |
59 | MAKE_ENV+= USE_SYSTEM_LIB_EXPAT=1 | | 59 | MAKE_ENV+= USE_SYSTEM_LIB_EXPAT=1 |
60 | MAKE_ENV+= USE_SYSTEM_LIB_ZLIB=1 | | 60 | MAKE_ENV+= USE_SYSTEM_LIB_ZLIB=1 |
61 | MAKE_ENV+= USE_SYSTEM_LIB_JPEG=1 | | 61 | MAKE_ENV+= USE_SYSTEM_LIB_JPEG=1 |
62 | MAKE_ENV+= USE_SYSTEM_LIB_FLAC=1 | | 62 | MAKE_ENV+= USE_SYSTEM_LIB_FLAC=1 |
63 | # use audio from SDL | | 63 | # use audio from SDL |
64 | #MAKE_ENV+= USE_SYSTEM_LIB_PORTAUDIO=1 | | 64 | #MAKE_ENV+= USE_SYSTEM_LIB_PORTAUDIO=1 |
65 | # no portmidi package exists yet | | 65 | # no portmidi package exists yet |
66 | #MAKE_ENV+= USE_SYSTEM_LIB_PORTMIDI=1 | | 66 | #MAKE_ENV+= USE_SYSTEM_LIB_PORTMIDI=1 |
67 | MAKE_ENV+= USE_SYSTEM_LIB_SQLITE3=1 | | 67 | MAKE_ENV+= USE_SYSTEM_LIB_SQLITE3=1 |
68 | MAKE_ENV+= USE_SYSTEM_LIB_UTF8PROC=1 | | 68 | MAKE_ENV+= USE_SYSTEM_LIB_UTF8PROC=1 |
69 | MAKE_ENV+= USE_SYSTEM_LIB_GLM=1 | | 69 | MAKE_ENV+= USE_SYSTEM_LIB_GLM=1 |
70 | MAKE_ENV+= USE_SYSTEM_LIB_RAPIDJSON=1 | | 70 | MAKE_ENV+= USE_SYSTEM_LIB_RAPIDJSON=1 |
71 | MAKE_ENV+= USE_SYSTEM_LIB_PUGIXML=1 | | 71 | MAKE_ENV+= USE_SYSTEM_LIB_PUGIXML=1 |
72 | # find proper python binary | | 72 | # find proper python binary |
73 | MAKE_ENV+= PYTHON_EXECUTABLE=${PYTHONBIN} | | 73 | MAKE_ENV+= PYTHON_EXECUTABLE=${PYTHONBIN} |
74 | # don't depend on qt5 | | 74 | # don't depend on qt5 |
75 | MAKE_ENV+= USE_QTDEBUG=0 | | 75 | MAKE_ENV+= USE_QTDEBUG=0 |
76 | # avoid midi for now | | 76 | # avoid midi for now |
77 | #MAKE_ENV+= NO_USE_MIDI=1 | | 77 | #MAKE_ENV+= NO_USE_MIDI=1 |
78 | # build tools | | 78 | # build tools |
79 | MAKE_ENV+= TOOLS=1 | | 79 | MAKE_ENV+= TOOLS=1 |
80 | | | 80 | |
81 | .include "../../mk/endian.mk" | | 81 | .include "../../mk/endian.mk" |
82 | .if ${MACHINE_ENDIAN} == "big" | | 82 | .if ${MACHINE_ENDIAN} == "big" |
83 | MAKE_ENV+= BIGENDIAN=1 | | 83 | MAKE_ENV+= BIGENDIAN=1 |
84 | .endif | | 84 | .endif |
85 | | | 85 | |
86 | PYTHON_FOR_BUILD_ONLY= yes | | 86 | PYTHON_FOR_BUILD_ONLY= yes |
87 | | | 87 | |
88 | post-extract: | | 88 | post-extract: |
89 | # will be chosen in preference to /usr/include/signal.h, but does not provide kill() | | 89 | # will be chosen in preference to /usr/include/signal.h, but does not provide kill() |
90 | ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h | | 90 | ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/signal.h |
91 | # will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al. | | 91 | # will be chosen in preference to /usr/include/dirent.h, but does not provide opendir() et al. |
92 | ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h | | 92 | ${RM} ${WRKSRC}/3rdparty/bx/include/compat/freebsd/dirent.h |
93 | ${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd | | 93 | ${MV} ${WRKSRC}/3rdparty/genie/build/gmake.freebsd ${WRKSRC}/3rdparty/genie/build/gmake.bsd |
94 | | | 94 | |
95 | pre-build: | | 95 | pre-build: |
96 | # problems with mame-specific png.h | | 96 | # problems with mame-specific png.h |
97 | ${RM} -f ${WRKDIR}/.buildlink/include/png* | | 97 | ${RM} -f ${WRKDIR}/.buildlink/include/png* |
98 | | | 98 | |
99 | do-install: | | 99 | do-install: |
100 | ${INSTALL_PROGRAM} ${WRKSRC}/mame ${DESTDIR}${PREFIX}/bin/mame | | 100 | ${INSTALL_PROGRAM} ${WRKSRC}/mame ${DESTDIR}${PREFIX}/bin/mame |
101 | set -e; \ | | 101 | set -e; \ |
102 | for prg in castool chdman floptool imgtool jedutil ldresample ldverify \ | | 102 | for prg in castool chdman floptool imgtool jedutil ldresample ldverify \ |
103 | nltool nlwav pngcmp regrep romcmp split srcclean unidasm; do \ | | 103 | nltool nlwav pngcmp regrep romcmp split srcclean unidasm; do \ |
104 | ${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \ | | 104 | ${INSTALL_PROGRAM} ${WRKSRC}/"$$prg" ${DESTDIR}${PREFIX}/bin; \ |
105 | done | | 105 | done |
106 | ${INSTALL_DATA} ${WRKSRC}/docs/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 | | 106 | ${INSTALL_DATA} ${WRKSRC}/docs/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 |
107 | ${INSTALL_DATA} ${WRKSRC}/docs/man/*.6 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6 | | 107 | ${INSTALL_DATA} ${WRKSRC}/docs/man/*.6 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6 |
108 | ${INSTALL_DATA} ${WRKSRC}/artwork/LICENSE ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork | | 108 | ${INSTALL_DATA} ${WRKSRC}/artwork/LICENSE ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork |
109 | ${INSTALL_DATA} ${WRKSRC}/artwork/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork | | 109 | ${INSTALL_DATA} ${WRKSRC}/artwork/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork |
110 | ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/border_blur/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/border_blur | | 110 | ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/border_blur/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/border_blur |
111 | ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains | | 111 | ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/*.* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains |
112 | ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/crt-geom/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains/crt-geom/ | | 112 | ${INSTALL_DATA} ${WRKSRC}/artwork/bgfx/chains/crt-geom/* ${DESTDIR}${PREFIX}/${SHAREDIR}/artwork/bgfx/chains/crt-geom/ |
113 | ${INSTALL_DATA} ${WRKSRC}/docs/*.md ${DESTDIR}${PREFIX}/${DOCDIR} | | 113 | ${INSTALL_DATA} ${WRKSRC}/docs/*.md ${DESTDIR}${PREFIX}/${DOCDIR} |
114 | ${INSTALL_DATA} ${WRKSRC}/hash/* ${DESTDIR}${PREFIX}/${SHAREDIR}/hash | | 114 | ${INSTALL_DATA} ${WRKSRC}/hash/* ${DESTDIR}${PREFIX}/${SHAREDIR}/hash |
115 | | | 115 | |
116 | .include "../../audio/flac/buildlink3.mk" | | 116 | .include "../../audio/flac/buildlink3.mk" |
117 | .include "../../converters/utf8proc/buildlink3.mk" | | 117 | .include "../../converters/utf8proc/buildlink3.mk" |
118 | .include "../../devel/SDL2/buildlink3.mk" | | 118 | .include "../../devel/SDL2/buildlink3.mk" |
119 | .include "../../devel/zlib/buildlink3.mk" | | 119 | .include "../../devel/zlib/buildlink3.mk" |
120 | .include "../../databases/sqlite3/buildlink3.mk" | | 120 | .include "../../databases/sqlite3/buildlink3.mk" |
121 | .include "../../graphics/glm/buildlink3.mk" | | 121 | .include "../../graphics/glm/buildlink3.mk" |
122 | .include "../../fonts/SDL2_ttf/buildlink3.mk" | | 122 | .include "../../fonts/SDL2_ttf/buildlink3.mk" |
123 | .include "../../fonts/fontconfig/buildlink3.mk" | | 123 | .include "../../fonts/fontconfig/buildlink3.mk" |
124 | .include "../../lang/python/pyversion.mk" | | 124 | .include "../../lang/python/pyversion.mk" |
125 | .include "../../textproc/expat/buildlink3.mk" | | 125 | .include "../../textproc/expat/buildlink3.mk" |
126 | .include "../../textproc/pugixml/buildlink3.mk" | | 126 | .include "../../textproc/pugixml/buildlink3.mk" |
127 | .include "../../textproc/rapidjson/buildlink3.mk" | | 127 | .include "../../textproc/rapidjson/buildlink3.mk" |
128 | .include "../../mk/jpeg.buildlink3.mk" | | 128 | .include "../../mk/jpeg.buildlink3.mk" |
129 | .include "../../mk/bsd.pkg.mk" | | 129 | .include "../../mk/bsd.pkg.mk" |