创建一个make文件

时间:2011-04-07 16:53:09

标签: c makefile

如何创建用于运行的make文件,例如使用以下命令行命令的xml解析器

gcc source.c -I/usr/include/libxml2 -lxml2 -o output

在使用命令行编译时,我使用它来包含libxml。

如何使用make文件而不是命令行使用?

3 个答案:

答案 0 :(得分:3)

SOURCES:=source.c
OBJECTS:=$(SOURCES:%.c=%.o)
CC=gcc
CFLAGS=-g -Wall -I/usr/include/libxml2
LD=gcc
LDFLAGS=
LIBS=-lxml2
TARGET:=output



all: $(TARGET)

$(TARGET): $(OBJECTS)
        $(LD) -o $@ $(OBJECTS) $(LDFLAGS) $(LIBS)

.c.o:
        $(CC) $(CFLAGS) -c $< -o $@

depend:
        $(CC) $(CFLAGS) -MM $(SOURCES) > .depend

clean:
        rm -f $(OBJECTS) $(TARGET) 

.depend: depend

include .depend

您可以将其用作模板,然后添加/修改SOURCES,TARGET,CFLAGS,LDFLAGS和LIBS。 Makefile需要使用TAB进行缩进 - 因此,如果您复制粘贴此内容,则需要修复空格。

答案 1 :(得分:0)

最简单的形式:

output: source.c
    gcc source.c -I/usr/include/libxml2 -lxml2 -o output

现在您可以说make output make并建立output

答案 2 :(得分:0)

如果您允许自己让输出文件与源名称相同(没有.c后缀),您可以这样做:

CPPFLAGS = -I/usr/include/libxml2
LDFLAGS = -lxml2

在makefile中只有这两行,

make source

将查找source.c并使用适当的标志生成名为“source”的可执行文件。