1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- CC := gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
- CFLAGS := -Wall -Wextra -fPIC -O3
- # -funroll-loops -finline-functions -flto -flto
- LDFLAGS := -shared -ldl -lm -lrt -lstdc++fs
- SRCDIR := src
- LIBDIR := lib
- BUILDDIR := build
- # 获取src目录下所有cpp文件
- SRCEXT := cpp
- SOURCES := $(wildcard $(SRCDIR)/*.$(SRCEXT))
- # 生成目标so文件的路径及名称
- TARGET_LIB := $(LIBDIR)/libasj_ai.so
- # 获取头文件路径
- INCLUDE := -I include
- ifeq ($(NPU_TYPE), EEASY)
- # 亿智库
- NPU_INCLUDE := -I npu/eeasy/include \
- -I npu/eeasy/include/mbase
- NPU_LDFLAGS := -L npu/eeasy/lib -lopenvx -lopenvx-nn -lnn -lnn_base -lmbase -lax -llog
- NPU_SOURCES := npu/eeasy/src/EeasyModel.cpp
- NPU_OBJECTS := $(BUILDDIR)/EeasyModel.o
- else ifeq ($(NPU_TYPE), AXERA)
- # 爱芯库
- NPU_INCLUDE := -I npu/axera/include \
- -I npu/axera/include/axera
- NPU_LDFLAGS := -L npu/axera/lib -lax_run_joint -lax_interpreter_external -lax_interpreter -lax_sys -lax_npu_cv_kit -ldl -lm -lrt -lstdc++fs
- NPU_SOURCES := npu/axera/src/AxeraModel.cpp
- NPU_OBJECTS := $(BUILDDIR)/AxeraModel.o
- CFLAGS += -DAXERA_TARGET_CHIP_AX620
- # else
- # $(error HJJ提示:写错或者不写平台,需要加 NPU_TYPE=EEASY 或 NPU_TYPE=AXERA)
- endif
- CFLAGS += -D$(NPU_TYPE)_CHIP
- # 生成中间目标文件的路径
- OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o))
- $(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
- @mkdir -p $(BUILDDIR)
- $(CC) $(CFLAGS) $(INCLUDE) $(NPU_INCLUDE) -c -o $@ $<
- $(BUILDDIR)/%.o: $(NPU_SOURCES)
- @mkdir -p $(BUILDDIR)
- $(CC) $(CFLAGS) $(INCLUDE) $(NPU_INCLUDE) -c -o $@ $<
- $(TARGET_LIB): $(OBJECTS) $(NPU_OBJECTS)
- @mkdir -p $(LIBDIR)
- $(CC) $^ $(LDFLAGS) $(NPU_LDFLAGS) -o $@
- clean:
- @rm -rf $(BUILDDIR) $(LIBDIR)
- @rm -rf main
- test:
- ifeq ($(NPU_TYPE), EEASY)
- $(CC) -o main main.cpp npu/eeasy/src/utils.cpp \
- $(INCLUDE) $(NPU_INCLUDE) \
- -L$(LIBDIR) -lasj_ai $(NPU_LDFLAGS) \
- $(CFLAGS)
- else ifeq ($(NPU_TYPE), AXERA)
- $(CC) -o main main.cpp \
- $(INCLUDE) $(NPU_INCLUDE) \
- -L$(LIBDIR) -lasj_ai $(NPU_LDFLAGS) \
- $(CFLAGS)
- # else
- # $(error HJJ提示:写错或者不写平台,需要加 NPU_TYPE=EEASY 或 NPU_TYPE=AXERA)
- endif
- print-% : ; @echo $* = $($*)
|