1dba75e9fSBryan Drewery# $FreeBSD$ 2dba75e9fSBryan Drewery 3dba75e9fSBryan Drewery.if !targets(__<${_this:T}>__) 4dba75e9fSBryan Drewery__<${_this:T}>__: 5dba75e9fSBryan Drewery 6dba75e9fSBryan Drewery# Makefile for the compatibility libraries. 7aada8c47SWarner Losh# - 32-bit compat libraries on PowerPC, and AMD64. 8dba75e9fSBryan Drewery 9bbcf7eddSBrooks Davis.include <bsd.compat.mk> 1007394091SBryan Drewery 11dba75e9fSBryan Drewery# Yes, the flags are redundant. 12dfa09989SBryan DreweryLIBCOMPATWMAKEENV+= \ 137eb9f755SWarner Losh INSTALL="${INSTALL_CMD} -U" \ 14dba75e9fSBryan Drewery PATH=${TMPPATH} \ 15724123b9SBrooks Davis SYSROOT=${WORLDTMP} \ 16dba75e9fSBryan Drewery LIBDIR=/usr/lib${libcompat} \ 17dba75e9fSBryan Drewery SHLIBDIR=/usr/lib${libcompat} \ 18*ac175bd3SAlex Richardson LIBDATADIR=/usr/lib${libcompat} \ 19dba75e9fSBryan Drewery DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" 20d1dd034dSBryan Drewery.if ${MK_META_MODE} != "no" 21d1dd034dSBryan Drewery# Don't rebuild build-tools targets during normal build. 22dbbb03c2SBryan DreweryLIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA 23d1dd034dSBryan Drewery.endif 24f661dbeeSBryan DreweryLIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ 2576c5029cSBryan Drewery CXX="${XCXX} ${LIBCOMPATCXXFLAGS} ${LIBCOMPATCFLAGS}" \ 26f661dbeeSBryan Drewery CPP="${XCPP} ${LIBCOMPATCFLAGS}" \ 27724123b9SBrooks Davis DESTDIR=${WORLDTMP} \ 28dba75e9fSBryan Drewery -DNO_CPU_CFLAGS \ 2903f6e182SWarner Losh MK_BOOT=no \ 30dba75e9fSBryan Drewery MK_CTF=no \ 3103f6e182SWarner Losh MK_TESTS=no 3299feb137SWolfram SchneiderLIBCOMPATWMAKE+= ${TIME_ENV} ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \ 331031b94fSBryan Drewery OBJTOP=${LIBCOMPAT_OBJTOP} \ 341031b94fSBryan Drewery OBJROOT='$${OBJTOP}/' \ 35996e4759SBryan Drewery MAKEOBJDIRPREFIX= \ 36dba75e9fSBryan Drewery MK_MAN=no MK_HTML=no 3791da7698SBryan DreweryLIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*} \ 3852f9bacbSJohn Baldwin ${IMAKE_INSTALL} \ 39429882e6SBryan Drewery -DLIBRARIES_ONLY 40dba75e9fSBryan Drewery 41ad91146cSEd Maste_LC_LIBDIRS.yes= lib 420d849865SEd Maste_LC_LIBDIRS.yes+= gnu/lib 43048ce093SBryan Drewery_LC_LIBDIRS.${MK_CDDL:tl}+= cddl/lib 44048ce093SBryan Drewery_LC_LIBDIRS.${MK_CRYPT:tl}+= secure/lib 45048ce093SBryan Drewery_LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib 46dba75e9fSBryan Drewery 471b337a34SBryan Drewery_LC_INCDIRS= \ 481b337a34SBryan Drewery include \ 49cc46927fSBaptiste Daroussin lib/ncurses/tinfo \ 501b337a34SBryan Drewery ${_LC_LIBDIRS.yes} 511b337a34SBryan Drewery 52127b666cSBryan Drewery.if ${MK_FILE} != "no" 53127b666cSBryan Drewery_libmagic= lib/libmagic 54127b666cSBryan Drewery.endif 55689c7e79SMitchell Horne.if ${MK_PMC} != "no" 566f1f2b19SBryan Drewery_jevents= lib/libpmc/pmu-events 576f1f2b19SBryan Drewery.endif 586f1f2b19SBryan Drewery 596f1f2b19SBryan Drewery 60dba75e9fSBryan Drewery# Shared logic 61dba75e9fSBryan Drewerybuild${libcompat}: .PHONY 62dba75e9fSBryan Drewery @echo 63dba75e9fSBryan Drewery @echo "--------------------------------------------------------------" 645dab1313SBrooks Davis @echo ">>> stage 4.3: building lib${libcompat} shim libraries" 65dba75e9fSBryan Drewery @echo "--------------------------------------------------------------" 6655a5b46aSAlex Richardson ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ 67724123b9SBrooks Davis -p ${WORLDTMP}/usr >/dev/null 68dba75e9fSBryan Drewery.if ${MK_DEBUG_FILES} != "no" 6955a5b46aSAlex Richardson ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ 70724123b9SBrooks Davis -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null 71dba75e9fSBryan Drewery.endif 72cc46927fSBaptiste Daroussin.for _dir in lib/ncurses/tinfo ${_libmagic} ${_jevents} 73c4273800SBryan Drewery.for _t in ${_obj} build-tools 74dba75e9fSBryan Drewery ${_+_}cd ${.CURDIR}/${_dir}; \ 75dba75e9fSBryan Drewery WORLDTMP=${WORLDTMP} \ 76dba75e9fSBryan Drewery MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ 7761ed578eSMitchell Horne ${MAKE} DESTDIR= \ 784dc89c4dSBryan Drewery OBJTOP=${LIBCOMPAT_OBJTOP} \ 794dc89c4dSBryan Drewery OBJROOT='$${OBJTOP}/' \ 80996e4759SBryan Drewery MAKEOBJDIRPREFIX= \ 81bcd2f41fSMitchell Horne DIRPRFX=${_dir}/ \ 82bcd2f41fSMitchell Horne -DNO_LINT \ 83bcd2f41fSMitchell Horne -DNO_CPU_CFLAGS \ 84bcd2f41fSMitchell Horne MK_ASAN=no \ 85bcd2f41fSMitchell Horne MK_CTF=no \ 86bcd2f41fSMitchell Horne MK_RETPOLINE=no \ 8761ed578eSMitchell Horne MK_SSP=no \ 88bcd2f41fSMitchell Horne MK_UBSAN=no \ 89bcd2f41fSMitchell Horne MK_WERROR=no \ 90c4273800SBryan Drewery ${_t} 91c4273800SBryan Drewery.endfor 92dba75e9fSBryan Drewery.endfor 93dba75e9fSBryan Drewery ${_+_}cd ${.CURDIR}; \ 94dba75e9fSBryan Drewery ${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries 95dba75e9fSBryan Drewery 96dba75e9fSBryan Drewerydistribute${libcompat} install${libcompat}: .PHONY 97dba75e9fSBryan Drewery.for _dir in ${_LC_LIBDIRS.yes} 98dba75e9fSBryan Drewery ${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATIMAKE} ${.TARGET:S/${libcompat}$//} 99dba75e9fSBryan Drewery.endfor 100dba75e9fSBryan Drewery 101a4330302SBrooks Davis.endif # !targets(__<${_this:T}>__) 102