c - 将命令行 Linux 转换为 makefile

标签 c linux makefile

<分区>

有没有人可以帮我把这个命令行转换成一个makefile:

gcc -o hello_ps hello_ps.c -DMODELDIR=\"pkg-config --variable=modeldir pocketsphinx\" pkg-config --cflags --libs pocketsphinx sphinxbase

谢谢。

最佳答案

在源代码和可执行文件之间创建依赖关系:

hello_ps: hello_ps.c
    gcc -o hello_ps hello_ps.c -DMODELDIR=\"pkg-config --variable=modeldir pocketsphinx\" pkg-config --cflags --libs pocketsphinx sphinxbase

警告 gcc 之前有一个tab,不是空格

示例(我没有使用这些选项编译的环境):

pi@raspberrypi:/tmp $ echo "whatever I do not compile" > hello_ps.c
pi@raspberrypi:/tmp $ make -n
gcc -o hello_ps hello_ps.c -DMODELDIR=\"pkg-config --variable=modeldir pocketsphinx\" pkg-config --cflags --libs pocketsphinx sphinxbase
pi@raspberrypi:/tmp $ touch hello_ps
pi@raspberrypi:/tmp $ make -n
make: « hello_ps » is up to date.
pi@raspberrypi:/tmp $ touch hello_ps.c 
pi@raspberrypi:/tmp $ make -n
gcc -o hello_ps hello_ps.c -DMODELDIR=\"pkg-config --variable=modeldir pocketsphinx\" pkg-config --cflags --libs pocketsphinx sphinxbase

当然,您可以添加更多依赖项,包括头文件、库等。

关于c - 将命令行 Linux 转换为 makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56008031/

相关文章:

c++ - header 未被识别

c - 检查 MISRA C 合规性的免费工具?

c - ubuntu 日志文件中的时间戳

linux - 冷启动陷阱参数 - 发生了什么以及我如何找出它们应该是什么

linux - 在 shell (linux) 的输入重定向中,每个命令的处理方式是否不同?

c++ - 将 MakeFile 导入为 MingW 项目

c - 在 Contiki 程序中使用 malloc

c - 使用多个进程时 MPI Bcast 附近的段错误

c - 结构 tm 的大小

makefile - 是否有 gnu make 的配置文件?