前言
makefile真是个神奇的东西,主要作用还是在如自动化编译安装软件。我这里并没有什么大型的代码需要编译,出于对makefile的好奇,我决定用它来实现常用软件的自动化安装。
如果能通过一行指令从0一下子安装完所需要的软件,是不是想想都刺激啊。
如何写
makefile文件里面,用到很多的shell命令。其实如果安装软件,shell命令足够了,但是我还是想把这些操作集成在一起。
开始动手
现在先来安装一下最常使用的开源服务器nginx。安装目前最新的nginx版本1.12.2。
file: Makefile
test:
echo "hello world!"
nginx:
echo "准备安装nginx"
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -vxzf nginx-1.12.2.tar.gz
cd nginx-1.12.2 && ./configure --without-http_gzip_module --without-http_rewrite_module && make && make install
ln -s /usr/local/bin/nginx /usr/local/nginx/sbin/nginx
echo "nginx安装成功"
只要执行make nginx
, 就可以把nginx安装到你的linux上了,是不是很刺激啊
同理也可以继续安装其他你想要一键安装的软件,然后就可以这么用了
make nginx
make redis
make mysql
make nodejs
make python
当然,用自带的apt-get i xxx
来安装也是可以的,但是你可以通过编写的Makefile
来自定义安装。比如安装目录,软件版本等等,还是会有一定用处的。
小结
makefile是很强大的,单单用来安装这些小东西,真是大材小用了。