#指定32位python路径,python版本需要3.8以下 PYTHON = python # 变量BIN: 给定的是我们想要生成的可执行文件的名称 BIN = epm.dll # 变量SRC中给的是所有的想要编译的.c源文件,与makefile在同一目录下可直接写(如这里的main.c),否则需要写明相对路径(如这里的其余源文件都在目录src下)。 # 多文件时,选择用"\"进行分行处理 SRC = \ lib/src/malloc.c \ lib/src/sqqueue.c \ lib/src/mlist.c \ lib/src/debug.c \ lib/src/pbuf.c \ lib/src/data_analysis.c \ lib/src/lib.c \ agreement/agreement_frame.c \ agreement/agreement_master.c \ agreement/agreement_slave.c \ agreement/agreement.c TEST = \ test/run.py TEST_SIMPLE = \ test/test_slave.py # 变量CC:给定编译器名gcc # 变量CFLAGS:传给编译器的某些编译参数,看需求添加 CC = gcc CFLAGS = -m32 -shared -std=c99 # 变量GDB:给定debugger名gdb # 变量RM:给定删除文件方式,用于后面删除所有编译所得的.o文件,linux下使用rm -rf GDB = gdb RM = rm -rf # 变量OBJS:将变量SRC中所有的.c文件替换成以.o结尾,即将.c源文件编译成.o文件 OBJS = $(SRC:%.c=%.o) all: so test clean so: $(BIN) $(BIN): $(OBJS) $(CC) $(CFLAGS) $^ -o $@ # pull in dependencies for .o files -include $(OBJS:.o=.d) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: so test ss: so test_simple clean dev: $(PYTHON) main.py test: $(PYTHON) $(TEST) test_simple: $(PYTHON) $(TEST_SIMPLE) clean: $(RM) $(BIN) $(OBJS)