Łuk*_*Lew 12 build-process makefile cmake
add_definitions添加了在执行cmake(not make)时修复的定义.执行make(而不是cmake)时如何定义它们?定义的值将是自定义命令的输出.
t0m*_*13b -4
下面是一个 make 文件的示例:
.后缀:.co
抄送=抄送
包含 = -I/usr/include -I/usr/sys/include
# 注释掉其中之一,互斥
CFLAGS = -g # 调试信息
#CFLAGS = -O2 # 优化代码
LIBS = -L/usr/lib -L/usr/sys/lib -lsome_lib1 -lsome_lib2 # 调试库
#LIBS = -L/usr/lib # 发布
文件 = mysource.o myroutines1.o myroutines2.o
应用程序=我的应用程序
.co:
$(CC) $(包括) $(CFLAGS) -c $<
全部:$(APP)
$(应用程序):$(文件)
$(CC) -o $@ $(文件) $(LIBS) $(CFLAGS)
破坏者:干净的 mrproper
干净的:
rm -rf $(文件)
正确先生:
rm -rf $(应用程序)
请注意该标志CFLAGS是如何定义的。注释掉另一个,具体取决于您是否正在进行调试或发布构建。
上面的示例是我的教程中的一个 make 文件,用于构建一个名为的可执行文件,myapp该可执行文件由mysource.c,myroutines1.c和组成myroutines2.c。它展示了make如何足够智能地构建可执行文件而无需重新编译。
注意makefile 具有 unix/linux 方向,并且对制表符/空格非常严格,而这些在上面的示例中没有显示!
希望这有帮助,最诚挚的问候,汤姆。
| 归档时间: |
|
| 查看次数: |
16749 次 |
| 最近记录: |