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