linux高级编程六Makefile
来源:互联网 发布:php广告任务网源码 编辑:程序博客网 时间:2024/05/22 04:10
========================== Makefile ======================
1.GNU推出的一款软件
2.在project文件中,在命令行下输入make,操作系统会自动寻找当前目录的下的makefile,按照makefile规则去编译project下的相关文件
3.基本形式:
main:main.o fun1.o fun.o gcc main.o fun1.o fun.o -o main
main.o:main.c
gcc -c main.c -o main.o
fun1.o:fun1.c
gcc -c fun1.c -o fun1.o
fun.o:fun.c
gcc -c fun.c -o fun.o
4.makefile变量
OBJS = main.o add.o
OBJ = main
CC = gcc
使用变量用$(OBJS)
$(OBJS)
$(CC)
5.自动变量
$@ 目标文件的完整名称
$< 第一个依赖文件的名称
$^ 所有的不重复的目标依赖文件,以空格隔开
方式一:
CC=gcc
CFLAGS=-O2 -Wall
OBJ=main
OBJS=main.o fun1.o fun.o
$(OBJ):$(OBJS)
$(CC) $(OBJS) -o $(OBJ)
main:main.o fun1.o fun.o
gcc main.o fun1.o fun.o -o main
main.o:main.c
gcc -c main.c -o main.o
fun1.o:fun1.c
gcc -c fun1.c -o fun1.o
fun.o:fun.c
gcc -c fun.c -o fun.o
.PHONY:
clean:
rm *.o main
方式二:
CC=gcc
CFLAGS=-O2 -Wall
OBJ=main
OBJS=main.o fun1.o fun.o
$(OBJ):$(OBJS)
$(CC) $(OBJS) -o $(OBJ)
main.o:main.c
$(CC) -c $< -o $@
fun1.o:fun1.c
$(CC) -c $< -o $@
fun.o:fun.c
$(CC) -c $< -o $@
.PHONY:
clean:
rm *.o main
方式三:
CC=gcc
CFLAGS=-O2 -Wall
OBJ=main
OBJS=main.o fun1.o fun.o
$(OBJ):$(OBJS)
$(CC) $(OBJS) -o $(OBJ)
%.o:%.c
$(CC) -c $^ -o $@
1.GNU推出的一款软件
2.在project文件中,在命令行下输入make,操作系统会自动寻找当前目录的下的makefile,按照makefile规则去编译project下的相关文件
3.基本形式:
main:main.o fun1.o fun.o gcc main.o fun1.o fun.o -o main
main.o:main.c
gcc -c main.c -o main.o
fun1.o:fun1.c
gcc -c fun1.c -o fun1.o
fun.o:fun.c
gcc -c fun.c -o fun.o
4.makefile变量
OBJS = main.o add.o
OBJ = main
CC = gcc
使用变量用$(OBJS)
$(OBJS)
$(CC)
5.自动变量
$@ 目标文件的完整名称
$< 第一个依赖文件的名称
$^ 所有的不重复的目标依赖文件,以空格隔开
方式一:
CC=gcc
CFLAGS=-O2 -Wall
OBJ=main
OBJS=main.o fun1.o fun.o
$(OBJ):$(OBJS)
$(CC) $(OBJS) -o $(OBJ)
main:main.o fun1.o fun.o
gcc main.o fun1.o fun.o -o main
main.o:main.c
gcc -c main.c -o main.o
fun1.o:fun1.c
gcc -c fun1.c -o fun1.o
fun.o:fun.c
gcc -c fun.c -o fun.o
.PHONY:
clean:
rm *.o main
方式二:
CC=gcc
CFLAGS=-O2 -Wall
OBJ=main
OBJS=main.o fun1.o fun.o
$(OBJ):$(OBJS)
$(CC) $(OBJS) -o $(OBJ)
main.o:main.c
$(CC) -c $< -o $@
fun1.o:fun1.c
$(CC) -c $< -o $@
fun.o:fun.c
$(CC) -c $< -o $@
.PHONY:
clean:
rm *.o main
方式三:
CC=gcc
CFLAGS=-O2 -Wall
OBJ=main
OBJS=main.o fun1.o fun.o
$(OBJ):$(OBJS)
$(CC) $(OBJS) -o $(OBJ)
%.o:%.c
$(CC) -c $^ -o $@
0 0
- linux高级编程六Makefile
- [Linux高级编程] Makefile简化版
- UNIX_C 高级编程<六>
- (六)Linux网络编程--6. 高级套接字函数
- Linux学习高级篇(六)
- Linux学习高级篇(六)
- Linux编程Makefile模板
- Makefile与linux编程
- 【linux下编程】MakeFile
- Linux高级编程复习笔记 第三章 makefile IO read write
- linux高级编程
- linux高级编程 函数
- linux 高级编程
- linux 高级编程
- Linux 高级编程
- Linux 高级Socket编程
- Linux 高级Socket编程
- Linux 高级Socket编程
- React Native调试技巧与心得
- zzuli 1895
- 1894: 985的方格难题
- FastReport在线报表设计器:页面结构简介
- 凸包问题
- linux高级编程六Makefile
- 探究c++对象模型之写在前面
- 学密码学一定得学程序
- HDU 1465 数学 错排
- ZZULI OJ 1897: 985的红绿灯难题
- vim快捷键(一)
- 51Nod-1266-蚂蚁
- Python里面的正则
- Spring框架——bean自动装配