有没有办法在 Makefile 中检查库(此处:librt)在系统中是否可用? 对于 librt 位于库中而不是 glibc 中的旧系统,我想测试它是否在系统中,如果是,则链接它,如果不是,则链接它(因为不需要)。
换句话说,在 bash 中,它会是这样的:
if [ -f /usr/lib/librt.so ] || [ -f /usr/lib/librt.a ]; then
LIBS=${LIBS} -lrt
fi
但是如何在Makefile中做到这一点?
虽然在我看来它不是很有用,但你可以用它来得到你想要的东西:
RTLIB_PATHS = /usr/lib/librt.so /usr/lib/librt.a
RTLIB := $(if $(wildcard $(RTLIB_PATHS)),-lrt)
LIBS += $(RTLIB)