第1个回答 2019-03-06
使用
.PHONY,
使用方法见下面描述或参考链接.
经过测试可行.
---------
phony
目标可以有依赖关系。当一个目录中有多个程序,将其放在一个makefile
中会更方便。因为缺省目标是makefile
中的第一个目标,通常将这个phony
目标叫做"all",其依赖文件为各个程序:
all
:
prog1
prog2
prog3
.PHONY
:
all
prog1
:
prog1.o
utils.o
cc
-o
prog1
prog1.o
utils.o
prog2
:
prog2.o
cc
-o
prog2
prog2.o
prog3
:
prog3.o
sort.o
utils.o
cc
-o
prog3
prog3.o
sort.o
utils.o
这样,使用"make"将可以将三个程序都生成了。d
当一个phony
目标是另一个的依赖,其作用相当于子程序,例如:
.PHONY:
cleanall
cleanobj
cleandiff
cleanall
:
cleanobj
cleandiff
rm
program
cleanobj
:
rm
*.o
cleandiff
:
rm
*.diff
----------
我测试的Makefile:
OBJS=main.o
sub.o
all
:
test
sam
.PHONY:all
test
:
$(OBJS)
gcc
-o
test
$(OBJS)
sam
:
sam.o
gcc
-o
sam
sam.o
main.o
:
main.c
sub.h
gcc
-c
main.c
sub.o
:
sub.c
sub.h
gcc
-c
sub.c
sam.o
:
sam.c
gcc
-c
sam.c