2Makefile
来源:互联网 发布:图片展示网站源码 编辑:程序博客网 时间:2024/05/21 10:32
1关于Makefile,在编写Makefile的时候,Makefile这个名称第一个字母要大写。并且必须是Makefile.一个Makefile就相当于:
#目标:依赖(条件)
# 命令 à注意这里前面是一个tab
2案例:
A:创建一个项目calc,案例项目结构如下:
B编写mul.c
C编写sub.c
D编写add.c
E编写dive.c
F编写main.c
G编写common.h
3.编写Makefile
阶段1
阶段2
阶段3:
运行结果:
#阶段4
#定义变量,下面一句表示指定头文件所在的位置加载头文件,-l头文件包名
CPPFLAGS = -Iinclude
#加上-g表示调试模式,通过它可以看到源代码,在项目发布的时候去掉-g,-Wall严格编译
CFLAGS = -g -Wall
LDFLAGS=
#表示使用
CC=gcc
#表示如果是arm下,gcc可能是下面这个编译器
#CC=arm-linux-gcc
#$(wildcard *.c)表示当前目录下的所有.c文件
src = $(wildcard *.c)
#下面的意思是将所有的.c文件替换成为.o文件
obj = $(patsubst %.c,%.o,$(src))
target = app
#程序最终编译成app,依赖$(obj),而需要执行的命令是紧接着的下面一句,$^表示所有的依赖,$@表示要生成的目标,这句的目标是$(target),也就是app文件
$(target):$(obj)
$(CC)S^ $(LDFLAGS) -o $@
#$<表示一个的编译成目标文件$@
%.o:%.c
$(CC)-c $< $(CFLAGS) $(CPPFLAGS) -o $@
#通过这种方式避免和当前已存在的clean文件冲突,下面声明的是一个伪目标
.PHONY:clean
#彻底清除生成过程文件
clean:
-rm-f *.o
-rm-f app
#彻底清除过程文件和生成配置文件
distclean:
rm/usr/bin/app
install:
cpapp /usr/bin
- makefile 2
- 2Makefile
- makefile (2)
- makefile-2
- Makefile(2)
- 如何编写Makefile(2)
- makefile文件(2)
- 18.4.2 制作Makefile
- Makefile 规则 (2)
- Makefile 详解 2
- makefile学习2
- makefile解读 2
- 关于makefile(2)
- Makefile 理解(2)
- Makefile 理解(2) .
- Makefile学习2
- makefile常用讲解(2)
- Makefile——2
- 字符串的用法
- spring中sayBeforeAdvice (wrong name: SayBeforeAdvice)
- Unity3D 解决c#脚本乱码
- 5.3 分布式 Git - 项目的管理
- 解决gradle的本地工程依赖和通过maven依赖之间的冲突问题
- 2Makefile
- Linux中C语言open函数打开或创建文件详细讲解
- BC C Revenge of Collinearity hdu 5020
- gradle构建多项目
- 有趣的数
- linux 中 open和fopen的区别:
- 6.1 Git 工具 - 修订版本(Revision)选择
- linux c编程 进程编程(整理)
- UVA - 113 Power of Cryptography