Makefile 866 B

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