545 files changed, 230976 insertions, 0 deletions
diff --git a/audio_codec/libfaad/Makefile b/audio_codec/libfaad/Makefile new file mode 100755 index 0000000..551d047 --- a/dev/null +++ b/audio_codec/libfaad/Makefile @@ -0,0 +1,130 @@ +#**************************************************************************** +# 通用的生成动态库?c/c++ GNU Makefile +# Writen By ZhuFeng,2007.2 +# 功能:自动从所有的.c?cpp文件列表中生成输出文件,可以生成动态库 +#**************************************************************************** + +#常用定义选项 +DW_NAME = faad +DW_VERSION = 1.1.0 +MACHINE = $(shell uname -m) +OUTPUT_BIN_PATH = ../bin/ +OUTPUT_INCLUDE_PATH = ./include/ +SRC_PATH = ./ + +SRC_FILES = $(wildcard $(SRC_PATH)*.c) + +EXPORT_INCLUDE_FILES = $(wildcard $(SRC_PATH)*.h) $(wildcard $(SRC_PATH)codebook/*.h) + +USING_LIBS = +USING_INCLUDES_PATH = + +#将会自动附加$(MACHINE)/$DEBUG +USING_LIBS_PATH = +DEBUG = YES +DEFINES = + +#通用定义 +G++ = g++ +GCC = gcc +LD = g++ + +DEBUG_CFLAGS := -c -Wall -shared -fPIC -Wno-format -g -DDEBUG -fexceptions -fnon-call-exceptions +RELEASE_CFLAGS := -c -Wall -shared -fPIC -Wno-unknown-pragmas -Wno-format -O3 -fexceptions -fnon-call-exceptions + +DEBUG_LDFLAGS := -g -shared -fPIC -Wl,-soname,lib$(DW_NAME).so +RELEASE_LDFLAGS := -shared -fPIC -Wl,-soname,lib$(DW_NAME).so + + +ifeq (YES, ${DEBUG}) + CFLAGS := ${DEBUG_CFLAGS} + LDFLAGS := ${DEBUG_LDFLAGS} + USING_LIBS_PATH := $(addsuffix $(MACHINE)/debug/,$(USING_LIBS_PATH)) + OUTPUT_PATH := $(OUTPUT_BIN_PATH) +else + CFLAGS := ${RELEASE_CFLAGS} + LDFLAGS := ${RELEASE_LDFLAGS} + USING_LIBS_PATH := $(addsuffix $(MACHINE)/release/,$(USING_LIBS_PATH)) + OUTPUT_PATH := $(OUTPUT_BIN_PATH)$(MACHINE)/release/ +endif + +#**************************************************************************** +# Makefile code common to all platforms +#**************************************************************************** + +CFLAGS += $(DEFINES) +CFLAGS += $(USING_INCLUDES_PATH) + +#**************************************************************************** +# 定义自动化编译宏,使用GCC方式 +#**************************************************************************** +# $(call make-depend,source-file,object-file,depend-file) +define make-depend + $(GCC) -MM -MF $3 -MP -MT $2 $(CFLAGS) $1 +endef + +OBJS = $(addsuffix .o,$(basename $(SRC_FILES))) +DEPENDS = $(addsuffix .d,$(basename $(SRC_FILES))) + +DW_SVNVER = $(shell svnversion . | sed "s/.*://") +DW_BUILD_DATE = $(shell date) + +OUTPUT = $(OUTPUT_PATH)lib$(DW_NAME).so.$(DW_VERSION) +CFLAGS += -DDW_SVNVER="\"$(DW_SVNVER)\"" -DDW_BUILD_DATE="\"$(DW_BUILD_DATE)\"" -DDW_VERSION="\"$(DW_VERSION)\"" + +VPATH = $(SRC_PATH) +EXPORT_INCLUDE_FILES := $(addprefix $(SRC_PATH),$(EXPORT_INCLUDE_FILES)) + + +default:$(OUTPUT) + @echo "Build_Version: $(DW_VERSION)" + @ln -sf ./lib$(DW_NAME).so.$(DW_VERSION) $(OUTPUT_PATH)lib$(DW_NAME).so + @cp $(EXPORT_INCLUDE_FILES) $(OUTPUT_INCLUDE_PATH) + @echo "$(OUTPUT) MAKE 处理完毕" + @echo "\\033[32m\\033[1m[生成]\\033[21m 执行完毕!" + @echo "$(OUTPUT) 被生?\\12$(EXPORT_INCLUDE_FILES)被复制到$(OUTPUT_INCLUDE_PATH)\\033[0m" + +$(OUTPUT):$(OBJS) + @mkdir -p $(OUTPUT_PATH) + $(LD) $(LDFLAGS) -o $@ $^ $(USING_LIBS_PATH) $(USING_LIBS) + @echo "\\033[35m\\033[1m[链接]\\033[21m $@ 执行完毕,总计更新处理?(words $?) 个文件\\033[0m" + +%.o:%.c + @$(call make-depend,$<,$@,$(subst .o,.d,$@)) + @$(GCC) $(CFLAGS) $< -o $@ + @echo "\\033[32m\\033[1m[编译]\\033[21m $< 执行完毕\\033[0m" + +%.o:%.cpp + @$(call make-depend,$<,$@,$(subst .o,.d,$@)) + @$(G++) $(CFLAGS) $< -o $@ + @echo "\\033[32m\\033[1m[编译]\\033[21m $< 执行完毕\\033[0m" + +-include $(DEPENDS) + +help: + @echo "\\033[1m\\033[33m============== 通用动态库MAKEFILE ==============\\033[0m" + @echo "\\033[33m 2007.2 Writen By ZhuFeng \\033[0m" + @echo "\\033[32m\\033[1mmake :\\033[21m 缺省调用方式,使用debug模式进行编译与连接,输出二进制文件到指定目录\\033[0m" + @echo "\\033[32m\\033[1mmake DEBUG=NO :\\033[21m 使用release模式进行编译与连接,输出二进制文件到指定目录 \\033[0m" + @echo "\\033[32m\\033[1mmake help :\\033[21m显示帮助信息\\033[0m" + @echo "\\033[32m\\033[1mmake rebuild :\\033[21m重新生成所有文件\\033[0m" + @echo "\\033[32m\\033[1mmake clean :\\033[21m清除生成的中间文件\\033[0m" + @echo "\\033[32m\\033[1mmake install :\\033[21m安装生成的文件到/usr/local/lib目录,拷贝头文件?usr/local/include目录\\033[0m" + + +rebuild:clean default + @echo "\\033[34m\\033[1m[rebuild]\\033[21m 执行完毕\\033[0m" +clean: + @rm -f *.o + @rm -f *.d + @echo "\\033[34m\\033[1m[clean]\\033[21m 执行完毕\\033[0m" +test: + @echo "SVN_VERSION:$(SVN_VERSION)" + @echo "DW_VERSION:$(DW_VERSION)" + @echo "OUTPUT:$(OUTPUT)" + + + + + + |