1#	$NetBSD: Makefile,v 1.14 2023/02/20 02:12:11 mrg Exp $
2
3# build GCC's libgomp, so that -fopenmp works.
4
5# XXX
6NOLINT=	# defined
7
8UNSUPPORTED_COMPILER.clang=	# defined
9
10.include <bsd.own.mk>
11
12.if !defined(NO_LIBGOMP)	# {
13
14DIST=	${GCCDIST}
15
16
17LIB=	gomp
18
19.include "${.CURDIR}/defs.mk"
20SRCS=	${G_libgomp_la_SOURCES}
21
22GOMP_MACHINE_ARCH?=	${MACHINE_ARCH:S/earmv5/earm/}
23ARCHDIR=		${.CURDIR}/arch/${GOMP_MACHINE_ARCH}
24
25CPPFLAGS+= \
26	-DHAVE_CONFIG_H \
27	-I${DIST}/libgomp \
28	-I${DIST}/libgomp/config/posix \
29	-I${DIST}/libgcc \
30	-I${DIST}/include \
31	-I${ARCHDIR}
32CFLAGS+=-pthread
33
34SHLIB_MAJOR=	2
35SHLIB_MINOR=	1
36
37LDFLAGS+=	-Wl,--version-script,${DIST}/libgomp/libgomp.map
38
39.if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH:S/earmv5/earm/}
40# This is where GCC looks for it.
41FILES=		libgomp.spec
42FILESDIR=	${LIBDIR}
43
44INCS=		omp.h openacc.h
45INCSDIR=	${GCC_INCSDIR}
46.endif
47
48.else			# } else {
49libinstall::
50.endif			# }
51
52.include <bsd.lib.mk>
53
54COPTS+=	-Wno-stack-protector -Wno-missing-prototypes
55COPTS.oacc-mem.c+= -Wno-pointer-arith
56
57COPTS.lock.c+=		-Wno-error=incompatible-pointer-types
58COPTS.target.c+=	-Wno-error=pointer-arith
59
60.PATH: ${DIST}/libgomp/config/posix
61.PATH: ${ARCHDIR} ${DIST}/libgomp
62