# 定义编译器 CC := gcc # 定义编译选项 CFLAGS := -c -fPIC -I"$(JAVA_HOME)/include" -I"$(JAVA_HOME)/include/linux" LDFLAGS := -shared -fPIC -lc # 定义源文件列表(不带扩展名) SOURCES := \ c/helloWorld/JNI_Hello_World \ c/parameter/JNI_parameter \ c/parameter/JNI_object_parameter # 生成目标文件列表 OBJECTS := $(addsuffix .o, $(SOURCES)) # 生成共享库文件列表 SHARED_LIBS := $(addsuffix .so, $(SOURCES)) # 默认目标:构建所有共享库 all: $(SHARED_LIBS) # 构建共享库的通用规则 %.so: %.o $(CC) $(LDFLAGS) -o $@ $< # 构建目标文件的通用规则 %.o: %.c $(CC) $(CFLAGS) -o $@ $< # 清理生成的文件 clean: rm -f $(OBJECTS) $(SHARED_LIBS) .PHONY: all clean