gpt4 book ai didi

使用 Python 和共享库的复杂 Makefile

转载 作者:行者123 更新时间:2023-11-30 18:00:06 26 4
gpt4 key购买 nike

我几乎没有 Makefile 方面的经验,我正在努力学习 - 而且我了解其中的大部分内容。但是,我有这样的目录结构:

/src/
/mysql/
mp_mysql.h
mp_mysql.c
/sqlite/
mp_sqlite.h
mp_sqlite.c
/lib/
mysql.so
sqlite.so

我正在尝试编写一个 makefile,将 /src/mysql 中的文件编译为 /lib/mysql.so 并对 sqlite 执行相同的操作。如果有人帮助我,我可能会得到它!谢谢!

附注该项目是一个Python项目,我正在用C为MySQL编写一个特殊的适配器。我在网上找到的所有资源都无法使用和/或无法制作一个大的可执行文件。

最佳答案

首先,为每个目录编写一个Makefile,并定义一个DIR_BUILD变量,在调用make时可以覆盖该变量。

然后,编写一个运行每个子 Makefile 的项目 Makefile。

例如,

DIR_BUILD = '.'

mysql.so: mp_mysql.c mp_mysql.h
gcc $< -o $(DIR_BUILD)/$@

对于父 Makefile:

SUBDIRS = `find . -mindepth 1 -maxdepth 1 -type d`

all:
for d in $(SUBDIRS); \
do \
$(MAKE) --directory=$$d DIR_BUILD=../lib; \
done

没有保证,请告诉我进展如何!

关于使用 Python 和共享库的复杂 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10811424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com