3 .include <bsd.compiler.mk>
7 OMPSRC= ${SRCTOP}/contrib/llvm-project/openmp/runtime/src
8 ITTSRC= ${OMPSRC}/thirdparty/ittnotify
12 SRCS+= ittnotify_static.cpp
13 SRCS+= kmp_affinity.cpp
16 SRCS+= kmp_barrier.cpp
18 SRCS+= kmp_csupport.cpp
20 SRCS+= kmp_dispatch.cpp
21 SRCS+= kmp_environment.cpp
23 SRCS+= kmp_ftn_cdecl.cpp
24 SRCS+= kmp_ftn_extra.cpp
26 SRCS+= kmp_gsupport.cpp
31 SRCS+= kmp_runtime.cpp
33 SRCS+= kmp_settings.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
43 SRCS+= z_Linux_util.cpp
48 CFLAGS+= -D__STDC_CONSTANT_MACROS
49 CFLAGS+= -D__STDC_FORMAT_MACROS
50 CFLAGS+= -D__STDC_LIMIT_MACROS
54 CFLAGS+= -ffunction-sections
55 CFLAGS+= -fdata-sections
56 CXXFLAGS+= -fvisibility-inlines-hidden
57 CXXFLAGS+= -fno-exceptions
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
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
74 VERSION_MAP= ${OMPSRC}/exports_so.txt
79 SYMLINKS+= ${SHLIB_NAME} ${LIBDIR}/libgomp.so