72 lines
1.5 KiB
Makefile
72 lines
1.5 KiB
Makefile
#指定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 \
|
||
app_pid.c \
|
||
app.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)
|