求大哥帮忙解析下 makefile 文件里的参数

2022-07-08 17:31:54 +08:00
 hhhhhh123

下面是 makefile 文件代码, 生成的是.exe ,我想改成 dll 文件,但是不知道改什么。 看网上的一些例子,但是没有找到关键点。 希望有大佬帮忙分析下 1. 每行是什么意思。2.怎么改参数生成为 dll 文件

CC=gcc

all: five seven

five: test/five.o src/evaluator5.o src/hash.o src/hashtable.o src/hashtable5.o src/hashtable7.o src/dptables.o
${CC} ${CFLAGS} $^ -o $@

seven: test/seven.o src/evaluator7.o src/hash.o src/hashtable.o src/hashtable5.o src/hashtable7.o src/dptables.o
${CC} ${CFLAGS} $^ -o $@

%.o: %.c
${CC} -c ${CFLAGS} $< -o $@

clean:
rm -f src/.o test/.o *.o five seven

1229 次点击
所在节点    C
4 条回复
thetbw
2022-07-08 17:38:28 +08:00
${CC} 后面加个 -shared 参数,也可以设置 CFLAGS 环境变量,应该这样的
hhhhhh123
2022-07-08 17:42:28 +08:00
@thetbw 每一行都加吗
qq296015668
2022-07-08 22:50:19 +08:00
执行 `make` 命令的时候,如果默认不指定参数,会根据 `all:` 的规则执行
以你的代码为例,执行
`make` 时,会先执行 `five` 定义的命令,然后执行 `seven` 定义的命令,然后结束。

编译动态库 dll 的命令大概如下:
```
gcc --share code.c -o code.dll
```
thetbw
2022-07-09 13:08:51 +08:00
@hhhhhh123 clean 上面那个吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/864973

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX