如何创建一个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需要缩进制表符,因此如果复制粘贴该制表符,则需要修复空格。