makefile学习

来源:互联网 发布:人人商城分销源码下载 编辑:程序博客网 时间:2024/06/06 10:54

Makefile

1.Makefile

一个makefile中包含如下内容:

1、  需要由make工具创建的目标体,通常是目标文件或可执行文件;

2、  要创建的目标体所依赖的文件

3、  创建每个目标体是需要运行的命令,这一行必须以制表符(Tab键)开头

2. makefile格式

 

  目标体:文件

<Tab>命令

 

如下:

Hello.ohello.c  hello.h

         Gcc –c  hello.c –o  hello.o

3.makefile变量

1、变量名是不包含“:”、“#”、“=”以及结尾空格的任何字符串,推荐使用小写做为变量名,大写字母作为控制隐含规则参数或用户重载命令选项参数变量名。

2、反斜杠(\)是换行符的意思,(#)开始行是注释,以“$(objects)”的方式来使用这个变量,“+=“追加,”:=“表示$( TARGET)nvc nvt

例子:(  “:=”)

x = y

    y = z

    a := $($(x))

在这个例子中,$(x)的值是“y”,所以$($(x))就是$(y),于是$(a)的值就是“z”。(注意,是“x=y”,而不是“x=$(y)”

 例子:

LIBS += -luuid -lrt -lpthread

CFLAGS=-O2

CC=gcc

LDFLAGS += $(LIBS)

TARGET := nvc nvt

all:

         $(CC) $(CFLAGS) discovery-nvt.c soapC.c soapServer.c namespaces.c stdsoap2.c -luuid -o nvt

         $(CC) $(CFLAGS) discovery-nvc.c soapC.c soapClient.c namespaces.c stdsoap2.c -luuid -o nvc

         chmod a+x $(TARGET)

clean :

         rm -rf $(TARGET) *.o

原创粉丝点击