我的makefile中的一个规则依赖于-lmysqlclient。在我的Ubuntu 10.04 32位盒子上,libmysqlclient.so文件位于/ usr / lib中。在我的另一个使用CentOS 6.2 64位的机器上,文件位于/ usr / lib64 / mysql中。是否有一种更好的方法可以使我的makefile比将以下“hack”添加到makefile更通用?
ifeq ($(shell uname -m), x86_64)
vpath %.so /usr/lib64/mysql
endif
答案 0 :(得分:0)
也许您可以使用config-x86_64.mk
行创建文件vpath
,并在您的makefile中执行类似
-include config-$(shell uname -m).mk
如果文件不存在,-include
将避免错误。
在任何情况下,都应该正确配置每个系统,以便链接器自动获取系统库,而无需任何手动黑客攻击。