Tweak games/blinken version 4.14.3
[dports.git] / games / openttd / Makefile
1 # Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       openttd
5 DISTVERSION=    1.6.1
6 CATEGORIES=     games
7 MASTER_SITES=   http://ca.binaries.openttd.org/binaries/releases/${DISTVERSION}/ \
8                 http://cz.binaries.openttd.org/binaries/releases/${DISTVERSION}/ \
9                 http://de.binaries.openttd.org/binaries/releases/${DISTVERSION}/ \
10                 http://fr.binaries.openttd.org/binaries/releases/${DISTVERSION}/ \
11                 http://ftp.snt.utwente.nl/pub/games/openttd/binaries/releases/${DISTVERSION}/ \
12                 http://uk.binaries.openttd.org/binaries/releases/${DISTVERSION}/ \
13                 http://us.binaries.openttd.org/binaries/releases/${DISTVERSION}/
14 DISTNAME=       ${PORTNAME}-${DISTVERSION}-source
15
16 MAINTAINER=     danfe@FreeBSD.org
17 COMMENT=        Open source clone of Microprose Transport Tycoon Deluxe
18
19 LICENSE=        GPLv2
20
21 LIB_DEPENDS=    libpng.so:graphics/png \
22                 liblzo2.so:archivers/lzo2
23
24 USES=           cpe gmake pkgconfig tar:xz
25 HAS_CONFIGURE=  yes
26 CONFIGURE_ENV=  STRIP="${STRIP_CMD} ${STRIP}"
27 CONFIGURE_ARGS= --prefix-dir="${PREFIX}" --data-dir="${DATADIR_REL}"
28
29 .if defined(BATCH) || defined(PACKAGE_BUILDING)
30 MAKE_ARGS=      VERBOSE=1
31 .endif
32
33 WRKSRC=         ${WRKDIR}/${PORTNAME}-${DISTVERSION}
34 CXXFLAGS=       # Set to empty as OpenTTD treats it as an addition to CFLAGS
35
36 SUB_FILES=      pkg-message
37
38 PORTDOCS=       HOWTO_compile_lang_files.txt admin_network.txt \
39                 elrail.svg elrail_tile.png elrail_track.png landscape.html \
40                 landscape_externals.html landscape_grid.html multiplayer.txt \
41                 obg_format.txt obm_format.txt obs_format.txt \
42                 ottd-colourtext-palette.png tileh.png
43
44 DESKTOP_ENTRIES="OpenTTD" "${COMMENT}" "${PORTNAME}" "${PORTNAME}" \
45                 "Game;Simulation;StrategyGame;" false
46
47 .if defined(WITH_MIDI_PLAYER)
48 CONFIGURE_ARGS+=        --with-midi="${WITH_MIDI_PLAYER}"
49 .endif
50
51 .if defined(WITH_MIDI_PLAYER_ARGS)
52 CONFIGURE_ARGS+=        --with-midi-arg="${WITH_MIDI_PLAYER_ARGS}"
53 .endif
54
55 .if defined(WITH_DEDICATED_SERVER_ONLY)
56 CONFIGURE_ARGS+=        --enable-dedicated
57 # Aid it to find lzo2 headers; client build gets it via sdl-config
58 CFLAGS+=        -I${LOCALBASE}/include
59 USE_RC_SUBR=    ${PORTNAME}
60 .else
61 LIB_DEPENDS+=   libfreetype.so:print/freetype2 \
62                 libfontconfig.so:x11-fonts/fontconfig
63 USE_SDL=        sdl
64 INSTALLS_ICONS= yes
65 .endif
66
67 .if defined(WITH_OPEN_GAME_FILES)
68 RUN_DEPENDS+=   ${LOCALBASE}/share/${PORTNAME}/baseset/opengfx/opengfx.obg:games/opengfx \
69                 ${LOCALBASE}/share/${PORTNAME}/baseset/openmsx/openmsx.obm:games/openmsx \
70                 ${LOCALBASE}/share/${PORTNAME}/baseset/opensfx/opensfx.obs:games/opensfx
71 .endif
72
73 .if defined(WITH_SAVE_PASSWORDS)
74 EXTRA_PATCHES=  ${FILESDIR}/extra-patch-save-passwords
75 .endif
76
77 .include <bsd.port.pre.mk>
78
79 pre-everything::
80 .if !defined(WITH_MIDI_PLAYER)
81         @${ECHO_MSG} "Define WITH_MIDI_PLAYER=/path/to/player to build with external MIDI player"
82 .endif
83 .if !defined(WITH_MIDI_PLAYER_ARGS)
84         @${ECHO_MSG} "Define WITH_MIDI_PLAYER_ARGS=arguments for external MIDI player"
85 .endif
86 .if !defined(WITH_DEDICATED_SERVER_ONLY)
87         @${ECHO_MSG} "Define WITH_DEDICATED_SERVER_ONLY to build CLI-based dedicated server"
88 .endif
89 .if !defined(WITH_OPEN_GAME_FILES)
90         @${ECHO_MSG} "Define WITH_OPEN_GAME_FILES to install with libre graphics, music, and sounds"
91 .endif
92 .if !defined(WITH_SAVE_PASSWORDS)
93         @${ECHO_MSG} "Define WITH_SAVE_PASSWORDS to save passwords between server restarts"
94 .endif
95
96 post-patch:
97         @${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' ${WRKSRC}/config.lib
98
99 do-install:
100         ${INSTALL_PROGRAM} ${WRKSRC}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
101         @${MKDIR} ${STAGEDIR}${DATADIR}/ai ${STAGEDIR}${DATADIR}/baseset \
102                 ${STAGEDIR}${DATADIR}/lang ${STAGEDIR}${DATADIR}/scripts
103         ${INSTALL_DATA} ${WRKSRC}/bin/ai/*.nut ${STAGEDIR}${DATADIR}/ai
104         ${INSTALL_DATA} ${WRKSRC}/bin/baseset/* ${STAGEDIR}${DATADIR}/baseset
105         ${INSTALL_DATA} ${WRKSRC}/bin/lang/* ${STAGEDIR}${DATADIR}/lang
106         ${INSTALL_DATA} ${WRKSRC}/bin/scripts/* ${STAGEDIR}${DATADIR}/scripts
107         ${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.6 \
108                 ${STAGEDIR}${MANPREFIX}/man/man6
109         ${INSTALL_DATA} ${WRKSRC}/media/openttd.32.xpm \
110                 ${STAGEDIR}${PREFIX}/share/pixmaps
111 .if !defined(WITH_DEDICATED_SERVER_ONLY)
112 .  for n in 16 32 48 64 128 256
113         @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${n}x${n}/apps
114         ${INSTALL_DATA} ${WRKSRC}/media/openttd.${n}.png \
115                 ${STAGEDIR}${PREFIX}/share/icons/hicolor/${n}x${n}/apps/openttd.png
116 .  endfor
117 .endif
118         @${MKDIR} ${STAGEDIR}${DOCSDIR}
119         ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/docs/,} ${STAGEDIR}${DOCSDIR}
120
121 post-install:
122 .if defined(WITH_DEDICATED_SERVER_ONLY)
123         @${REINPLACE_CMD} -e '/icons/d' ${TMPPLIST}
124 .endif
125
126 .include <bsd.port.post.mk>