84 lines
2.2 KiB
Makefile
84 lines
2.2 KiB
Makefile
LOCAL_PATH = $(shell pwd)
|
|
TARGET = libnndemo.so
|
|
LDFLAGS += -Wl,--no-as-needed -lstdc++ -lpthread -lz -ldl -lrt -lnnsdk -llog -shared -L$(STAGING_DIR)/usr/lib
|
|
CFLAGS += \
|
|
-Wall -Werror -fPIC -Wextra -Os \
|
|
-Wno-int-conversion -Wno-discarded-qualifiers \
|
|
-Wno-incompatible-pointer-types -Wno-unused-variable \
|
|
-Wno-sign-compare -Wno-unused-parameter
|
|
|
|
CFLAGS += \
|
|
-I$(LOCAL_PATH)/include/common \
|
|
-I$(LOCAL_PATH)/include/demo \
|
|
-I$(STAGING_DIR)/usr/include/
|
|
|
|
CXXFLAGS += \
|
|
-Wall -Werror -fPIC -Wextra -Os -std=c++14 \
|
|
-Wextra -Wno-unused-variable -Wno-deprecated-declarations \
|
|
-Wno-unused-function -Wno-unused-parameter -Wno-sign-compare
|
|
|
|
CXXFLAGS += \
|
|
-I$(LOCAL_PATH)/include/common \
|
|
-I$(LOCAL_PATH)/include/demo \
|
|
-I$(STAGING_DIR)/usr/include/
|
|
|
|
OUT_DIR ?= .
|
|
|
|
#C++ config
|
|
CPP_SRCS = $(wildcard $(LOCAL_PATH)/src/demo/verisilicon/*.cpp)
|
|
CPP_OBJDIR = objcpp
|
|
CPP_OBJS = $(patsubst $(LOCAL_PATH)/src/demo/verisilicon/%.cpp,$(OUT_DIR)$(CPP_OBJDIR)/%.o,$(CPP_SRCS))
|
|
|
|
|
|
#C config
|
|
C_SRCS = $(wildcard $(LOCAL_PATH)/src/demo/verisilicon/*.c)
|
|
C_OBJDIR = objc
|
|
C_OBJS = $(patsubst $(LOCAL_PATH)/src/demo/verisilicon/%.c,$(OUT_DIR)$(C_OBJDIR)/%.o,$(C_SRCS))
|
|
|
|
|
|
|
|
$(info "CXXFLAGS : $(CXXFLAGS)")
|
|
$(info "CFLAGS : $(CFLAGS)")
|
|
$(info "LDFLAGS : $(LDFLAGS)")
|
|
$(info "OUT_DIR : $(OUT_DIR)")
|
|
$(info "CPP_OBJDIR : $(CPP_OBJDIR)")
|
|
$(info "CPP_SRCS : $(CPP_SRCS)")
|
|
$(info "CPP_OBJS : $(CPP_OBJS)")
|
|
$(info "C_OBJDIR : $(C_OBJDIR)")
|
|
$(info "C_OBJS : $(C_OBJS)")
|
|
$(info "C_SRCS : $(C_SRCS)")
|
|
|
|
|
|
all: $(TARGET)
|
|
|
|
OBJS = $(CPP_OBJS) $(C_OBJS)
|
|
OBJDIRS = $(CPP_OBJDIR) $(C_OBJDIR)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(CXX) $(LDFLAGS) -o $(OUT_DIR)/$@ $^
|
|
|
|
CREATE_CDIR:
|
|
@mkdir -p $(OUT_DIR)$(C_OBJDIR)
|
|
|
|
CREATE_CPPDIR:
|
|
@mkdir -p $(OUT_DIR)$(CPP_OBJDIR)
|
|
|
|
$(OUT_DIR)$(CPP_OBJDIR)/%.o: $(LOCAL_PATH)/src/demo/verisilicon/%.cpp | CREATE_CPPDIR
|
|
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
$(OUT_DIR)$(C_OBJDIR)/%.o: $(LOCAL_PATH)/src/demo/verisilicon/%.c | CREATE_CDIR
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
rm -f *.o $(OUT_DIR)/$(TARGET) $(OUT_DIR)/$(TEST)
|
|
|
|
install:
|
|
install -m 644 include/common/*.h $(STAGING_DIR)/usr/include
|
|
install -m 644 include/demo/*.h $(STAGING_DIR)/usr/include
|
|
install -m 644 $(OUT_DIR)/$(TARGET) $(TARGET_DIR)/usr/lib
|
|
|
|
|