创建 make 文件

发布于 2024-10-31 04:50:30 字数 191 浏览 1 评论 0原文

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

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

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

如何使用 make 文件而不是命令行使用来完成此操作?

How would one create a make file for running e.g. xml parser with the following command line command

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

I use this to include libxml when compiling using the command line.

How would this be made using a make file instead of the command line usage?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟酒忠诚 2024-11-07 04:50:30
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 
lt; -o $@

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

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

.depend: depend

include .depend

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

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 
lt; -o $@

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

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

.depend: depend

include .depend

You can use this as a template, then add to/modify SOURCES, TARGET, CFLAGS, LDFLAGS and LIBS. Makefiles require TABs for indentation - so you'll need to fix the spaces if you copy-paste this.

何必那么矫情 2024-11-07 04:50:30

以最简单的形式:

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

现在您可以说 make outputmake 并构建 output

In its simpliest form:

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

now you can say either make output of make and get output built.

放手` 2024-11-07 04:50:30

如果您允许自己的输出文件与源文件同名(不带 .c 后缀),您可以这样做:

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

仅使用 makefile 中的这两行,

make source

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

If you allow yourself to have the output file be the same name as the source (without .c suffix), you can just do:

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

With just those two lines in your makefile,

make source

will look for source.c and generate the executable named 'source' with the appropriate flags.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文