linux c Makefile 文件制作(由简至繁)
2016-02-24 19:29
609 查看
Makefile---make 编译依赖文件
1.方便编译程序
2.节约编译时间
书写规则
目标:依赖
命令
第一版本
main:main.c
gcc -o main main.c
第二版本(添加变量)
TARGET=main
SRCS=main.c
CC=gcc
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第三版本(自动找.c文件)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c)
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第四版本(生成中间文件.o)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
第五版本(添加clean)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
clean:
rm *.o $(TARGET)
终极版($@表示目标, $<初级级依赖, $^终极依赖)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c */*.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $@ $^
%.o:%.c
$(CC) -o $@ -c $<
clean:
rm *.o $(TARGET)
1.方便编译程序
2.节约编译时间
书写规则
目标:依赖
命令
第一版本
main:main.c
gcc -o main main.c
第二版本(添加变量)
TARGET=main
SRCS=main.c
CC=gcc
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第三版本(自动找.c文件)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c)
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第四版本(生成中间文件.o)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
第五版本(添加clean)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
clean:
rm *.o $(TARGET)
终极版($@表示目标, $<初级级依赖, $^终极依赖)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c */*.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $@ $^
%.o:%.c
$(CC) -o $@ -c $<
clean:
rm *.o $(TARGET)
相关文章推荐
- linux 安装sysstat使用iostat、mpstat、sar、sa
- Linux中操作SVN
- linux下perl及cgi.pm的安装(perl-5.22.1)
- Linux系统中xorg.conf文件简介
- linux图形界面基本知识(X、X11、Xfree86、Xorg、GNOME、KDE之间的关系)
- Linux内核分析:实验一
- CentOS 6.5 英文提示修改为中文提示的方法
- 用DNW工具在ARM-Cortex-A8开发板烧写Linux系统详细讲解
- Linuxc编译和ARM程序编译过程详解
- arm9+linux fl2440 led 驱动 plat_led.c
- Centos7搭建LNMP环境
- centos 6.5 搭建ftp服务器
- centos6.3(64位) 安装apr
- centos 6.5 搭建php
- 在VMware8.0.4安装centos6.3出现蓝屏,显示“anaconda: Fatal IO error 104 (Connection reset by peer) on X server :1.0. install exited abnormally [1/1]”?
- linux常用命令大全
- 安装CentOS 7时出现No Caching mode page found问题的解决
- Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?
- linux安装tacacs+服务器
- Linux命令-find及xargs的使用