python make,Makefile .PHONY用法

 2023-11-30 阅读 21 评论 0

摘要:為什么需要.PHONY? 栗子: 如果make后,如果新建一個:touch clean文件,再執行make clean時,將不會執行rm命令,因為make clean和文件clean重名問題。為了避免出現這個問題,需要在Makefile里增加:.PHONY: cleanMa
為什么需要.PHONY?
栗子:
如果make后,如果新建一個:touch clean文件,再執行make clean時,將不會執行rm命令,因為make clean和文件clean重名問題。為了避免出現這個問題,需要在Makefile里增加:.PHONY: cleanMakefile中非常三個變量:$@--目標文件,$^--所有的依賴文件,$<--第一個依賴文件。1、創建hello.c文件
#include <stdio.h>
int main()
{printf(".PHONY 測試!\n");
}2、編寫Makefile
$(CC) = gcc
all:hello test //hello和test為兩目標文件
hello :hello.c$(CC) -o $@ $<
test :hello.c$(CC) -o $@ $<
clean:rm hello3、執行編譯和刪除命令
# make?
# make clean4、在當前目錄下創建clean文件,此時執行make clean
報log如下,沒有執行刪除hello操作
make clean
make: “clean”是最新的。5、在Makefile修改如下,此時順利執行$(CC) = gcc
.PHONY:clean #增加
all:hello test?
hello :hello.c$(CC) -o $@ $<
test :hello.c$(CC) -o $@ $<
clean:rm hello? ?總結:為了解決問題,我們將目標clean定義成偽目標。也就是添加:.PHONY:clean當一個目標被聲明為偽目標后,make在執行規則時不會去試圖去查找隱含規則來創建它。這樣就提高了make的執行效率,也不用擔心由于目標和文件名重名了。python make。

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/185685.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息