summaryrefslogtreecommitdiff
path: root/sysutils/memtest86+/Makefile
blob: 6976a8f7e832902cd47e69109d87b75f793e44f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
PORTNAME=	memtest86+
PORTVERSION=	5.01
PORTREVISION=	4
CATEGORIES=	sysutils
MASTER_SITES=	http://www.memtest.org/download/${PORTVERSION}/

MAINTAINER=	avg@FreeBSD.org
COMMENT=	Stand-alone memory test for x86 architecture computers

LICENSE=	GPLv2

ONLY_FOR_ARCHS=	i386 amd64

USES=	gmake
ALL_TARGET=	all
PORTDOCS=	*

USE_GCC=	yes:build

# Please provide absolute path below (cannot be root)
BOOT_DIR?=	/boot/opt

OPTIONS_DEFINE=	SERIAL HISPEED DOCS
OPTIONS_DEFAULT=	BOOT
OPTIONS_MULTI=	BOOT_TYPE
OPTIONS_MULTI_BOOT_TYPE=	ISO BOOT
ISO_DESC=	Build bootable ISO image
BOOT_DESC=	Build ELF image loadable by boot2 and loader
SERIAL_DESC=	Enable serial console at COM1/9600
HISPEED_DESC=	Set COM1 serial console speed to 115200

ISO_PLIST_FILES=	${DATADIR}/mt${PORTVERSION:C/\.//}.iso
ISO_BUILD_DEPENDS=	genisoimage:sysutils/genisoimage
ISO_ALL_TARGET=	iso
BOOT_PLIST_FILES=	${BOOT_DIR}/memtest86+
BOOT_PLIST_DIRS=	${BOOT_DIR}
BOOT_SUB_FILES=	pkg-message
BOOT_SUB_LIST+=	BOOT_DIR=${BOOT_DIR}

pre-fetch:
.if !defined(PACKAGE_BUILDING)
	@${ECHO} "If you only need bootable ISO image of memtest86+, you can"
	@${ECHO} "simply download it from http://www.memtest.org/.  Use this"
	@${ECHO} "port if you need ELF image of memtest86+ that can be loaded"
	@${ECHO} "by boot2 or loader(8), or if you want to use this port to"
	@${ECHO} "build ISO image with custom tweaks in memtest86+ code."
.endif

.include <bsd.port.options.mk>

post-patch:
	${REINPLACE_CMD} -e 's|gcc|${CC}|' ${WRKSRC}/Makefile
.if ${PORT_OPTIONS:MSERIAL}
	${REINPLACE_CMD} -e 's|SERIAL_CONSOLE_DEFAULT 0|SERIAL_CONSOLE_DEFAULT 1|' ${WRKSRC}/config.h
. if ${PORT_OPTIONS:MHISPEED}
	${REINPLACE_CMD} -e 's|9600|115200|' ${WRKSRC}/config.h
. endif
.endif

do-install:
.if ${PORT_OPTIONS:MISO}
	@${MKDIR} ${STAGEDIR}${DATADIR}
	${INSTALL_DATA} ${WRKSRC}/mt${PORTVERSION:C/\.//}.iso ${STAGEDIR}${DATADIR}
.endif
.if ${PORT_OPTIONS:MBOOT}
	@${MKDIR} ${STAGEDIR}${BOOT_DIR}
# XXX is INSTALL_KLD really appropriate here? XXX
	${INSTALL_KLD} ${WRKSRC}/memtest ${STAGEDIR}${BOOT_DIR}/memtest86+
.endif
.if ${PORT_OPTIONS:MDOCS}
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.endif

.include <bsd.port.mk>