Makefile revision 251791
11541Srgrimes# $FreeBSD: head/lib/libcompiler_rt/Makefile 251791 2013-06-15 12:16:27Z andrew $ 21541Srgrimes 31541Srgrimes.include <bsd.own.mk> 41541Srgrimes 51541SrgrimesLIB= compiler_rt 61541SrgrimesNO_PIC= 71541SrgrimesWARNS?= 2 81541Srgrimes 91541SrgrimesCFLAGS+=${PICFLAG} -fvisibility=hidden -DVISIBILITY_HIDDEN 101541Srgrimes 111541Srgrimes.if ${MACHINE_CPUARCH} == "amd64" 121541SrgrimesCRTARCH=x86_64 131541Srgrimes.else 141541SrgrimesCRTARCH=${MACHINE_CPUARCH} 151541Srgrimes.endif 161541Srgrimes 171541SrgrimesCRTSRC=${.CURDIR}/../../contrib/compiler-rt/lib 181541Srgrimes 191541Srgrimes.PATH: ${CRTSRC}/${CRTARCH} ${CRTSRC} 201541Srgrimes 211541SrgrimesSRCF= absvdi2 \ 221541Srgrimes absvsi2 \ 231541Srgrimes absvti2 \ 241541Srgrimes addvdi3 \ 251541Srgrimes addvsi3 \ 261541Srgrimes addvti3 \ 271541Srgrimes ashldi3 \ 281541Srgrimes ashlti3 \ 291541Srgrimes ashrdi3 \ 301541Srgrimes ashrti3 \ 311541Srgrimes clear_cache \ 321541Srgrimes clzdi2 \ 3322521Sdyson clzsi2 \ 3450477Speter clzti2 \ 351541Srgrimes cmpdi2 \ 3622521Sdyson cmpti2 \ 3722521Sdyson comparedf2 \ 3822521Sdyson comparesf2 \ 3922521Sdyson ctzdi2 \ 4022521Sdyson ctzsi2 \ 4122521Sdyson ctzti2 \ 4222521Sdyson divdc3 \ 4322521Sdyson divdi3 \ 4422521Sdyson divmoddi4 \ 4522521Sdyson divmodsi4 \ 4654444Seivind divsc3 \ 4754444Seivind divti3 \ 4854444Seivind divxc3 \ 4954444Seivind enable_execute_stack \ 5054444Seivind eprintf \ 5145058Seivind ffsdi2 \ 5222521Sdyson ffsti2 \ 5322521Sdyson fixdfdi \ 5422521Sdyson fixdfti \ 5522521Sdyson fixsfdi \ 5622521Sdyson fixsfti \ 5722521Sdyson fixunsdfdi \ 5851679Seivind fixunsdfsi \ 5951679Seivind fixunsdfti \ 6051679Seivind fixunssfdi \ 6151679Seivind fixunssfsi \ 6254444Seivind fixunssfti \ 6351679Seivind fixunsxfdi \ 6451679Seivind fixunsxfsi \ 6551679Seivind fixunsxfti \ 6622521Sdyson fixxfdi \ 6722521Sdyson fixxfti \ 6822521Sdyson floatdidf \ 6922521Sdyson floatdisf \ 7022521Sdyson floatdixf \ 7122521Sdyson floattidf \ 7222521Sdyson floattisf \ 731541Srgrimes floattixf \ 741541Srgrimes floatundidf \ 751541Srgrimes floatundisf \ 761541Srgrimes floatundixf \ 771541Srgrimes floatunsidf \ 781541Srgrimes floatunsisf \ 7922521Sdyson floatuntidf \ 8028732Sphk floatuntisf \ 8128732Sphk floatuntixf \ 8228732Sphk int_util \ 8328732Sphk lshrdi3 \ 8428732Sphk lshrti3 \ 8528732Sphk moddi3 \ 8628732Sphk modti3 \ 8728732Sphk muldc3 \ 8828732Sphk muldi3 \ 8928732Sphk mulodi4 \ 9028732Sphk mulosi4 \ 9128732Sphk muloti4 \ 9235823Smsmith mulsc3 \ 9322521Sdyson multi3 \ 9422521Sdyson mulvdi3 \ 951541Srgrimes mulvsi3 \ 9635823Smsmith mulvti3 \ 971541Srgrimes mulxc3 \ 981541Srgrimes negdf2 \ 991541Srgrimes negdi2 \ 1001541Srgrimes negsf2 \ 1011541Srgrimes negti2 \ 10222521Sdyson negvdi2 \ 10322521Sdyson negvsi2 \ 10422521Sdyson negvti2 \ 10522521Sdyson paritydi2 \ 10635823Smsmith paritysi2 \ 10722521Sdyson parityti2 \ 10822521Sdyson popcountdi2 \ 10922521Sdyson popcountsi2 \ 11022521Sdyson popcountti2 \ 11122521Sdyson powidf2 \ 11235823Smsmith powisf2 \ 11322521Sdyson powitf2 \ 11422521Sdyson powixf2 \ 1151541Srgrimes subvdi3 \ 11635823Smsmith subvsi3 \ 11753101Seivind subvti3 \ 1181541Srgrimes trampoline_setup \ 1191541Srgrimes ucmpdi2 \ 1201541Srgrimes ucmpti2 \ 1211541Srgrimes udivdi3 \ 12222521Sdyson udivmoddi4 \ 12322521Sdyson udivmodsi4 \ 12422521Sdyson udivmodti4 \ 1251541Srgrimes udivti3 \ 1261541Srgrimes umoddi3 \ 1271541Srgrimes umodti3 1281541Srgrimes 1291541Srgrimes# These are already shipped by libc.a on arm and mips 1301541Srgrimes.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" 1311541SrgrimesSRCF+= adddf3 \ 13222521Sdyson addsf3 \ 13322521Sdyson divdf3 \ 13422521Sdyson divsf3 \ 1351541Srgrimes extendsfdf2 \ 1361541Srgrimes fixdfsi \ 1371541Srgrimes fixsfsi \ 1381541Srgrimes floatsidf \ 1391541Srgrimes floatsisf \ 1401541Srgrimes muldf3 \ 1411541Srgrimes mulsf3 \ 14222521Sdyson subdf3 \ 14322521Sdyson subsf3 \ 14422521Sdyson truncdfsf2 1451541Srgrimes.endif 1461541Srgrimes 1471541Srgrimes.if ${MACHINE_CPUARCH} != "mips" && \ 1481541Srgrimes (${MACHINE_CPUARCH} != "arm" || ${MK_ARM_EABI} != "no") 1491541SrgrimesSRCF+= divsi3 \ 1501541Srgrimes modsi3 \ 1511541Srgrimes udivsi3 \ 15222521Sdyson umodsi3 15322521Sdyson.endif 15422521Sdyson 1551541Srgrimes# FreeBSD-specific atomic intrinsics. 1561541Srgrimes.if ${MACHINE_CPUARCH} == "arm" 15754803Srwatson.PATH: ${.CURDIR}/../../sys/arm/arm 1581541Srgrimes 1591541SrgrimesSRCF+= stdatomic 1601541Srgrimes.elif ${MACHINE_CPUARCH} == "mips" 1611541Srgrimes.PATH: ${.CURDIR}/../../sys/mips/mips 16222521Sdyson 16322521SdysonSRCF+= stdatomic 16422521Sdyson.endif 1651541Srgrimes 1661541Srgrimes.for file in ${SRCF} 1671541Srgrimes. if ${MACHINE_CPUARCH} != "arm" && exists(${CRTSRC}/${CRTARCH}/${file}.S) 1681541SrgrimesSRCS+= ${file}.S 1691541Srgrimes. else 1701541SrgrimesSRCS+= ${file}.c 1711541Srgrimes. endif 17222521Sdyson.endfor 17322521Sdyson 17422521Sdyson.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no" 1751541SrgrimesSRCS+= aeabi_idivmod.S \ 1761541Srgrimes aeabi_ldivmod.S \ 1771541Srgrimes aeabi_memcmp.S \ 1781541Srgrimes aeabi_memcpy.S \ 1791541Srgrimes aeabi_memmove.S \ 1801541Srgrimes aeabi_memset.S \ 1811541Srgrimes aeabi_uidivmod.S \ 18222521Sdyson aeabi_uldivmod.S 18322521Sdyson.endif 18422521Sdyson 1851541Srgrimes.if ${MK_INSTALLLIB} != "no" 1861541SrgrimesSYMLINKS+=libcompiler_rt.a ${LIBDIR}/libgcc.a 1871541Srgrimes.endif 1881541Srgrimes.if ${MK_PROFILE} != "no" 1891541SrgrimesSYMLINKS+=libcompiler_rt_p.a ${LIBDIR}/libgcc_p.a 1901541Srgrimes.endif 1911541Srgrimes 19222521Sdyson.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ 19322521Sdyson ${MACHINE_CPUARCH} == "powerpc" 19422521SdysonAFLAGS+=--noexecstack 19522521SdysonACFLAGS+=-Wa,--noexecstack 19622521Sdyson.endif 19722521Sdyson 19822521Sdyson 19922521Sdyson.include <bsd.lib.mk> 20022521Sdyson