view intercom/gsm/makefile.djc @ 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 the MSDOS port of the gcc compiler (DJGPP)
#--------------------------------------------------------------------------
# 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@cpqd.ansp.br 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		= gcc
CCFLAGS 	= -c -O2 -DNeedFunctionPrototypes=1 -I../utl

LD 		= $(CC)
# LDFLAGS 	=
# LDLIB  	=


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


# Tools
RM=rm -f

# Local Directories

ROOT	= ..           ### <---
ADDTST	= $(ROOT)/add-test
TST	= $(ROOT)/tst
MAN	= $(ROOT)/man
BIN	= $(ROOT)/bin
###SRC	= $(ROOT)/ugst ### <---
SRC	= .
LIB	= $(ROOT)/lib
TLS	= $(ROOT)/tls
###INC	= $(ROOT)/inc
INC	= c:\gcc\include

# Flags

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

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

LFLAGS	= $(LDFLAGS) $(LDINC)
######### It's $(LD) $(LFLAGS)


#--------------------------------------------------------------------------
# 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

DEMO_OBJECTS =	rpedemo.o g711.o

OBJECTS =	 $(GSM_OBJECTS) $(DEMO_OBJECTS)

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

# ------------------------------------------------
# Generic rules
# ------------------------------------------------
all::		rpedemo

clean:
	$(RM) $(OBJECTS)

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 $(OBJECTS)

# ------------------------------------------------
# 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.