Linux 如何将静态库和pthread添加到Makefile?

Linux 如何将静态库和pthread添加到Makefile?,linux,makefile,Linux,Makefile,同一文件夹中的所有文件: AES.c、cryptlib.h和静态库libcl.a 我想写一个Makefile来添加pthread和静态库,但我不知道应该在哪里以及如何做 感谢您的帮助这里是一个起点。我会回答你真正的问题,如果你能告诉我们你的处境:) 我讨厌C/C++项目的硬编码依赖项;如果你像我一样,你可以考虑一些东西(假设GCC风格的选择……): all:myapp LDFLAGS+=libcl.a LDFLAGS+=-lpthread myapp:AES.o libcl.a $(CC)$^$

同一文件夹中的所有文件: AES.c、cryptlib.h和静态库libcl.a

我想写一个Makefile来添加pthread和静态库,但我不知道应该在哪里以及如何做


感谢您的帮助

这里是一个起点。我会回答你真正的问题,如果你能告诉我们你的处境:)

我讨厌C/C++项目的硬编码依赖项;如果你像我一样,你可以考虑一些东西(假设GCC风格的选择……):

all:myapp
LDFLAGS+=libcl.a
LDFLAGS+=-lpthread
myapp:AES.o libcl.a
$(CC)$^$(LDFLAGS)-o$@
.c.**.c
$(抄送)-M$<>$@
-包括,取决于

为什么订单只包含先决条件?当然,如果标题或库被更新,你会希望目标也被更新。这就是工作原理吗?好吧,我一定是想起了那个错误,一分钟后更新了答案:)
all: myapp

LDFLAGS+=libcl.a
LDFLAGS+= -lpthread

myapp: AES.c libcl.a
    $(CC) $^ $(LDFLAGS) -o $@

myapp: cryptlib.h
all: myapp

LDFLAGS+=libcl.a
LDFLAGS+= -lpthread

myapp: AES.o libcl.a
    $(CC) $^ $(LDFLAGS) -o $@

.depend: *.c
    $(CC) -M $< > $@

-include .depend