如何创建一个make文件以便使用以下命令行命令运行xml解析器

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

在使用命令行编译时,我使用此命令来包含libxml。
如何使用make文件而不是命令行来实现?

最佳答案

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

可以将其用作模板,然后添加到/修改源、目标、CFLAGS、LDFLAGS和LIBS。makefile需要缩进制表符,因此如果复制粘贴该制表符,则需要修复空格。

10-08 17:51