初识makefile,简单的使用步骤

makefile是什么

Makefile就像是一个shell脚本,可以执行操作系统的命令。

基本使用规则

下面简单说明了如何编写完成一个简单的makefile脚本。

基本编写规则:

目标:[依赖]
	执行指令 ...
main.o: main.c
	gcc -c main.c

注意执行指令前面是有输入一次tab键的。[依赖]为可选内容。

定义变量

Variable = this is variable 

=为赋值符号,把右边的值赋给左边的变量名。右边的值可以是一段无意义字符串,也可以是shell命令。

使用变量

$(variable)

$为取值符号,把该变量名中的内容取出使用,不仅可以取变量中的内容,如果填入shell命令,还可以取出执行命令后的内容。

注释

在语句前加上#,该语句就会被注释掉。

工程代码的makefile

编译器(Compile Compiler)
CC = gcc

编译选项
CFLAGS = -g -Wall -std=gnu99
设置编译的一些额外操作,如-g产生调试信息,-Wall显示所有编译报警,-std=gnu99设置编译标准为gnu99

目录——路径(未赋值的需要自定义路径)
CUR_DIR(当前目录)= $(shell pwd)
SRC_DIR(源文件路径)
OBJ_DIR(目标文件路径)
BIN_DIR(可执行文件路径)

文件
SRCS = $(SRC_DIR)/xxx.c
OBJS = $(OBJ_DIR)/xxx.o
BINS = $(BIN_DIR)/xxx

以下为对一个简单的示例:(只编译一个源文件)

EXCU = test
CC = gcc
CFLAGS = -g -Wall -std=gnu99

CUR_DIR = $(shell pwd)
SRC_DIR = $(CUR_DIR)/src
OBJ_DIR = $(CUR_DIR)/obj
BIN_DIR = $(CUR_DIR)/bin

SRCS = $(SRC_DIR)/test.c
OBJS = $(OBJ_DIR)/test.o
BINS = $(BIN_DIR)/$(EXCU)

$(EXCU):$(OBJS)
	$(CC)  -o $(BINS) $(OBJS) 
$(OBJS):
	$(CC) $(CFLAGS)  -c $(SRCS) -o $(OBJS)

基本的介绍就到这了,因为目前还没做过工程项目,所以头文件和库也不知道怎么安排,在介绍和使用时都先省略了,以后深入学习有经验后再修改和补充内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值