新手学习记录3:makefile学习实践--自动变量引入

来源:互联网 发布:vb一维数组的定义方式 编辑:程序博客网 时间:2024/06/07 08:24

新手入门,高手请不吝赐教,喷子请留情.

make自动变量在makefile编程中引入

常用的自动变量如下,是一些以美元符号($)开头的符号:

$@      目标文件名

$<                第一依赖文件名

$^                所对应的所有依赖文件列表,以空格分隔

$?               所对应的依赖文件新于目标文件的列表,以空格分隔


参照自动变量的名称,将新手学习记录1:makefile学习实践的makefile文件改为:

EXE=hello.o hello1.o
CC=gcc
CFLAGS = -Wall -O -g

main:$(EXE)
    $(CC) $^ -o $@
hello.o:hello.c  hello1.h
    $(CC) $(CFLAGS) -c $<
hello1.o:hello1.c hello1.h
    $(CC) $(CFLAGS) -c $<


运行make,结果为:

melody@melody-G41D3:~/make4$ make
gcc -Wall -O -g -c hello.c
gcc -Wall -O -g -c hello1.c
gcc hello.o hello1.o -o main
melody@melody-G41D3:~/make4$ ./main
myprint 1!

自动变量,也称为内部变量,是只用在编译项,即只用在gcc所对应项的.

0 0