📄 makefile
字号:
# <LIC_AMD_STD># Copyright (c) 2005 Advanced Micro Devices, Inc.# # USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS# GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE# IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.# </LIC_AMD_STD> # <CTL_AMD_STD># </CTL_AMD_STD> # <DOC_AMD_STD># Filename: Makefile# Targets:# libmaioggdec.so - Audio Renderer MAI component shared lib## Inputs (optional): # BUILD_MODE: release, debug, profile# BUILDSDIR: top level output directory (binaries)# INSTALLDIR: directory to copy final target# GCFLAGS: global compile flags (passed to all makefiles)# </DOC_AMD_STD> COMPNAME=maioggdec# TOPDIR is the "main" top directoryTOPDIR=../../../../..MAIDIR=$(TOPDIR)/maiMAI_INC=$(MAIDIR)/incifeq ("$(BUILDSDIR)", "")# Default, build under the local directoryBUILDSDIR=.endif# ARCHNAME can be used for CPU specific build options (i.e. mips, i686, etc.)ARCHNAME?=$(strip $(shell uname -m))# TARGETSTARGETFILE1=lib$(COMPNAME).soTARGETFILE2=lib$(COMPNAME).a# If no configuration is specified, "Release" will be usedifeq ("$(BUILD_MODE)", "")BUILD_MODE = releaseendif# Handle "CFG" which is the variable passed by SlickEditifeq ("$(CFG)","Release")BUILD_MODE = releaseendififeq ("$(CFG)","Debug")BUILD_MODE = debugendif# Setup build directories and target file namesBUILDSSUBDIR=$(BUILDSDIR)/$(ARCHNAME)ifeq ("$(BUILD_MODE)", "debug")BUILDSSUBDIR=$(BUILDSDIR)/$(ARCHNAME)dbgendififeq ("$(BUILD_MODE)", "release")BUILDSSUBDIR=$(BUILDSDIR)/$(ARCHNAME)relendififeq ("$(BUILD_MODE)", "profile")BUILDSSUBDIR=$(BUILDSDIR)/$(ARCHNAME)profendif# TARGETINTDIR is the intermediate path (for object files) TARGETINTDIR1=$(BUILDSSUBDIR)/$(COMPNAME)# TARGETDIR1 is the final path for target executablesTARGETDIR1=$(BUILDSSUBDIR)/$(COMPNAME)TARGETDIR2=$(BUILDSSUBDIR)/$(COMPNAME)/static# TARGETPATH is full target filename with pathTARGETPATH1=$(TARGETDIR1)/$(TARGETFILE1)TARGETPATH2=$(TARGETDIR2)/$(TARGETFILE2)# commands usedMAKE=makeCC=gccCXX=g++LD=ldAR=arCOMPILER=$(CC)LINKER=$(CC)# Common compile/link attributesLDLIBS= -lc -lpthread -ldlLDFLAGS = -shared -Xlinker --no-undefinedCFLAGS=$(GCFLAGS) -O4DEFINES = -DLINUX -DOS_Linux -D_USRDLL -DNDEBUG -DPACKAGE=\"libvorbisidec\" -DVERSION=\"1.2.0\" INCLUDES=-I../ -I../../ -I$(MAI_INC) ifeq "$(BUILD_MODE)" "debug"CFLAGS+=-gendififeq ($(ARCHNAME),mips)DEFINES+=-DMIPSendifOBJ = $(TARGETINTDIR1)/res012.o $(TARGETINTDIR1)/mapping0.o $(TARGETINTDIR1)/registry.o $(TARGETINTDIR1)/codebook.o \ $(TARGETINTDIR1)/sharedbook.o $(TARGETINTDIR1)/framing.o $(TARGETINTDIR1)/bitwise.o $(TARGETINTDIR1)/mdct.o \ $(TARGETINTDIR1)/block.o $(TARGETINTDIR1)/window.o $(TARGETINTDIR1)/synthesis.o $(TARGETINTDIR1)/info.o $(TARGETINTDIR1)/floor1.o \ $(TARGETINTDIR1)/floor0.o $(TARGETINTDIR1)/vorbisfile.o $(TARGETINTDIR1)/maioggdec.o $(TARGETINTDIR1)/mai_osal.o $(TARGETINTDIR1)/mai_component.o $(TARGETINTDIR1)/mai_compbase.o COMPILE=$(COMPILER) -c $(CFLAGS) $(DEFINES) -o "$(TARGETINTDIR1)/$(*F).o" $(INCLUDES) "$<"# Pattern rules$(TARGETINTDIR1)/%.o : ../%.c $(COMPILE)$(TARGETINTDIR1)/%.o : ../../%.c $(COMPILE)$(TARGETINTDIR1)/%.o: $(MAIDIR)/%.c $(COMPILE)$(TARGETINTDIR1)/%.o: $(MAIDIR)/src/%.c $(COMPILE)# Build rulesall: target install# Build target onlytarget: $(TARGETPATH1) $(TARGETPATH2)# Install target in new locationifeq ("$(INSTALLDIR)", "")install:elseinstall: @echo Installing $(COMPNAME) to $(INSTALLDIR)... @mkdir -p $(INSTALLDIR)/static @cp $(TARGETPATH1) $(INSTALLDIR) @cp $(TARGETPATH2) $(INSTALLDIR)/staticendif$(TARGETPATH1): $(TARGETINTDIR1) $(OBJ) mkdir -p "$(TARGETDIR1)" $(LINKER) $(LDFLAGS) -o "$(TARGETPATH1)" $(OBJ) $(LDLIBS)$(TARGETPATH2): $(TARGETINTDIR1) $(OBJ) mkdir -p "$(TARGETDIR2)" $(AR) rcs "$(TARGETPATH2)" $(OBJ)$(TARGETINTDIR1): mkdir -p "$(TARGETINTDIR1)"# Rebuild this projectrebuild: cleanall all# Clean this projectclean: rm -f $(TARGETPATH1) rm -f $(OBJ)# Clean this project and all dependenciescleanall: clean
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -