makefile 模板二

爱⌒轻易说出口 提交于 2019-11-30 15:05:00

这个模板跟上一个比起来区别就是要一个.c一个地添加,.c文件太多的时候,就比较费劲

工程链接:https://github.com/jorinzou/MqttServer-and-MqttClient.git

CC=gcc

OBJ=MqttServer
all:$(OBJ)

HERE=./
incs=-I$(HERE)  

files:=$(HERE)/main.c
files+=$(HERE)/SocketServer.c
files+=$(HERE)/cJSON.c
files+=$(HERE)/mqtt.c

OBJS_C := $(patsubst %.c,%.o,$(files))

CFLAGS=-O0 -g 
CFLAGS+=$(incs) 

LDFLAGS=-lpthread 
LDFLAGS+=-lm
LDFLAGS+=-ldl

$(OBJ):$(OBJS_C)
	$(CC)  $(LDFLAGS) -o $@ $^ 
			
$(OBJS_C):%.o:%.c
	$(CC) $(CFLAGS)  -c $< -o $@

clean:
	rm -rf $(HERE)*.o
	rm -rf $(HERE)/$(OBJ)

  
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!