Files
asterisk/codecs/lpc10/Makefile
Kevin P. Fleming 7cf70df999 Use "-march=native" when possible.
Recent versions of GCC have a tuning option value of 'native', which causes
the compiler to optimize the build for the CPU the compile is performed on.
Since most people are building Asterisk on the machine they plan to run it on,
the configure script and build system will now use this value unless a different
value is specified by the user in CFLAGS when the configure script is executed.
In addition, this value will be used for building the GSM and LPC10 codecs as
well, in preference to the logic that has been in their Makefiles forever to
optimize for certain types of CPUs.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@310332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-11 15:09:23 +00:00

84 lines
2.5 KiB
Makefile

#
# Makefile for LPC-10 speech coder library (unix)
#
# default C compiler
CC?= gcc
#
# These definitions for CFLAGS and LIB_TARGET_DIR are used when one
# runs make in the lpc10 directory, without environment variables that
# override them. When make is run in this directory from a makefile
# for an application that uses the LPC10 coder, there are environment
# variables set for CFLAGS and LIB_TARGET_DIR that override these
# definitions.
#
LIB_TARGET_DIR = .
#
# -I$(LIB_TARGET_DIR) option needed so that #include "machine.h"
# directives can find the machine.h file.
#
CFLAGS+= -fPIC -Wno-comment
# The code here generates lots of warnings, so compiling with -Werror
# fails miserably. Remove it for the time being.
_ASTCFLAGS:=$(_ASTCFLAGS:-Werror=)
# If the compiler's '-march' flag has been specified already, then assume it's a value
# that is what the user wants (or has been determined by the configure script). If not,
# do some simple logic to set a decent value
ifeq ($(findstring -march,$(_ASTCFLAGS) $(ASTCFLAGS)),)
#fix for PPC processors and ALPHA, And UltraSparc too
ifneq ($(OSARCH),Darwin)
ifneq ($(findstring BSD,${OSARCH}),BSD)
ifneq ($(PROC),ppc)
ifneq ($(PROC),x86_64)
ifneq ($(PROC),alpha)
#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
#This works for even old (2.96) versions of gcc and provides a small boost either way.
#A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn.t support it.
#So we go lowest common available by gcc and go a step down, still a step up from
#the default as we now have a better instruction set to work with. - Belgarath
ifeq ($(PROC),ultrasparc)
CFLAGS+= -mtune=$(PROC) -mcpu=v8 -O3 -fomit-frame-pointer
else
ifneq ($(OSARCH),SunOS)
ifneq ($(OSARCH),arm)
# CFLAGS+= -march=$(PROC)
endif
endif
endif
endif
endif
endif
endif
endif
endif
LIB = $(LIB_TARGET_DIR)/liblpc10.a
.PHONY: all clean
include $(ASTTOPDIR)/Makefile.rules
all: $(LIB)
OBJ=f2clib.o analys.o bsynz.o chanwr.o dcbias.o decode.o \
deemp.o difmag.o dyptrk.o encode.o energy.o ham84.o \
hp100.o invert.o irc2pc.o ivfilt.o lpcdec.o lpcenc.o \
lpcini.o lpfilt.o median.o mload.o onset.o pitsyn.o \
placea.o placev.o preemp.o prepro.o random.o rcchk.o \
synths.o tbdm.o voicin.o vparms.o
$(LIB): $(OBJ)
$(ECHO_PREFIX) echo " [AR] $^ -> $@"
$(CMD_PREFIX) $(AR) cr $@ $^
$(CMD_PREFIX) $(RANLIB) $@
clean:
rm -f *.o $(LIB) .*.d
rm -f *.s *.i