190 lines
5.8 KiB
Plaintext
190 lines
5.8 KiB
Plaintext
.PHONY: CREATE_DIR
|
|
|
|
#SDK_VER ?= uclibc
|
|
#SDK_VER ?= 64bit
|
|
## GCC COMPILER ##
|
|
##TOOLPATH=~/master_repo3/host-tools/gcc/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
|
|
#TOOLPATH=../../../../host-tools/gcc/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
|
|
#CROSS_COMPILE=$(TOOLPATH)/aarch64-linux-gnu-
|
|
#TOOLPATH=../../../../host-tools/gcc/arm-cvitek-linux-uclibcgnueabihf/bin
|
|
#CROSS_COMPILE=$(TOOLPATH)/arm-cvitek-linux-uclibcgnueabihf-
|
|
CC = $(CROSS_COMPILE)gcc
|
|
CXX = $(CROSS_COMPILE)g++
|
|
AR = $(CROSS_COMPILE)ar
|
|
LD = $(CROSS_COMPILE)ld
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
|
|
FDK_AAC_DIR=./fdkaac
|
|
CUR = $(PWD)
|
|
#aac encoder -------------------------------------------start
|
|
SYS_SRC = \
|
|
libSYS/src/genericStds.cpp \
|
|
libSYS/src/syslib_channelMapDescr.cpp
|
|
|
|
AACENC_SRC = $(wildcard $(PWD)/fdkaac/libAACenc/src/*.cpp)
|
|
AACENC_SRC_EXTRA = $(wildcard $(PWD)/fdkaac/libSACenc/src/*.cpp)
|
|
AACENC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libSBRenc/src/*.cpp)
|
|
AACENC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libMpegTPEnc/src/*.cpp)
|
|
AACENC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libSYS/src/*.cpp)
|
|
AACENC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libPCMutils/src/*.cpp)
|
|
AACENC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libFDK/src/*.cpp)
|
|
#AACENC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libFDK/src/arm/*.cpp)
|
|
AACENC_SRC += $(AACENC_SRC_EXTRA)
|
|
AACENC_SRC += ./aacenc_interface.cpp
|
|
|
|
AACENC_INCS =
|
|
AACENC_INCS += -I ./fdkaac/libFDK/include/
|
|
AACENC_INCS += -I ./fdkaac/libSYS/include/
|
|
AACENC_INCS += -I ./fdkaac/libMpegTPEnc/include/
|
|
AACENC_INCS += -I ./fdkaac/libSBRenc/include/
|
|
AACENC_INCS += -I ./fdkaac/libAACenc/include/
|
|
AACENC_INCS += -I ./fdkaac/libSACenc/include/
|
|
AACENC_INCS += -I ./fdkaac/libPCMutils/include/
|
|
|
|
OBJS_ENC = $(AACENC_SRC:.cpp=.o)
|
|
#aac encoder -------------------------------------------end
|
|
#aac decoder -------------------------------------------start
|
|
AACDEC_SRC = $(wildcard $(PWD)/fdkaac/libAACdec/src/*.cpp)
|
|
AACDEC_SRC_EXTRA = $(wildcard $(PWD)/fdkaac/libFDK/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libSYS/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libArithCoding/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libMpegTPDec/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libSBRdec/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libPCMutils/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libDRCdec/src/*.cpp)
|
|
AACDEC_SRC_EXTRA += $(wildcard $(PWD)/fdkaac/libSACdec/src/*.cpp)
|
|
|
|
AACDEC_SRC += $(AACDEC_SRC_EXTRA)
|
|
AACDEC_SRC += ./aacdec_interface.cpp
|
|
|
|
AACDEC_INCS =
|
|
AACDEC_INCS += -I ./fdkaac/libFDK/include/
|
|
AACDEC_INCS += -I ./fdkaac/libSYS/include/
|
|
AACDEC_INCS += -I ./fdkaac/libAACdec/include/
|
|
AACDEC_INCS += -I ./fdkaac/libArithCoding/include/
|
|
AACDEC_INCS += -I ./fdkaac/libAACdec/src/
|
|
AACDEC_INCS += -I ./fdkaac/libMpegTPDec/include/
|
|
AACDEC_INCS += -I ./fdkaac/libSBRdec/include/
|
|
AACDEC_INCS += -I ./fdkaac/libPCMutils/include/
|
|
AACDEC_INCS += -I ./fdkaac/libDRCdec/include/
|
|
AACDEC_INCS += -I ./fdkaac/libSACdec/include/
|
|
|
|
OBJS_DEC = $(AACDEC_SRC:.cpp=.o)
|
|
#aac decoder -------------------------------------------end
|
|
|
|
#AAC test sample code --------------------------start
|
|
AAC_TEST = $(PWD)/sample_audio_aac
|
|
AAC_TEST_SRC += $(PWD)/cvi_audio_aac_adp.c
|
|
AAC_TEST_SRC += $(PWD)/../cvi_audio_dl_adp.c
|
|
AAC_LDFLAGS =
|
|
AAC_LDFLAGS += -L$(MW_LIB) -L$(MW_LIB)/3rd
|
|
ifeq ($(SDK_VER), 64bit)
|
|
AAC_LDFLAGS += -L $(PWD)/64bit
|
|
endif
|
|
ifeq ($(SDK_VER), 32bit)
|
|
AAC_LDFLAGS += -L $(PWD)/32bit
|
|
endif
|
|
|
|
ifeq ($(SDK_VER), uclibc)
|
|
AAC_LDFLAGS += -L $(PWD)/uclibc
|
|
endif
|
|
|
|
AAC_LDLIBS =
|
|
AAC_LDLIBS += -lpthread
|
|
AAC_LDLIBS += -lm -ldl
|
|
AAC_LDLIBS += -lstdc++
|
|
AAC_LDLIBS += -laacdec2
|
|
AAC_LDLIBS += -laacenc2
|
|
|
|
#AAC_INCLUDES = -I$(MW_INC)
|
|
AAC_INCLUDES =
|
|
AAC_INCLUDES += -I$(PWD)
|
|
DEFINES += -DCVI_MODIFIED
|
|
|
|
AAC_CFLAGS += -I . -I ../../../include/ -fPIC -Wno-unused-result -Wno-format -Wl,--fatal-warning $(AAC_INCLUDES) $(DEFINES)
|
|
|
|
ifeq ($(SDK_VER), 64bit)
|
|
AACENC_TARGET = $(CUR)/64bit/libaacenc2.a
|
|
AACENC_TARGET_S = $(CUR)/64bit/libaacenc2.so
|
|
|
|
AACDEC_TARGET = $(CUR)/64bit/libaacdec2.a
|
|
AACDEC_TARGET_S = $(CUR)/64bit/libaacdec2.so
|
|
TARGET_FLD = $(MW_LIB)/../modules/audio/lib
|
|
PREBUILD_FLD = ./64bit
|
|
endif
|
|
|
|
ifeq ($(SDK_VER), 32bit)
|
|
AACENC_TARGET = $(CUR)/32bit/libaacenc2.a
|
|
AACENC_TARGET_S = $(CUR)/32bit/libaacenc2.so
|
|
|
|
AACDEC_TARGET = $(CUR)/32bit/libaacdec2.a
|
|
AACDEC_TARGET_S = $(CUR)/32bit/libaacdec2.so
|
|
TARGET_FLD = $(MW_LIB)/../modules/audio/lib_32
|
|
PREBUILD_FLD = ./32bit
|
|
endif
|
|
|
|
ifeq ($(SDK_VER), uclibc)
|
|
AACENC_TARGET = $(CUR)/uclibc/libaacenc2.a
|
|
AACENC_TARGET_S = $(CUR)/uclibc/libaacenc2.so
|
|
|
|
AACDEC_TARGET = $(CUR)/uclibc/libaacdec2.a
|
|
AACDEC_TARGET_S = $(CUR)/uclibc/libaacdec2.so
|
|
TARGET_FLD = $(MW_LIB)/../modules/audio/uclibc
|
|
PREBUILD_FLD = ./uclibc
|
|
endif
|
|
|
|
|
|
|
|
ARFLAGS = rcs
|
|
ARFLAGS_S = -shared -fPIC -o
|
|
CFLAGS = -fPIC -c -Os -ffunction-sections -fdata-sections
|
|
CFLAGS += -DCVI_MODIFIED
|
|
|
|
AAC_TEST_LIB = $(AAC_LDLIBS)
|
|
|
|
|
|
|
|
BUILDLIST=
|
|
BUILDLIST += $(AACENC_TARGET)
|
|
BUILDLIST += $(AACDEC_TARGET)
|
|
#BUILDLIST += $(AAC_TEST)
|
|
|
|
OBJECTPATHS_ENCSRC=$(addprefix $(PWD)/,$(notdir $(OBJS_ENC)))
|
|
OBJECTPATHS_DECSRC=$(addprefix $(PWD)/,$(notdir $(OBJS_DEC)))
|
|
|
|
all:$(BUILDLIST)
|
|
|
|
|
|
$(OBJS_ENC):
|
|
$(CC) $(AACENC_SRC) $(CFLAGS) $(AACENC_INCS)
|
|
#$(OBJS_ENC) : %.o : %.cpp
|
|
# $(CC)$(AACENC_SRC) $(CFLAGS) $(INCS) $< -o $@
|
|
|
|
$(OBJS_DEC):
|
|
$(CC) $(AACDEC_SRC) $(CFLAGS) $(AACDEC_INCS)
|
|
|
|
|
|
$(AACENC_TARGET) : $(OBJS_ENC)
|
|
$(AR) $(ARFLAGS) $(AACENC_TARGET) $(OBJECTPATHS_ENCSRC)
|
|
$(CC) $(ARFLAGS_S) $(AACENC_TARGET_S) $(OBJECTPATHS_ENCSRC)
|
|
$(STRIP) $(AACENC_TARGET)
|
|
rm -rf $(OBJECTPATHS_ENCSRC)
|
|
|
|
$(AACDEC_TARGET) : $(OBJS_DEC)
|
|
$(AR) $(ARFLAGS) $(AACDEC_TARGET) $(OBJECTPATHS_DECSRC)
|
|
$(CC) $(ARFLAGS_S) $(AACDEC_TARGET_S) $(OBJECTPATHS_DECSRC)
|
|
$(STRIP) $(AACDEC_TARGET)
|
|
rm -rf $(OBJECTPATHS_DECSRC)
|
|
|
|
$(AAC_TEST):
|
|
$(CC) -o $@ $(AAC_LDFLAGS) $(AAC_TEST_SRC) $(AAC_TEST_LIB) $(AAC_CFLAGS)
|
|
|
|
|
|
.PHONY : clean
|
|
clean:
|
|
rm -f $(OBJECTPATHS_ENCSRC) $(OBJECTPATHS_DECSRC) $(AAC_TEST)
|
|
|
|
|
|
|
|
|