2 .if !targets(__<${_this:T}>__)
5 # Makefile for the compatibility libraries.
6 # - 32-bit compat libraries on MIPS, PowerPC, and AMD64.
8 .include <bsd.compat.mk>
10 # Yes, the flags are redundant.
12 INSTALL="${INSTALL_CMD} -U" \
14 SYSROOT=${LIBCOMPATTMP} \
15 LIBDIR=/usr/lib${libcompat} \
16 SHLIBDIR=/usr/lib${libcompat} \
17 DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
18 .if ${MK_META_MODE} != "no"
19 # Don't rebuild build-tools targets during normal build.
20 LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA
22 LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
23 CXX="${XCXX} ${LIBCOMPATCXXFLAGS} ${LIBCOMPATCFLAGS}" \
24 CPP="${XCPP} ${LIBCOMPATCFLAGS}" \
25 DESTDIR=${LIBCOMPATTMP} \
30 LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \
31 OBJTOP=${LIBCOMPAT_OBJTOP} \
32 OBJROOT='$${OBJTOP}/' \
35 LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*} \
40 _LC_LIBDIRS.yes+= gnu/lib
41 _LC_LIBDIRS.${MK_CDDL:tl}+= cddl/lib
42 _LC_LIBDIRS.${MK_CRYPT:tl}+= secure/lib
43 _LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib
50 .if ${MK_FILE} != "no"
51 _libmagic= lib/libmagic
54 _jevents= lib/libpmc/pmu-events
59 build${libcompat}: .PHONY
61 @echo "--------------------------------------------------------------"
62 @echo ">>> stage 4.3: building lib${libcompat} shim libraries"
63 @echo "--------------------------------------------------------------"
64 .if ${MK_CLEAN} == "yes"
65 rm -rf ${LIBCOMPATTMP}
67 ${_+_}@if [ -e "${LIBCOMPATTMP}" ]; then \
68 echo ">>> Deleting stale files in build${libcompat} tree..."; \
69 cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \
70 DESTDIR=${LIBCOMPATTMP} \
71 delete-old delete-old-libs >/dev/null; \
73 .endif # MK_CLEAN == "yes"
75 mkdir -p ${LIBCOMPATTMP}/usr/include
76 ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
77 -p ${LIBCOMPATTMP}/usr >/dev/null
78 ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
79 -p ${LIBCOMPATTMP}/usr/include >/dev/null
80 ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \
81 -p ${LIBCOMPATTMP}/usr >/dev/null
82 .if ${MK_DEBUG_FILES} != "no"
83 ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
84 -p ${LIBCOMPATTMP}/usr/lib >/dev/null
85 ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \
86 -p ${LIBCOMPATTMP}/usr/lib/debug/usr >/dev/null
89 ln -sf ${.CURDIR}/sys ${WORLDTMP}
90 .for _t in ${_obj} includes
91 .for _dir in ${_LC_INCDIRS}
92 ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATWMAKE} MK_INCLUDES=yes \
93 DIRPRFX=${_dir}/ ${_t}
96 .for _dir in lib/ncurses/ncurses ${_libmagic} ${_jevents}
97 .for _t in ${_obj} build-tools
98 ${_+_}cd ${.CURDIR}/${_dir}; \
99 WORLDTMP=${WORLDTMP} \
100 MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \
102 OBJTOP=${LIBCOMPAT_OBJTOP} \
103 OBJROOT='$${OBJTOP}/' \
115 ${_+_}cd ${.CURDIR}; \
116 ${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries
118 distribute${libcompat} install${libcompat}: .PHONY
119 .for _dir in ${_LC_LIBDIRS.yes}
120 ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATIMAKE} ${.TARGET:S/${libcompat}$//}
123 .endif # !targets(__<${_this:T}>__)