Makefile revision 1.9
1#	$NetBSD: Makefile,v 1.9 2018/11/11 22:49:55 mrg Exp $
2
3# build GCC's libgomp, so that -fopenmp works.
4
5# XXX
6NOLINT=	# defined
7
8.include <bsd.own.mk>
9
10.if !defined(NO_LIBGOMP)	# {
11
12DIST=	${GCCDIST}
13
14LIB=	gomp
15SRCS= \
16	alloc.c \
17	barrier.c \
18	critical.c \
19	env.c \
20	error.c \
21	iter.c \
22	iter_ull.c \
23	loop.c \
24	loop_ull.c \
25	ordered.c \
26	parallel.c \
27	sections.c \
28	single.c \
29	task.c \
30	team.c \
31	work.c \
32	lock.c \
33	mutex.c \
34	proc.c \
35	sem.c \
36	bar.c \
37	ptrlock.c \
38	time.c \
39	fortran.c \
40	affinity.c \
41	target.c \
42	splay-tree.c \
43	libgomp-plugin.c \
44	oacc-parallel.c \
45	oacc-host.c \
46	oacc-init.c \
47	oacc-mem.c \
48	oacc-async.c \
49	oacc-plugin.c \
50	oacc-cuda.c \
51	priority_queue.c
52
53
54GOMP_MACHINE_ARCH?=	${MACHINE_ARCH:S/earmv5/earm/}
55ARCHDIR=		${.CURDIR}/arch/${GOMP_MACHINE_ARCH}
56
57CPPFLAGS+= \
58	-DHAVE_CONFIG_H \
59	-I${DIST}/libgomp \
60	-I${DIST}/libgomp/config/posix \
61	-I${DIST}/libgcc \
62	-I${DIST}/include \
63	-I${ARCHDIR}
64CFLAGS+=-pthread
65
66CWARNFLAGS.clang+=	-Wno-conversion
67
68# libgomp is 1.0 is in GCC 4.5, and 1.1 in 4.8 since it added more symbols
69# XXXGCC5 -- marking 1.2 for GCC 5.3 for now
70# XXXGCC6 -- marking 1.3 for GCC 6 for now
71SHLIB_MAJOR=	1
72SHLIB_MINOR=	3
73
74LDFLAGS+=	-Wl,--version-script,${DIST}/libgomp/libgomp.map
75
76.if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH:S/earmv5/earm/}
77# This is where GCC looks for it.
78FILES=		libgomp.spec
79FILESDIR=	${LIBDIR}
80
81INCS=		omp.h openacc.h
82INCSDIR=	${GCC_INCSDIR}
83.endif
84
85.else			# } else {
86libinstall::
87.endif			# }
88
89.include <bsd.lib.mk>
90
91COPTS+=	-Wno-stack-protector -Wno-missing-prototypes
92COPTS.oacc-mem.c+= -Wno-pointer-arith
93
94.PATH:	${ARCHDIR} ${DIST}/libgomp ${DIST}/libgomp/config/posix
95