您的位置:首页 > 其它

新手学习记录2:makefile学习实践--自定义变量的引入

2016-03-21 09:44 447 查看
makefile中的宏定义

makefile程序的一开始进行变量的宏定义,在编写编译程序的时候在进行变量的引用.

变量的定义和赋值的方法,如下:

EXE = file1.o file2.o
CC = gcc

变量的引用

main:$(EXE)

$(CC) $(EXE) -o main

hello.o:hello.c hello1.h

$(CC) -c hello.c

hello1.o:hello1.c hello1.h

$(CC) -c hello1.c

运行make后显示:

gcc -c hello.c

gcc -c hello1.c

gcc hello.o hello1.o -o main

./main看结果.

进一步改进,引入自定义变量

EXE=hello.o hello1.o

CC=gcc

CFLAGS = -Wall -O -g

main:$(EXE)

$(CC) $(EXE) -o main

hello.o:hello.c hello1.h

$(CC) $(CFLAGS) -c hello.c

hello1.o:hello1.c hello1.h

$(CC) $(CFLAGS) -c hello1.c

make后结果显示:

melody@melody-G41D3:~/make3$ 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:~/make3$ ./main

myprint 1!

到此为止,自定义变量的引入已经正常.

gcc 参数的意义:

-c

  只激活预处理,编译,和汇编,也就是他只把程序做成obj文件

  例子用法:

  gcc -c hello.c

  他将生成.o的obj文件

-o

  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它,哈哈

  例子用法

  gcc -o hello.exe hello.c (哦,windows用习惯了)

  gcc -o hello.asm -S hello.c

-g

  只是编译器,在编译的时候,产生调试信息。

-w 不生成任何警告信息。

-Wall 生成所有警告信息。

-E 只运行 C 预编译器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: