make后可执行的文件已经生成,在编译的目录下找到生成的可执行文件,运行./filename 就可以运行(如果有库文件生成,有可能因找不到库文件无法而运行),但要在其它地方运行就要把这个路径加进去,例如你的文件在/home/user/test目录下,在其它目录运行就要运行/home/user/test/filename,主要是因为test目录不在系统的环境变量中,可以通过添加系统环境变量然后在任意目录下运行filename来执行程序。
make install是根据编译配置将编译生成的可执行文件拷贝到/usr/bin或/usr/local/bin,编译生成的库文件拷贝到/usr/lib或/usr/local/lib,头文件在/usr/include和/usr/local/include,帮助文件在/usr/share 或/usr/local/share。执行make install后可以在任意位置通过命令:filename 来运行程序,如果是窗口程序的话,大多可以在启动菜单种找到。
这个是在makefile文件中的install字段规定的
一般来说,make用来生成一个可执行文件,可以在当前目录下用,但是一般不同类型的文件都有相应的规定存放位置(不可能让每个人都记住每一个可执行程序的路径吧)所以,就用make install命令把他们放到合适的地方(比如库函数放到/usr/lib下,可执行文件放到/usr/bin下等)
Linux 有自己的程序文件存储方式。
具体为什么这么设计,请去看各种技术文章,以及 Windows 和 UNIX 类系统的关于程序存放的两拨簇拥互相漫骂的文章。
安装到这些位置,最大的用处是便于系统和其他调用他的程序可以方便的找到这个程序和他的相关文件。别说什么注册表里面记录,Linux 下面谁都不能保证具体的软件环境是什么样的,linux 正常和 linux 最小或者干脆自己编译的环境可以完全不同。所以,归类放起来是最方便的。
安装到相应的地方,默认似乎是/usr/share/xxx中。可以在编译源码的是后配置安装路径,查看./configure --help来获取参数信息。