blob: 3c876ac090f6d7ffbcd959e3d593688606a8f38a (
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
|
PORTNAME= kBuild
DISTVERSION= ${KBUILD_VERSION}
PORTREVISION= 15
CATEGORIES= devel
MASTER_SITES= LOCAL/jkim
DISTNAME= ${PORTNAME}-${DISTVERSION}r3127-src
MAINTAINER= vbox@FreeBSD.org
COMMENT= Makefile framework
WWW= https://svn.netlabs.org/kbuild
LICENSE= BSD3CLAUSE GPLv3+
LICENSE_COMB= multi
USES= autoreconf:build gmake makeinfo tar:xz
CONFLICTS_INSTALL= kBuild-devel
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
KBUILD_VERSION= 0.1.9998
KBUILD_ARCH= ${MACHINE_ARCH:S/aarch64/arm64/:S/i386/x86/:S/x86_64/amd64/:C/powerpc64.*/ppc64/:C/powerpc.*/ppc32/:C/armv.*/arm32/}
KBUILD_ENV= AUTORECONF=${AUTORECONF} \
AUTOPOINT=true \
CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" \
LDFLAGS="${LDFLAGS}" MAKE="${MAKE_CMD}"
KBUILD_TARGET= ${OPSYS:tl}
KBUILD_BINS= kDepIDB kDepObj kDepPre kObjCache kmk kmk_append kmk_ash \
kmk_cat kmk_chmod kmk_cmp kmk_cp kmk_echo kmk_expr kmk_gmake \
kmk_install kmk_ln kmk_md5sum kmk_mkdir kmk_mv kmk_printf \
kmk_redirect kmk_rm kmk_rmdir kmk_sed kmk_sleep kmk_test \
kmk_time
PORTDOCS= QuickReference-kmk.html \
QuickReference-kmk.txt
ENV=
.export ENV
OPTIONS_DEFINE= DOCS GCC
OPTIONS_DEFAULT=GCC
GCC_DESC= Build with GCC (should almost always be enabled)
GCC_USE= GCC=yes
post-patch:
@${REINPLACE_CMD} 's|gcc|${CC}|g' ${WRKSRC}/kBuild/tools/*.kmk
do-build:
cd ${WRKSRC} && ${SETENV} ${KBUILD_ENV} ./kBuild/env.sh --full ${MAKE_CMD} -f bootstrap.gmk
cd ${WRKSRC} && ${RM} -r out
cd ${WRKSRC} && ./kBuild/env.sh kmk
cd ${WRKSRC} && ./kBuild/env.sh kmk NIX_INSTALL_DIR=${PREFIX} BUILD_TYPE=release -C ${WRKSRC}
do-install:
.for bin in ${KBUILD_BINS}
${INSTALL_PROGRAM} ${WRKSRC}/out/${KBUILD_TARGET}.${KBUILD_ARCH}/release/stage${PREFIX}/bin/${bin} ${STAGEDIR}${PREFIX}/bin
.endfor
${MKDIR} ${STAGEDIR}${DATADIR}
(cd ${WRKSRC}/out/${KBUILD_TARGET}.${KBUILD_ARCH}/release/stage${PREFIX}/share/kBuild && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR})
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in ${PORTDOCS}
${INSTALL_DATA} ${WRKSRC}/out/${KBUILD_TARGET}.${KBUILD_ARCH}/release/stage${PREFIX}/share/doc/${PORTNAME}-${KBUILD_VERSION}/${doc} ${STAGEDIR}${DOCSDIR}
.endfor
.include <bsd.port.mk>
|