view intercom/gsm/Makefile @ 2:13be24d74cd2

import intercom-0.4.1
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Fri, 25 Jun 2010 09:57:52 +0200
parents
children
line wrap: on
line source

#--------------------------------------------------------------------------
# RPELTP makefile for Unix C compilers
#--------------------------------------------------------------------------
# Original Copyright message:
# Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
# Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
# details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
#
# File adapted by simao@ctd.comsat.com for the UGST distribution.
#--------------------------------------------------------------------------

# Machine dependent flags you must configure to port

######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
SASR	= -DSASR

######### MUST Define USE_FLOAT_MUL for bit exact performance to GSM Spec.
MULHACK = -DUSE_FLOAT_MUL

# Choose a compiler.  The code works both with ANSI and K&R-C.
# Use -DNeedFunctionPrototypes to compile with, -UNeedFunctionPrototypes to
# compile without, function prototypes in the header files.
#
# You can use the -DSTUPID_COMPILER to circumvent some compilers'
# static limits regarding the number of subexpressions in a statement.

CC		= cc
CCFLAGS 	= -c -UNeedFunctionPrototypes -I../utl
#CCFLAGS 	= -g -c -UNeedFunctionPrototypes -I../utl
#CCFLAGS 	= -c -DSTUPID_COMPILER -I../utl

#CC		= acc
#CCFLAGS 	= -c -O -I../utl

#CC		= gcc
#CCFLAGS 	= -c -O2 -DNeedFunctionPrototypes=1 -fno-builtin -I../utl
#CCFLAGS 	= -c -g -Wall -DNeedFunctionPrototypes=1 -fno-builtin -I../utl

#--------------------------------------------------------------------------
#
#    You shouldn't have to configure below this line if you're porting.
# 
#--------------------------------------------------------------------------

# Tools
RM=rm -f

# Local Directories
INC	= .

# Flags

DEBUG	= -DNDEBUG 
######### Remove -DNDEBUG to enable assertions.

CFLAGS	= $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) -I$(INC) -I../utl
######### It's $(CC) $(CFLAGS)


#--------------------------------------------------------------------------
# Headers
HEADERS	=	proto.h unproto.h config.h private.h gsm.h rpeltp.h

#--------------------------------------------------------------------------
# Sources
GSM_SOURCES =	add.c code.c debug.c decode.c long_ter.c lpc.c \
		preproce.c rpe.c gsm_dest.c gsm_deco.c gsm_enco.c \
		gsm_expl.c gsm_impl.c gsm_crea.c gsm_prin.c gsm_opti.c \
		rpeltp.c short_te.c table.c

DEMO_SOURCES = rpedemo.c ../g711/g711.c

SOURCES	=	$(GSM_SOURCES) $(DEMO_SOURCES)


#--------------------------------------------------------------------------
# Object files
GSM_OBJECTS =	add.o code.o debug.o decode.o long_ter.o lpc.o \
		preproce.o rpe.o gsm_dest.o gsm_deco.o gsm_enco.o \
		gsm_expl.o gsm_impl.o gsm_crea.o gsm_prin.o gsm_opti.o \
		rpeltp.o short_te.o table.o gsm.o

DEMO_OBJECTS =	rpedemo.o g711.o

OBJECTS =	 $(GSM_OBJECTS) $(DEMO_OBJECTS)

# ------------------------------------------------
# Implicit rules
# ------------------------------------------------
.c.o:
		$(CC) $(CFLAGS) $?

# ------------------------------------------------
# Generic rules
# ------------------------------------------------
all::		gsm.a rpedemo

gsm.a: $(GSM_OBJECTS)
	ar rcs $@ $(GSM_OBJECTS)

anyway:		clean rpedemo

clean:
	$(RM) $(OBJECTS) rpedemo *.gsm *.gsm.raw gsm.a

cleantest:
	echo No test file processing available in this directory

veryclean: clean
	$(RM) rpedemo

# ------------------------------------------------
# Specific rules
# ------------------------------------------------
g711.o:		../g711/g711.c
		$(CC) $(CFLAGS) -I../g711 ../g711/g711.c
		
rpedemo.o:	rpedemo.c ../g711/g711.h
		$(CC) $(CFLAGS) -I../g711 rpedemo.c
		
rpedemo:	$(OBJECTS)
		$(CC) -o rpedemo $(DEMO_OBJECTS) gsm.a

# ------------------------------------------------
# Run add < add_test.dta to make sure the
# basic arithmetic functions work as intended.
# ------------------------------------------------
add:	add_test.o
	$(CC) $(LFLAGS) -o add add_test.o 

addtst:	add add_test.dta
	add < add_test.dta > /dev/null

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.