1 # $NetBSD: Makefile,v 1.11 2014/03/01 10:00:38 mrg Exp $ 2 3 # build GCC's libgomp, so that -fopenmp works. 4 5 # XXX 6 NOLINT= # defined 7 8 .include <bsd.own.mk> 9 10 .if !defined(NO_LIBGOMP) # { 11 12 DIST= ${NETBSDSRCDIR}/external/gpl3/gcc/dist 13 14 LIB= gomp 15 SRCS= \ 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 42 GOMP_MACHINE_ARCH?= ${MACHINE_ARCH:S/earmv5/earm/} 43 ARCHDIR= ${.CURDIR}/arch/${GOMP_MACHINE_ARCH} 44 45 CPPFLAGS+= \ 46 -DHAVE_CONFIG_H \ 47 -I${DIST}/libgomp \ 48 -I${DIST}/libgomp/config/posix \ 49 -I${DIST}/libgcc \ 50 -I${ARCHDIR} 51 CFLAGS+=-pthread 52 53 CWARNFLAGS.clang+= -Wno-conversion 54 55 # libgomp is 1.0 is in GCC 4.5, and 1.1 in 4.8 since it added more symbols 56 SHLIB_MAJOR= 1 57 SHLIB_MINOR= 1 58 59 LDFLAGS+= -Wl,--version-script,${DIST}/libgomp/libgomp.map 60 61 .PATH: ${ARCHDIR} ${DIST}/libgomp ${DIST}/libgomp/config/posix 62 63 .if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH:S/earmv5/earm/} 64 # This is where GCC looks for it. 65 FILES= libgomp.spec 66 FILESDIR= ${LIBDIR} 67 68 INCS= omp.h 69 INCSDIR= /usr/include/gcc-4.8 70 .endif 71 72 .else # } else { 73 libinstall:: 74 .endif # } 75 76 .include <bsd.lib.mk> 77 78 COPTS+= -Wno-stack-protector 79