linux下编译libmodbus程序用的makefile模板

(1)编译前组织结构

在这里插入图片描述

(2)进行编译在这里插入图片描述

(3)编译后组织结构

在这里插入图片描述

(4)makefile代码

TARGET = random-test-server
SRC_DIR = ./src
OBJS_DIR = ./obj
SRC =  $(notdir $(wildcard  $(SRC_DIR)/*.c )) 	#不带目录
OBJS = $(patsubst  %.c,%.o, $(SRC))			 	#不带目录
CC = gcc
CFLAGS = -c -g -Wall
INC =  -I ./inc
LIB =  -L ./lib/ -lmodbus

$(TARGET):$(addprefix  $(OBJS_DIR)/,$(OBJS)) 	#指定特定目录下的.o文件
	$(CC)  $^   -o  $@   $(LIB) 

$(OBJS_DIR)/%.o:$(SRC_DIR)/%.c    				#指定特定目录下的.c文件和.o文件
	$(CC)  $^  -o  $@   $(INC)   $(CFLAGS)
clean:
	rm  $(addprefix  $(OBJS_DIR)/,$(OBJS)) $(TARGET) -rf


#测试不同的通配符下实际的表达式
# all:
# 	@echo $(SRC)
# 	@echo $(OBJS)
# 	@echo $(addprefix  $(OBJS_DIR)/,$(OBJS))
其中
wildcard 进行通配
notdir 去掉目录
patsubst  对应替代
addprefix  添加前缀

(5)字符测试makefile

TARGET = random-test-server
SRC_DIR = ./src
OBJS_DIR = ./obj
SRC =  $(notdir $(wildcard  $(SRC_DIR)/*.c )) 	#不带目录
OBJS = $(patsubst  %.c,%.o, $(SRC))			 	#不带目录
CC = gcc
CFLAGS = -c -g -Wall
INC =  -I ./inc
LIB =  -L ./lib/ -lmodbus

# $(TARGET):$(addprefix  $(OBJS_DIR)/,$(OBJS)) 	#指定特定目录下的.o文件
# 	$(CC)  $^   -o  $@   $(LIB) 

# $(OBJS_DIR)/%.o:$(SRC_DIR)/%.c    				#指定特定目录下的.c文件和.o文件
# 	$(CC)  $^  -o  $@   $(INC)   $(CFLAGS)
# clean:
# 	rm  $(addprefix  $(OBJS_DIR)/,$(OBJS)) $(TARGET) -rf


#测试不同的通配符下实际的表达式
all:
	@echo $(SRC)
	@echo $(OBJS)
	@echo $(addprefix  $(OBJS_DIR)/,$(OBJS))

进行编译

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值