Makefile.libcompat (1b337a349d5de20366deac38a575ae5402cf45b9) Makefile.libcompat (17e3ebb1addd13e0fb5cbf22c2e6b59faca2d2e4)
1# $FreeBSD$
2
3.if !targets(__<${_this:T}>__)
4__<${_this:T}>__:
5
6# Makefile for the compatibility libraries.
7# - 32-bit compat libraries on PowerPC and AMD64.
8# could also be for mips, but that doesn't work today.

--- 38 unchanged lines hidden (view full) ---

47LIBSOFTWMAKEENV= CPUTYPE=soft MACHINE=arm MACHINE_ARCH=armv6
48LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP
49.endif
50
51# -------------------------------------------------------------------
52# Generic code for each type.
53# Set defaults based on type.
54libcompat= ${LIBCOMPAT:tl}
1# $FreeBSD$
2
3.if !targets(__<${_this:T}>__)
4__<${_this:T}>__:
5
6# Makefile for the compatibility libraries.
7# - 32-bit compat libraries on PowerPC and AMD64.
8# could also be for mips, but that doesn't work today.

--- 38 unchanged lines hidden (view full) ---

47LIBSOFTWMAKEENV= CPUTYPE=soft MACHINE=arm MACHINE_ARCH=armv6
48LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP
49.endif
50
51# -------------------------------------------------------------------
52# Generic code for each type.
53# Set defaults based on type.
54libcompat= ${LIBCOMPAT:tl}
55_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS WMAKEENV WMAKEFLAGS WMAKE
55_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS CXXFLAGS WMAKEENV \
56 WMAKEFLAGS WMAKE
56.for _var in ${_LIBCOMPAT_MAKEVARS}
57.if !empty(LIB${LIBCOMPAT}${_var})
58LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}}
59.endif
60.endfor
61
62# Shared flags
63LIBCOMPAT_OBJTREE?= ${OBJTREE}${.CURDIR}/world${libcompat}
64LIBCOMPATTMP?= ${OBJTREE}${.CURDIR}/lib${libcompat}
65
66LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \
67 -L${LIBCOMPATTMP}/usr/lib${libcompat} \
57.for _var in ${_LIBCOMPAT_MAKEVARS}
58.if !empty(LIB${LIBCOMPAT}${_var})
59LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}}
60.endif
61.endfor
62
63# Shared flags
64LIBCOMPAT_OBJTREE?= ${OBJTREE}${.CURDIR}/world${libcompat}
65LIBCOMPATTMP?= ${OBJTREE}${.CURDIR}/lib${libcompat}
66
67LIBCOMPATCFLAGS+= ${LIBCOMPATCPUFLAGS} \
68 -L${LIBCOMPATTMP}/usr/lib${libcompat} \
68 --sysroot=${LIBCOMPATTMP}
69 --sysroot=${LIBCOMPATTMP} \
70 ${BFLAGS}
69
70# -B is needed to find /usr/lib32/crti.o for GCC and /usr/libsoft/crti.o for
71# Clang/GCC.
72LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat}
73# GCC requires -isystem when using a cross-compiler.
74LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include
75
71
72# -B is needed to find /usr/lib32/crti.o for GCC and /usr/libsoft/crti.o for
73# Clang/GCC.
74LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat}
75# GCC requires -isystem when using a cross-compiler.
76LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include
77
78.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
79# Force using libc++ for external GCC.
80LIBCOMPATCXXFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \
81 -nostdinc++ -L${LIBCOMPAT_OBJTREE}${.CURDIR}/lib/libc++
82.endif
83
76# Yes, the flags are redundant.
77LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \
78 INSTALL="sh ${.CURDIR}/tools/install.sh" \
79 PATH=${TMPPATH} \
80 LIBDIR=/usr/lib${libcompat} \
81 SHLIBDIR=/usr/lib${libcompat} \
82 DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
83LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
84# Yes, the flags are redundant.
85LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \
86 INSTALL="sh ${.CURDIR}/tools/install.sh" \
87 PATH=${TMPPATH} \
88 LIBDIR=/usr/lib${libcompat} \
89 SHLIBDIR=/usr/lib${libcompat} \
90 DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
91LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
84 CXX="${XCXX} ${LIBCOMPATCFLAGS}" \
92 CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \
85 DESTDIR=${LIBCOMPATTMP} \
86 -DNO_CPU_CFLAGS \
87 MK_CTF=no \
88 -DNO_LINT \
89 MK_TESTS=no
90LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \
91 MK_MAN=no MK_HTML=no
92LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \

--- 70 unchanged lines hidden ---
93 DESTDIR=${LIBCOMPATTMP} \
94 -DNO_CPU_CFLAGS \
95 MK_CTF=no \
96 -DNO_LINT \
97 MK_TESTS=no
98LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \
99 MK_MAN=no MK_HTML=no
100LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \

--- 70 unchanged lines hidden ---