makefile_example

DESTDIR?=/usr
PREFIX?=/local

SRC = world.c hello.c
OBJ = $(SRC:.c=.o)

all : hello
#依赖关系是从上往下,所以执行方向是从下往
#输出可执行文件名字是由 all 后的target决定的,跟这个 -o 没有关系
#$@ 值所有目标文件的集合."-o $@ $(OBJ)" 很让人迷糊,可以简单总结为
#".c.o:..." 相当于 gcc -c *.c
#"wiringpid:..." 相当于 gcc -o wiringpid *.o (链接库参数意义不变)

hello: $(OBJ)
        @echo [LINK]
        @gcc -o $@ $(OBJ)
.c.o:
        @echo [compile] $<
        @gcc -c $< -o $@

.PHONY:clean
clean:
        @echo "[clean]"
        @rm -f $(OBJ) hello

.PHONY: install
install: hello
        @echo "[stalling]"
        @mkdir -p $(DESTDIR)$(PREFIX)/sbin
        @cp hello  $(DESTDIR)$(PREFIX)/sbin/hello
        @chown root.root $(DESTDIR)$(PREFIX)/sbin/hello

.PHONY :uninstall
uninstall :
        @echo "[uninstalling]"
        @rm -f $(DESTDIR)$(PREFIX)/sbin/hello
#       @rm -f $(DESTDIR)$(PREFIX)/man/man8/hello.8

.PHONY:depend
depend:
#       makedepend -Y $(SRC)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值