]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libomp/Makefile
zfs: merge openzfs/zfs@688514e47
[FreeBSD/FreeBSD.git] / lib / libomp / Makefile
1
2 .include <bsd.compiler.mk>
3
4 SHLIB_NAME=     libomp.so
5
6 OMPSRC=         ${SRCTOP}/contrib/llvm-project/openmp/runtime/src
7 ITTSRC=         ${OMPSRC}/thirdparty/ittnotify
8 .PATH:          ${OMPSRC}
9 .PATH:          ${ITTSRC}
10
11 SRCS+=          ittnotify_static.cpp
12 SRCS+=          kmp_affinity.cpp
13 SRCS+=          kmp_alloc.cpp
14 SRCS+=          kmp_atomic.cpp
15 SRCS+=          kmp_barrier.cpp
16 SRCS+=          kmp_cancel.cpp
17 SRCS+=          kmp_csupport.cpp
18 SRCS+=          kmp_debug.cpp
19 SRCS+=          kmp_dispatch.cpp
20 SRCS+=          kmp_environment.cpp
21 SRCS+=          kmp_error.cpp
22 SRCS+=          kmp_ftn_cdecl.cpp
23 SRCS+=          kmp_ftn_extra.cpp
24 SRCS+=          kmp_global.cpp
25 SRCS+=          kmp_gsupport.cpp
26 SRCS+=          kmp_i18n.cpp
27 SRCS+=          kmp_io.cpp
28 SRCS+=          kmp_itt.cpp
29 SRCS+=          kmp_lock.cpp
30 SRCS+=          kmp_runtime.cpp
31 SRCS+=          kmp_sched.cpp
32 SRCS+=          kmp_settings.cpp
33 SRCS+=          kmp_str.cpp
34 SRCS+=          kmp_taskdeps.cpp
35 SRCS+=          kmp_tasking.cpp
36 SRCS+=          kmp_threadprivate.cpp
37 SRCS+=          kmp_utility.cpp
38 SRCS+=          kmp_version.cpp
39 SRCS+=          kmp_wait_release.cpp
40 SRCS+=          ompt-general.cpp
41 SRCS+=          z_Linux_asm.S
42 SRCS+=          z_Linux_util.cpp
43 INCS+=          omp.h
44
45 WARNS?=         1
46
47 CFLAGS+=        -D__STDC_CONSTANT_MACROS
48 CFLAGS+=        -D__STDC_FORMAT_MACROS
49 CFLAGS+=        -D__STDC_LIMIT_MACROS
50 CFLAGS+=        -I${.CURDIR}
51 CFLAGS+=        -I${OMPSRC}
52 CFLAGS+=        -I${ITTSRC}
53 CFLAGS+=        -ffunction-sections
54 CFLAGS+=        -fdata-sections
55 CXXFLAGS+=      -fvisibility-inlines-hidden
56 CXXFLAGS+=      -fno-exceptions
57 CXXFLAGS+=      -fno-rtti
58 CXXSTD=         c++11
59
60 .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 90000
61 # When targeting i386, clang 9.0.0 produces a new warning about large atomic
62 # operations "possibly incurring significant performance penalties", but there
63 # is not much we can do about it.
64 CWARNFLAGS+=    -Wno-atomic-alignment
65 .endif
66
67 LDFLAGS+=       -Wl,--warn-shared-textrel
68 LDFLAGS+=       -Wl,--gc-sections
69 LDFLAGS+=       -Wl,-z,noexecstack
70 LDFLAGS+=       -Wl,-fini=__kmp_internal_end_fini
71 LDFLAGS+=       -Wl,-soname,libomp.so
72
73 VERSION_MAP=    ${OMPSRC}/exports_so.txt
74
75 LIBADD+=        pthread
76 LIBADD+=        m
77
78 SYMLINKS+=      ${SHLIB_NAME} ${LIBDIR}/libgomp.so
79
80 .include <bsd.lib.mk>