diff --git a/Makefile b/Makefile index e69de29..53a403c 100644 --- a/Makefile +++ b/Makefile @@ -0,0 +1,66 @@ +# ================================================================ +# 使用说明: +# 1. 确保交叉编译工具链路径正确 +# 2. 确保源码放在src目录,头文件放在inc目录 +# 3. 命令行执行: +# make # 编译 +# make clean # 清理 +# ================================================================ + +# TODO 交叉编译器路径配置 +TOOLCHAIN_DIR ?= /home/qieyuan/bupt_project/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu +CROSS_COMPILE ?= $(TOOLCHAIN_DIR)/aarch64-linux-gnu- + +# 编译配置 +CC = $(CROSS_COMPILE)gcc +AR = $(CROSS_COMPILE)ar +STRIP = $(CROSS_COMPILE)strip + +# 编译输出目录配置 +BUILD_DIR = build +TARGET = $(BUILD_DIR)/msg_udp_ctrl.out + +# 代码目录配置 +SRC_DIR = src +INC_DIR = inc +OBJ_DIR = $(BUILD_DIR)/obj + +# 编译器选项配置 +CFLAGS = -O2 -Wall -Werror -g +CFLAGS += -I$(INC_DIR) # 头文件搜索路径 +CFLAGS += -MMD -MP # 自动生成依赖关系 +CFLAGS += -fPIC # 位置无关代码 +LDFLAGS = -lpthread -lrt # 多线程与mmap拓展库 + +# UDP专用宏定义 +# DEFINES = -DUSE_UDP_OPTIMIZE=1 +# CFLAGS += $(DEFINES) + +# 自动收集源文件 +SRCS = $(wildcard $(SRC_DIR)/*.c) +OBJS = $(SRCS:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) +DEPS = $(OBJS:.o=.d) # 依赖 + +# ======================== 构建规则 =============================== + +.PHONY: all clean + +all: $(TARGET) + +# 主目标链接 +$(TARGET): $(OBJS) + @echo "Linking $@" + @mkdir -p $(@D) # 创建目标目录 + $(CC) $^ -o $@ $(LDFLAGS) + +# 编译规则 +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c + @echo "Compiling $<" + @mkdir -p $(@D) # 创建对象目录 + $(CC) $(CFLAGS) -c $< -o $@ + +# 包含自动生成的依赖关系 +-include $(DEPS) + +clean: + rm -rf $(BUILD_DIR) \ No newline at end of file diff --git a/README.md b/README.md index ed224a4..9fcd722 100755 --- a/README.md +++ b/README.md @@ -1,2 +1,12 @@ # msg_udp_ctrl +````angular2html +msg_udp_ctrl/ +├── Makefile +├── inc/ +│ └── XXX.h +└── src/ + ├── main.c + └── XXX.c +```` + diff --git a/inc/udp_ctrl.h b/inc/udp_ctrl.h new file mode 100644 index 0000000..4a1036d --- /dev/null +++ b/inc/udp_ctrl.h @@ -0,0 +1,8 @@ +// +// Created by qieyuan on 25-5-29. +// + +#ifndef UDP_CTRL_H +#define UDP_CTRL_H + +#endif //UDP_CTRL_H diff --git a/src/udp_ctrl.c b/src/udp_ctrl.c new file mode 100644 index 0000000..66c476e --- /dev/null +++ b/src/udp_ctrl.c @@ -0,0 +1,5 @@ +// +// Created by qieyuan on 25-5-29. +// + +#include "udp_ctrl.h"