软件源码的头文件中的条件编译的宏定义是怎么来的?

编译ntp源码,结果报如下错误:
图片说明
看了源码后发现是由于条件编译缺少“OPENSSL”这个宏定义导致的:
图片说明
搜索整个ntp源码都没找到这个宏定义。然而我用“apt-get install libssl-dev”命令安装openssl后(ubuntu系统),就编译通过了(我之前是用openssl源码安装的)。用remove命令卸载openssl后又报这个错误了。。。也就是说,用命令安装openssl软件后,就会有这个宏定义,但是用源码安装却没用,请问这两者有什么区别?

看看Makefile,它会去找openssl,然后根据这个设置不同的编译参数也就是预编译宏