make与makefile项目管理实验 ---对“$^ $@ $<”参数的说明

实验如下,make命令默认在当前目录下寻找名字为makefile的工程文件:
 
[root@localhost home]# cd /home/makefiles/
[root@localhost makefiles]# ls
fun.c  fun.h  main.c  makefile
[root@localhost makefiles]# vi makefile 
[root@localhost makefiles]# make
gcc -c main.c  -o main.o
gcc -c fun.c -o fun.o
gcc main.o fun.o -o main
[root@localhost makefiles]# ls
fun.c  fun.h  fun.o  main  main.c  main.o  makefile
[root@localhost makefiles]# ./main 
please enter the number a and b
6
2
the max number is 6
[root@localhost makefiles]# make clean
rm -f main *.o
[root@localhost makefiles]# ls
fun.c  fun.h  main.c  makefile
[root@localhost makefiles]# 
 
makefile文件编写如下:
OBJS=main.o fun.o
cc=gcc
CF=-c
main:$(OBJS)
        $(cc) $^ -o $@
main.o:main.c fun.h
        $(cc) $(CF) $<  -o $@
fun.o:fun.c fun.h
        $(cc) $(CF) $< -o $@
clean:
        rm -f main *.o
知识点:
$^:代表所有的依赖文件
$@:代表目标
$<:代表第一个依赖文件

你可能感兴趣的:(make与makefile项目管理实验 ---对“$^ $@ $<”参数的说明)