Linux Makefile的使用
来源:互联网 发布:mac识别不了u盘启动盘 编辑:程序博客网 时间:2024/06/05 20:30
1. 在home目录下新建make文件夹
2. 在make文件夹中新建以下程序文件:
main.c
#include"mytool1.h"#include"mytool2.h" intmain(void){mytool1_Print("Hello");mytool2_print("Hello");}
mytool1.c
/*mytool1.c*/#include"mytool1.h"#include<stdio.h> voidmytool1_Print(char * print_str){printf("This is mytool1 print %s\n",print_str);}
mytool1.h
/*mytool1.h*/#ifndef_MYTOOL1_H_#define_MYTOOL1_H_ voidmytool1_Print(char * printf_str); #endif
mytool2.c
/*mytool2.c*/#include"mytool2.h"#include<stdio.h> voidmytool2_print(char * print_str){printf("This is mytool2 print %s\n",print_str);}
mytool2.h
/*mytool2.h*/#ifndef_MYTOOL2_H_#define_MYTOOL2_H_ voidmytool2_print(char * printf_str); #endif
3. 手动编译上述文件,并运行查看结果:
gcc main.c mytool1.c mytool2.c –o PrintHello
运行结果为:
4. 根据代码分析其依赖关系,编写makefile文件:
CC=gcc -WallPrintHello:main.o mytool1.o mytool2.o ${CC} main.o mytool1.o mytool2.o -oPrintHellomain.o:main.c mytool1.h mytool2.h ${CC} -c main.c -o main.omytool1.o:mytool1.c mytool1.h ${CC} -c mytool1.c -o mytool1.omytool2.o:mytool2.c mytool2.h ${CC} -c mytool2.c -o mytool2.oclean: rm *.o
上述${CC}是什么意思?clean是什么作用?
${CC}等价于gcc –Wall
—wall显示警告信息
Clean是删除所有的.o文件
5. 删除目录下的PrintHello,利用make重新生成PrintHello
6. 如何清理当前目录下所有的目标文件?
在clean中通过rm *.o删除所有的.o文件
阅读全文
0 0
- linux makefile的使用
- Linux Makefile的使用
- linux makefile的使用
- Linux makefile的使用变量
- Linux中Makefile的使用
- Linux里使用ACE时的makefile
- Linux里使用ACE时的makefile
- Linux Makefile介绍使用的环境深入浅出
- Linux makefile中 nm命令的使用
- linux 下makefile的使用举例
- 在linux下makefile的使用
- Linux下makefile的基本使用
- linux下面关于makefile使用的笔记。
- Linux下gcc,g++,makefile的使用
- Linux 中的Makefile 的一些简单使用
- Linux Makefile strip函数的使用
- linux下makefile的使用技巧
- linux内核中Makefile的使用
- 输入与Module
- python简单用户管理模拟
- Tensorflow--多层神经网络
- 引用,指针,常量引用,常量指针,指针常量的区别
- 图像处理与计算机视觉基础,经典以及最近发展
- Linux Makefile的使用
- ES6的新增特性1
- iOS学习笔记-113.多线程12——NSOperation基础
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)
- python3对压缩文件处理
- 【CUGBACM15级BC第31场 A】hdu 5178 pairs
- 江中游A星算法 第1课 预估移动消耗计算法则
- std::getline从输入流中读取多行字符串
- HDU