xref: /minix/common/lib/libc/arch/m68k/atomic/Makefile.inc (revision 83ee113e)
1#	$NetBSD: Makefile.inc,v 1.14 2014/11/20 07:07:13 matt Exp $
2
3#
4# Note: The atomic operations here in these assembly files are atomic
5# only with respect to regular memory on uniprocessor systems.  Since
6# we don't support any MP m68k systems, this is just fine.  If we ever
7# do, then these routines will probably need to be replaced with CAS-
8# based routines (CAS generates an atomic bus cycle, whereas these
9# others are merely single-instruction).
10#
11
12.if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \
13	|| ${LIB} == "rump")
14.if ${MACHINE_ARCH} == "m68k"
15
16SRCS+=	atomic_add.S atomic_and.S atomic_cas.S atomic_dec.S \
17	atomic_inc.S atomic_or.S atomic_swap.S membar_ops_nop.c \
18	atomic_sub.S atomic_xor.S atomic_nand.S
19
20.else
21
22SRCS+=  atomic_add_32_cas.c atomic_add_32_nv_cas.c atomic_and_32_cas.c \
23	atomic_and_32_nv_cas.c atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \
24	atomic_inc_32_cas.c atomic_inc_32_nv_cas.c atomic_or_32_cas.c \
25	atomic_or_32_nv_cas.c atomic_swap_32_cas.c membar_ops_nop.c
26
27.if ${LIB} == "c"
28SRCS+=  atomic_add_16_cas.c atomic_add_8_cas.c	\
29	atomic_sub_32_cas.c atomic_sub_16_cas.c atomic_sub_8_cas.c	\
30	atomic_nand_32_cas.c atomic_nand_16_cas.c atomic_nand_8_cas.c	\
31	atomic_xor_32_cas.c atomic_xor_16_cas.c atomic_xor_8_cas.c	\
32	atomic_and_32_cas.c atomic_and_16_cas.c atomic_and_8_cas.c	\
33	atomic_or_32_cas.c atomic_or_16_cas.c atomic_or_8_cas.c		\
34	atomic_cas_32_cas.c atomic_cas_16_cas.c atomic_cas_8_cas.c	\
35	atomic_swap_32_cas.c atomic_swap_16_cas.c atomic_swap_8_cas.c
36
37SRCS+=	atomic_c11_compare_exchange_cas_8.c \
38	atomic_c11_compare_exchange_cas_16.c \
39	atomic_c11_compare_exchange_cas_32.c
40.endif
41
42.endif
43.endif
44
45.if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread")
46.if ${MACHINE_ARCH} == "m68k"
47
48SRCS+=	atomic_init_cas.c
49
50.else
51
52SRCS+=	atomic_init_testset.c
53SRCS+=	atomic_cas_68000.S
54CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP -D__HAVE_ASM_ATOMIC_CAS_16_UP \
55	 -D__HAVE_ASM_ATOMIC_CAS_8_UP
56
57.endif
58.endif
59