.include PACKAGE= lib${LIB} LIB= compiler_rt MK_SSP= no NO_PIC= WARNS?= 2 CFLAGS+= ${PICFLAG} CFLAGS+= -fvisibility=hidden CFLAGS+= -DVISIBILITY_HIDDEN CFLAGS+= -I${SRCTOP}/contrib/llvm-project/libunwind/include # gcc has incompatible internal declarations for __divtc3 and __multc3, but has # no option to silence its warning, so make warnings non-fatal. MK_WERROR.gcc= no .include "Makefile.inc" # Out-of-line LSE atomics helpers for aarch64 .if ${MACHINE_CPUARCH} == "aarch64" . for pat in cas swp ldadd ldclr ldeor ldset . for size in 1 2 4 8 16 . for model in 1 2 3 4 5 . if ${pat} == "cas" || ${size} != "16" # Use .for to define lse_name, to get a special loop-local variable . for lse_name in outline_atomic_${pat}${size}_${model}.S CLEANFILES+= ${lse_name} STATICOBJS+= ${lse_name:R}.o ACFLAGS.${lse_name}+= -DL_${pat} -DSIZE=${size} -DMODEL=${model} -I${CRTSRC} ${lse_name}: lse.S ln -sf ${.ALLSRC} ${.TARGET} . endfor # lse_name . endif . endfor # model . endfor # size . endfor # pat .endif .if ${MK_INSTALLLIB} != "no" SYMLINKS+= libcompiler_rt.a ${LIBDIR}/libgcc.a .endif .include