Makefile 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #AX
  2. # CXX := /root/axera/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
  3. # AR := /root/axera/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar
  4. #QW
  5. CXX := /root/axera/asj_pe_project/tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g++
  6. AR := /root/axera/asj_pe_project/tools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-ar
  7. CFLAGS := -Wall -fPIC -O3
  8. LDFLAGS := -shared
  9. SRCDIR := src
  10. LIBDIR := lib
  11. BUILDDIR := build
  12. OPENCV_PATH := 3rdparty/opencv-arm-linux
  13. OPENCV_LIB_PATH := $(OPENCV_PATH)/lib
  14. OPENCV_LIB2_PATH := $(OPENCV_PATH)/lib/opencv4/3rdparty
  15. OPENCV_INCLUDE := $(OPENCV_PATH)/include/opencv4
  16. LDFLAGS += -lm -lstdc++ -pthread -lrt -ldl
  17. LDFLAGS += -L$(OPENCV_LIB_PATH) -L$(OPENCV_LIB2_PATH) -lopencv_imgproc -lopencv_core
  18. SRCEXT := cpp
  19. SOURCES := $(wildcard $(SRCDIR)/*.$(SRCEXT))
  20. INCLUDE := -I include
  21. INCLUDE += -I$(OPENCV_INCLUDE)
  22. OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o))
  23. $(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
  24. @mkdir -p $(BUILDDIR)
  25. $(CXX) $(INCLUDE) $(CFLAGS) -c $< -o $@
  26. build_o: $(OBJECTS)
  27. build_a:
  28. @mkdir -p $(LIBDIR)
  29. $(AR) rcs $(LIBDIR)/libasj_pe_pullup_warpper.a build/asj_pe_pullup_warpper.o build/asj_pe_pullup.o
  30. $(AR) rcs $(LIBDIR)/libasj_pe_situp_warpper.a build/asj_pe_situp_warpper.o build/asj_pe_situp.o
  31. $(AR) rcs $(LIBDIR)/libasj_pe_standingjump_warpper.a build/asj_pe_standingjump_warpper.o build/asj_pe_standingjump.o
  32. build_so:
  33. @mkdir -p $(LIBDIR)
  34. $(CXX) build/asj_pe_pullup_warpper.o build/asj_pe_pullup.o $(LDFLAGS) -o $(LIBDIR)/libasj_pe_pullup_warpper.so
  35. $(CXX) build/asj_pe_situp_warpper.o build/asj_pe_situp.o $(LDFLAGS) -o $(LIBDIR)/libasj_pe_situp_warpper.so
  36. $(CXX) build/asj_pe_standingjump_warpper.o build/asj_pe_standingjump.o $(LDFLAGS) -o $(LIBDIR)/libasj_pe_standingjump_warpper.so
  37. build:
  38. @make build_o
  39. @make build_a
  40. # @make build_so
  41. pullup:
  42. @cd deploy/libpullup/libpullup_api/test && make clean
  43. @mkdir -p deploy/libpullup/libpullup
  44. @cp -r lib/libasj_pe_pullup_warpper.a deploy/libpullup/libpullup
  45. @cp include/PEStatus.h deploy/libpullup/libpullup_api
  46. @cd deploy/libpullup/libpullup_api/test && make all
  47. situp:
  48. @cd deploy/libsitup/libsitup_api/test && make clean
  49. @mkdir -p deploy/libsitup/libsitup
  50. @cp -r lib/libasj_pe_situp_warpper.a deploy/libsitup/libsitup
  51. @cp include/PEStatus.h deploy/libsitup/libsitup_api
  52. @cd deploy/libsitup/libsitup_api/test && make all
  53. jump:
  54. @cd deploy/libstandingjump/libstandingjump_api/test && make clean
  55. @mkdir -p deploy/libstandingjump/libstandingjump
  56. @cp -r lib/libasj_pe_standingjump_warpper.a deploy/libstandingjump/libstandingjump
  57. @cp 3rdparty/opencv-arm-linux/lib/libopencv_imgproc.a deploy/libstandingjump/libstandingjump
  58. @cp 3rdparty/opencv-arm-linux/lib/libopencv_core.a deploy/libstandingjump/libstandingjump
  59. @cp 3rdparty/opencv-arm-linux/lib/opencv4/3rdparty/libittnotify.a deploy/libstandingjump/libstandingjump
  60. @cp 3rdparty/opencv-arm-linux/lib/opencv4/3rdparty/libzlib.a deploy/libstandingjump/libstandingjump
  61. @cp include/PEStatus.h deploy/libstandingjump/libstandingjump_api
  62. @cd deploy/libstandingjump/libstandingjump_api/test && make all
  63. clean:
  64. $(RM) -r $(BUILDDIR) $(LIBDIR)
  65. all:
  66. @make pullup
  67. @make situp
  68. @make jump