16.Makefile约定

DESTDIR:分阶段安装的支持

DESTDIR是一个添加到每一个安装的目标文件的变量,由命令行参数指定。

make DESTDIR=/tmp/stage install
$(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
$(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a

正常情况下foo应该安装在/usr/local/bin/foo,但是根据上面的写法,foo会被安装在/tmp/stage/usr/local/bin/fooDESTDIR只支持install*uninstall*目标。