1 1.24 riastrad # $NetBSD: Makefile.inc,v 1.24 2023/03/30 15:03:36 riastradh Exp $ 2 1.2 ad 3 1.4 mrg .include <bsd.own.mk> 4 1.4 mrg 5 1.14 abs # This is called with MACHINE=sparc64 && MACHINE_ARCH=sparc when building 6 1.14 abs # 32 bit kernels for ultrasparc hardware 7 1.22 nakayama .if ${MACHINE} == "sparc64" && \ 8 1.22 nakayama (${HAVE_LLVM:Uno} == "no" || (defined(LIB) && ${LIB} == "kern")) 9 1.4 mrg 10 1.4 mrg SPARC64DIR= ${.PARSEDIR}/../../sparc64/atomic 11 1.5 nakayama .PATH.c: ${SPARC64DIR} 12 1.5 nakayama .PATH.S: ${SPARC64DIR} 13 1.4 mrg 14 1.4 mrg .include "${SPARC64DIR}/Makefile.inc" 15 1.4 mrg 16 1.19 nakayama .if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \ 17 1.19 nakayama || ${LIB} == "rump") 18 1.19 nakayama SRCS+= atomic_nand_64_cas.c atomic_xor_64_cas.c atomic_sub_64_cas.c \ 19 1.19 nakayama atomic_cas_64_cas.c 20 1.19 nakayama .endif 21 1.19 nakayama 22 1.4 mrg .else 23 1.2 ad 24 1.9 ad . if defined(LIB) 25 1.7 ad 26 1.11 pooka . if (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \ 27 1.11 pooka || ${LIB} == "rump") 28 1.2 ad SRCS+= atomic_add_32_cas.c atomic_add_32_nv_cas.c atomic_and_32_cas.c \ 29 1.3 ad atomic_and_32_nv_cas.c atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \ 30 1.3 ad atomic_inc_32_cas.c atomic_inc_32_nv_cas.c atomic_or_32_cas.c \ 31 1.17 martin atomic_or_32_nv_cas.c atomic_swap_32_cas.c membar_ops.S \ 32 1.17 martin atomic_cas_32_cas.c atomic_nand_32_cas.c atomic_sub_32_cas.c \ 33 1.17 martin atomic_xor_32_cas.c 34 1.17 martin . endif 35 1.17 martin 36 1.17 martin . if ${LIB} == "c" 37 1.17 martin SRCS+= atomic_nand_16_cas.c atomic_nand_8_cas.c \ 38 1.17 martin atomic_and_16_cas.c atomic_and_8_cas.c \ 39 1.23 isaki atomic_and_16_nv_cas.c atomic_and_8_nv_cas.c \ 40 1.17 martin atomic_xor_16_cas.c atomic_xor_8_cas.c \ 41 1.17 martin atomic_add_16_cas.c atomic_add_8_cas.c \ 42 1.17 martin atomic_cas_16_cas.c atomic_cas_8_cas.c \ 43 1.17 martin atomic_sub_16_cas.c atomic_sub_8_cas.c \ 44 1.17 martin atomic_or_16_cas.c atomic_or_8_cas.c \ 45 1.18 martin atomic_swap_16_cas.c atomic_swap_8_cas.c \ 46 1.18 martin atomic_c11_compare_exchange_cas_32.c \ 47 1.18 martin atomic_c11_compare_exchange_cas_16.c \ 48 1.20 joerg atomic_c11_compare_exchange_cas_8.c \ 49 1.24 riastrad atomic_load.c atomic_store.c \ 50 1.24 riastrad atomic_is_lock_free.c 51 1.9 ad . endif 52 1.2 ad 53 1.12 pooka . if (${LIB} == "kern" || ${LIB} == "rump") 54 1.8 ad SRCS+= atomic_cas.S 55 1.9 ad . endif 56 1.8 ad 57 1.10 ad . if (${LIB} == "c" || ${LIB} == "pthread") 58 1.16 martin CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP -D__HAVE_ASM_ATOMIC_CAS_16_UP \ 59 1.16 martin -D__HAVE_ASM_ATOMIC_CAS_8_UP 60 1.15 martin SRCS+= atomic_init_testset.c atomic_cas_up.S 61 1.9 ad . endif 62 1.9 ad 63 1.8 ad . endif 64 1.4 mrg 65 1.2 ad .endif 66