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