Makefile 745 B

1234567891011121314151617181920212223242526272829303132333435
  1. # 定义编译器
  2. CC := gcc
  3. # 定义编译选项
  4. CFLAGS := -c -fPIC -I"$(JAVA_HOME)/include" -I"$(JAVA_HOME)/include/linux"
  5. LDFLAGS := -shared -fPIC -lc
  6. # 定义源文件列表(不带扩展名)
  7. SOURCES := \
  8. c/helloWorld/JNI_Hello_World \
  9. c/parameter/JNI_parameter \
  10. c/parameter/JNI_object_parameter
  11. # 生成目标文件列表
  12. OBJECTS := $(addsuffix .o, $(SOURCES))
  13. # 生成共享库文件列表
  14. SHARED_LIBS := $(addsuffix .so, $(SOURCES))
  15. # 默认目标:构建所有共享库
  16. all: $(SHARED_LIBS)
  17. # 构建共享库的通用规则
  18. %.so: %.o
  19. $(CC) $(LDFLAGS) -o $@ $<
  20. # 构建目标文件的通用规则
  21. %.o: %.c
  22. $(CC) $(CFLAGS) -o $@ $<
  23. # 清理生成的文件
  24. clean:
  25. rm -f $(OBJECTS) $(SHARED_LIBS)
  26. .PHONY: all clean