|
@@ -0,0 +1,35 @@
|
|
|
|
|
+# 定义编译器
|
|
|
|
|
+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
|