Makefile 917 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # 设置编译器
  2. CC = gcc
  3. # 设置包含路径
  4. CFLAGS += -I common \
  5. -I pahoMqtt \
  6. -I mqttclient \
  7. -I coreMqtt \
  8. -I platform/linux \
  9. -I platform/linux/valloc
  10. # 设置编译选项
  11. CFLAGS += -Wall -Wno-unused-parameter -Wformat=2
  12. # 搜索所有C源文件
  13. SRCS = $(wildcard ./test/*.c)
  14. SRCS += $(wildcard ./common/*.c)
  15. SRCS += $(wildcard ./platform/linux/*.c)
  16. SRCS += $(wildcard ./platform/linux/valloc/*.c)
  17. SRCS += $(wildcard ./pahoMqtt/*.c)
  18. SRCS += $(wildcard ./mqttclient/*.c)
  19. SRCS += $(wildcard ./coreMqtt/*.c)
  20. # 定义目标文件和输出文件
  21. OBJS = $(patsubst %.c,%.o,$(SRCS))
  22. TARGET = app.o
  23. # 默认目标
  24. all: $(TARGET)
  25. # 链接所有对象文件生成最终二进制文件
  26. $(TARGET): $(OBJS)
  27. $(CC) $(OBJS) -o $@ -lm -lpthread
  28. # 编译规则
  29. %.o: %.c
  30. $(CC) $(CFLAGS) -c $< -o $@
  31. # 清理生成的文件
  32. .PHONY: clean
  33. clean:
  34. rm -f $(OBJS) $(TARGET)