1# $NetBSD: defs.mk.in,v 1.17 2023/06/03 09:10:13 lukem Exp $ 2# 3# Makefile fragment for building with libnbcompat and associated 4# include files. It can also be used for building just with 5# the include files, without the library. 6# 7# This can be used when the library and include files have been installed 8# into TOOLDIR (by "make install" in the src/tools/compat directory), 9# or when they have not been installed into TOOLDIR but reside 10# in the .OBJDIR associated with src/tools/compat. 11# 12# Variables: 13# 14# COMPATLIB_UNINSTALLED: 15# If "yes", then use the files from the .OBJDIR of 16# NETBSDSRCDIR/tools/compat. Otherwise, use the files 17# from TOOLDIR. 18# 19# COMPATLIB_NO_LIB: 20# If "yes" then do not use the library (but still use 21# the include files). 22# 23# Examples: 24# 25# * Use uninstalled copy of libnbcompat and associated *.h files: 26# 27# COMPATLIB_UNINSTALLED= yes 28# COMPATOBJ!= cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR} 29# .-include "${COMPATOBJ}/defs.mk" 30# 31# * Use TOOLDIR copy of libnbcompat and associated *.h files: 32# 33# .-include "${TOOLDIR}/share/compat/defs.mk" 34# 35# * Use TOOLDIR copy of compat *.h files, but do not use libnbcompat.a: 36# 37# COMPATLIB_NO_LIB= yes 38# .-include "${TOOLDIR}/share/compat/defs.mk" 39# 40# The use of ".-include" instead of ".include" above is because it's 41# expected that the file might not exist during "make obj" or "make clean". 42# 43 44.include <bsd.own.mk> 45 46# Use the installed (TOOLDIR) version of the library and headers by default 47COMPATLIB_UNINSTALLED ?= no 48# Use library and includes by default. 49COMPATLIB_NO_LIB ?= no 50 51.if "${COMPATLIB_UNINSTALLED}" == "yes" 52# The library lives in the .OBJDIR. 53# 54# Some include files live directly in the .OBJDIR, while others 55# live in subdirectories of .OBJDIR/include. 56# 57COMPATOBJ:= ${.PARSEDIR} 58COMPATLIBDIR= ${COMPATOBJ} 59COMPATINCFLAGS= -I${COMPATOBJ} -I${COMPATOBJ}/include 60.else 61# The library lives in TOOLDIR/lib. 62# 63# All include files live in TOOLDIR/include/comnpat, and its subdirectories. 64# 65COMPATLIBDIR= ${TOOLDIR}/lib 66COMPATINCFLAGS= -I${TOOLDIR}/include/compat 67.endif 68 69HOSTEXEEXT= @EXEEXT@ 70HOST_BSHELL= @BSHELL@ 71 72BUILD_OSTYPE!= uname -s 73 74HOST_CFLAGS+= @CC_NO_CPP_PRECOMP@ 75 76# Override HOST_CC support for <bsd.own.mk> CC_* warnings 77# 78CC_WNO_ADDRESS_OF_PACKED_MEMBER=@CC_WNO_ADDRESS_OF_PACKED_MEMBER@ @CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@ 79CC_WNO_CAST_FUNCTION_TYPE=@CC_WNO_CAST_FUNCTION_TYPE@ 80CC_WNO_FORMAT_OVERFLOW=@CC_WNO_FORMAT_OVERFLOW@ 81CC_WNO_FORMAT_TRUNCATION=@CC_WNO_FORMAT_TRUNCATION@ 82CC_WNO_IMPLICIT_FALLTHROUGH=@CC_WNO_IMPLICIT_FALLTHROUGH@ 83CC_WNO_MAYBE_UNINITIALIZED=@CC_WNO_MAYBE_UNINITIALIZED@ 84CC_WNO_RETURN_LOCAL_ADDR=@CC_WNO_RETURN_LOCAL_ADDR@ 85CC_WNO_STRINGOP_OVERFLOW=@CC_WNO_STRINGOP_OVERFLOW@ 86CC_WNO_STRINGOP_TRUNCATION=@CC_WNO_STRINGOP_TRUNCATION@ 87 88HOST_CPPFLAGS+= ${COMPATINCFLAGS} -I${NETBSDSRCDIR}/tools/compat \ 89 -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 90 91.if "${COMPATLIB_NO_LIB}" != "yes" 92DPADD+= ${COMPATLIBDIR}/libnbcompat.a 93LDADD+= -L${COMPATLIBDIR} -lnbcompat @LIBS@ 94.endif # ! COMPATLIB_NO_LIB 95