Makefile revision 279981
1# $FreeBSD: head/lib/libcompiler_rt/Makefile 279981 2015-03-14 12:40:19Z dim $ 2 3.include <src.opts.mk> 4 5LIB= compiler_rt 6NO_PIC= 7WARNS?= 2 8 9CFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN 10 11.if ${MACHINE_CPUARCH} == "amd64" 12CRTARCH=x86_64 13.else 14CRTARCH=${MACHINE_CPUARCH} 15.endif 16 17CRTSRC=${.CURDIR}/../../contrib/compiler-rt/lib/builtins 18 19.PATH: ${CRTSRC}/${CRTARCH} ${CRTSRC} 20 21SRCF= absvdi2 \ 22 absvsi2 \ 23 absvti2 \ 24 addtf3 \ 25 addvdi3 \ 26 addvsi3 \ 27 addvti3 \ 28 apple_versioning \ 29 ashldi3 \ 30 ashlti3 \ 31 ashrdi3 \ 32 ashrti3 \ 33 clear_cache \ 34 clzdi2 \ 35 clzsi2 \ 36 clzti2 \ 37 cmpdi2 \ 38 cmpti2 \ 39 ctzdi2 \ 40 ctzsi2 \ 41 ctzti2 \ 42 divdc3 \ 43 divdi3 \ 44 divmoddi4 \ 45 divmodsi4 \ 46 divsc3 \ 47 divtf3 \ 48 divti3 \ 49 divxc3 \ 50 enable_execute_stack \ 51 eprintf \ 52 ffsdi2 \ 53 ffsti2 \ 54 fixdfdi \ 55 fixdfti \ 56 fixsfdi \ 57 fixsfti \ 58 fixtfdi \ 59 fixtfsi \ 60 fixtfti \ 61 fixunsdfdi \ 62 fixunsdfsi \ 63 fixunsdfti \ 64 fixunssfdi \ 65 fixunssfsi \ 66 fixunssfti \ 67 fixunstfdi \ 68 fixunstfsi \ 69 fixunstfti \ 70 fixunsxfdi \ 71 fixunsxfsi \ 72 fixunsxfti \ 73 fixxfdi \ 74 fixxfti \ 75 floatdidf \ 76 floatdisf \ 77 floatdixf \ 78 floattidf \ 79 floattisf \ 80 floattixf \ 81 floatundidf \ 82 floatundisf \ 83 floatundixf \ 84 floatunsidf \ 85 floatunsisf \ 86 floatuntidf \ 87 floatuntisf \ 88 floatuntixf \ 89 gcc_personality_v0 \ 90 int_util \ 91 lshrdi3 \ 92 lshrti3 \ 93 moddi3 \ 94 modti3 \ 95 muldc3 \ 96 muldi3 \ 97 mulodi4 \ 98 mulosi4 \ 99 muloti4 \ 100 mulsc3 \ 101 multf3 \ 102 multi3 \ 103 mulvdi3 \ 104 mulvsi3 \ 105 mulvti3 \ 106 mulxc3 \ 107 negdf2 \ 108 negdi2 \ 109 negsf2 \ 110 negti2 \ 111 negvdi2 \ 112 negvsi2 \ 113 negvti2 \ 114 paritydi2 \ 115 paritysi2 \ 116 parityti2 \ 117 popcountdi2 \ 118 popcountsi2 \ 119 popcountti2 \ 120 powidf2 \ 121 powisf2 \ 122 powitf2 \ 123 powixf2 \ 124 subtf3 \ 125 subvdi3 \ 126 subvsi3 \ 127 subvti3 \ 128 trampoline_setup \ 129 ucmpdi2 \ 130 ucmpti2 \ 131 udivdi3 \ 132 udivmoddi4 \ 133 udivmodsi4 \ 134 udivmodti4 \ 135 udivti3 \ 136 umoddi3 \ 137 umodti3 138 139# These are already shipped by libc.a on arm and mips 140.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" 141SRCF+= adddf3 \ 142 addsf3 \ 143 divdf3 \ 144 divsf3 \ 145 extendsfdf2 \ 146 fixdfsi \ 147 fixsfsi \ 148 floatsidf \ 149 floatsisf \ 150 muldf3 \ 151 mulsf3 \ 152 subdf3 \ 153 subsf3 \ 154 truncdfsf2 155.endif 156 157.if ${MACHINE_CPUARCH} != "arm" 158SRCF+= comparedf2 \ 159 comparesf2 160.endif 161 162.if ${MACHINE_CPUARCH} != "mips" 163SRCF+= divsi3 \ 164 modsi3 \ 165 udivsi3 \ 166 umodsi3 167.endif 168 169# FreeBSD-specific atomic intrinsics. 170.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "armv6" 171.PATH: ${.CURDIR}/../../sys/arm/arm 172 173SRCF+= stdatomic 174CFLAGS+= -DEMIT_SYNC_ATOMICS 175.elif ${MACHINE_CPUARCH} == "mips" 176.PATH: ${.CURDIR}/../../sys/mips/mips 177 178SRCF+= stdatomic 179.endif 180 181.for file in ${SRCF} 182. if ${MACHINE_ARCH:Marm*hf*} != "" && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S) 183SRCS+= ${file}vfp.S 184. elif !(${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH:Marm*hf*} == "") && exists(${CRTSRC}/${CRTARCH}/${file}.S) 185SRCS+= ${file}.S 186. else 187SRCS+= ${file}.c 188. endif 189.endfor 190 191.if ${MACHINE_CPUARCH} == "arm" 192SRCS+= aeabi_div0.c \ 193 aeabi_idivmod.S \ 194 aeabi_ldivmod.S \ 195 aeabi_memcmp.S \ 196 aeabi_memcpy.S \ 197 aeabi_memmove.S \ 198 aeabi_memset.S \ 199 aeabi_uidivmod.S \ 200 aeabi_uldivmod.S \ 201 bswapdi2.S \ 202 bswapsi2.S \ 203 switch16.S \ 204 switch32.S \ 205 switch8.S \ 206 switchu8.S \ 207 sync_synchronize.S 208.endif 209 210.if ${MK_INSTALLLIB} != "no" 211SYMLINKS+=libcompiler_rt.a ${LIBDIR}/libgcc.a 212.endif 213.if ${MK_PROFILE} != "no" 214SYMLINKS+=libcompiler_rt_p.a ${LIBDIR}/libgcc_p.a 215.endif 216 217.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ 218 ${MACHINE_CPUARCH} == "powerpc" 219AFLAGS+=--noexecstack 220ACFLAGS+=-Wa,--noexecstack 221.endif 222 223 224.include <bsd.lib.mk> 225