Makefile,
来源:互联网 发布:english in mind软件 编辑:程序博客网 时间:2024/04/27 17:42
当我们写一些大项目,有dh_make,debian包管理等手段,去自动编译打包。 但是当我们自己写一些小项目或者测试demo时,动手写Makefile,虽然不难却也繁琐。下面我提供一个通用Makefile。
1.编写通用实例:
├── add
│ ├── add_float.c
│ ├── add.h
│ └── add_int.c
├── main.c
├── Makefile
└── sub
├── sub_float.c
├── sub.h
└── sub_int.c
Makefile:
内置:CC=cc,RM=rm -f
下面两例,只需输入工程下的文件夹名称和可执行文件名即可。
注意:直接copy格式可能变动,开头空白是TAB而不是空格。
常规Makefile:
TARGET = cacuDIR = sub addDIRS = $(DIR) .CFLAGS = -O2 $(patsubst %, -I%, $(DIR))FILES = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.c))OBJS = $(patsubst %.c,%.o,$(FILES))$(TARGET):$(OBJS) $(CC) -o $(TARGET) $(OBJS)clean: -$(RM) $(TARGET) $(OBJS) #‘-’表示失败时不报错继续执行。
DIY去.o文件Makefile:
TARGET = testDIR = sub addOBJSDIR=.objs#VPATH=add:sub:.DIRS = $(DIR) .CFLAGS = -O2 $(patsubst %, -I%, $(DIR))FILES = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.c))OBJS = $(patsubst %.c,%.o,$(FILES))$(TARGET): $(OBJSDIR) $(OBJS) $(CC) -o $(TARGET) $(patsubst %, $(OBJSDIR)/%/*.o, $(DIR)) $(OBJSDIR)/*.o $(CFLAGS)$(OBJS):%.o:%.c$(CC) -c $(CFLAGS) $< -o $(OBJSDIR)/$@ $(OBJSDIR):mkdir -p $(patsubst %, ./$(OBJSDIR)/%, $(DIR))clean:-$(RM) -r $(TARGET) $(OBJS) $(OBJSDIR)
see also:http://www.gnu.org/software/make/manual/make.html
http://www.cnblogs.com/DanielZheng/archive/2011/08/09/2132424.html
0 0
- Makefile
- Makefile
- makefile
- makefile
- makefile
- Makefile
- Makefile
- Makefile
- Makefile
- Makefile
- Makefile
- makefile
- Makefile
- makefile
- Makefile
- makefile
- makefile
- makefile
- python str的函数isdigit()
- 基于Hadoop集群的HBase集群的配置
- 全国天气查询
- 推荐系统 —— 他人文章总结 -1
- Xcode 常用快捷键
- Makefile,
- 漫谈 Clustering (3): Gaussian Mixture Model
- pwm输出io EINT13
- 安装Logstash
- 号外! 大维度机器学习也有计算框架了
- csu 1759 Triangle(数学)
- 8种常见机器学习算法比较
- 基于Token的身份验证
- canvas (笔记) 高级篇