Makefile.inc revision 1.13
1# $NetBSD: Makefile.inc,v 1.13 2013/08/19 03:55:12 matt Exp $ 2 3ARMV6= ${CPUFLAGS:M-march=armv6*} ${CPUFLAGS:M-mcpu=arm11*} 4ARMV6+= ${CFLAGS:M-march=armv6*:} ${CFLAGS:M-mcpu=arm11*} 5ARMV6+= ${CPPFLAGS:M-march=armv6*:} ${CPPFLAGS:M-mcpu=arm11*} 6ARMV7= ${CPUFLAGS:M-march=armv7*} ${CPUFLAGS:M-mcpu=cortex*} 7ARMV7+= ${CFLAGS:M-march=armv7*:} ${CFLAGS:M-mcpu=cortex*} 8ARMV7+= ${CPPFLAGS:M-march=armv7*:} ${CPPFLAGS:M-mcpu=cortex*} 9.if empty(CPPFLAGS:M-D_STANDALONE) \ 10 && empty(CFLAGS:M-march=*) && empty(CFLAGS:M-mcpu=*) \ 11 && empty(CPPFLAGS:M-march=*) && empty(CPPFLAGS:M-mcpu=*) \ 12 && empty(CPUFLAGS:M-march=*) && empty(CPUFLAGS:M-mcpu=*) 13ARMV6+= ${MACHINE_ARCH:Mearmv6*} 14ARMV7+= ${MACHINE_ARCH:Mearmv7*} 15.endif 16 17.if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \ 18 || ${LIB} == "rump") 19 20.if empty(ARMV6) && empty(ARMV7) 21SRCS.atomic+= atomic_add_32_cas.c atomic_add_32_nv_cas.c \ 22 atomic_and_32_cas.c atomic_and_32_nv_cas.c \ 23 atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \ 24 atomic_inc_32_cas.c atomic_inc_32_nv_cas.c \ 25 atomic_or_32_cas.c atomic_or_32_nv_cas.c \ 26 atomic_swap_32_cas.c membar_ops_nop.c 27.else 28SRCS.atomic+= atomic_add_32.S atomic_and_32.S atomic_cas_32.S 29SRCS.atomic+= atomic_dec_32.S atomic_inc_32.S atomic_or_32.S 30SRCS.atomic+= atomic_swap.S membar_ops.S 31SRCS.atomic+= atomic_add_64.S atomic_and_64.S atomic_cas_64.S 32SRCS.atomic+= atomic_dec_64.S atomic_inc_64.S atomic_or_64.S 33SRCS.atomic+= atomic_swap_64.S 34.endif 35 36.endif 37 38.if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread" || ${LIB} == "rump") 39 40SRCS.atomic+= atomic_simplelock.c 41.if empty(ARMV7) 42CPUFLAGS.atomic_simplelock.c+= -marm 43.endif 44 45.endif 46 47.if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread") 48 49.if empty(ARMV6) && empty(ARMV7) 50SRCS.atomic+= atomic_init_testset.c 51SRCS.atomic+= atomic_cas_up.S 52CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP 53.else 54SRCS.atomic+= atomic_init_cas.c 55.endif 56 57.endif 58 59.if !empty(ARMV6) 60.for f in ${SRCS.atomic:M*.S} 61CPUFLAGS.$f+= -marm 62.endfor 63.endif 64 65SRCS+= ${SRCS.atomic} 66