make install在makefile的写法

prefix	= /usr/local
sbindir	= $(prefix)/sbin
mandir	= $(prefix)/man
man8dir	= $(mandir)/man8

PRG	= ptp4l hwstamp_ctl nsm phc2sys phc_ctl pmc timemaster ts2phc

install: $(PRG)
	install -p -m 755 -d $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir)
	install $(PRG) $(DESTDIR)$(sbindir)
	for x in $(PRG:%=%.8); do \
		[ -f $$x ] && install -p -m 644 -t $(DESTDIR)$(man8dir) $$x ; \
	done

上面是随便找的一个开源库关于makefile中的install写法

  • install: $(PRG)
    make install的时候是把$(PRG)对应的可执行文件用来做install
  • install -p -m 755 -d $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir)

  • install $(PRG) $(DESTDIR)$(sbindir)

  •     for x in $(PRG:%=%.8); do \
            [ -f $$x ] && install -p -m 644 -t $(DESTDIR)$(man8dir) $$x ; \
        done

  • 关于install的参数

--backup[=CONTROL]:为每个已存在的目的地文件进行备份。 
-b:类似 --backup,但不接受任何参数。 
-c:(此选项不作处理)。 
-d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。 
-D:创建<目的地>前的所有主目录,然后将<来源>复制至 <目的地>;在第一种使用格式中有用。 
-g,--group=组:自行设定所属组,而不是进程目前的所属组。 
-m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。 
-o,--owner=所有者:自行设定所有者 (只适用于超级用户)。 
-p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。 
-s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。 
-S,--suffix=后缀:自行指定备份文件的<后缀>。 
-v,--verbose:处理每个文件/目录时印出名称。 
--help:显示此帮助信息并离开。 
--version:显示版本信息并离开。

  • 所以这是install存在比较核心的原因:   有了install不用 在可执行程序编好了,手动去拷贝,改权限,设置user等等操作            

(1)提供可执行程序的权限-m   

(2)设置可执行程序的时间-p 

(3)设置APP的owner  -o 

(4)设置文件的目标位置  -d                                                                          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值