#
# The following line tells the makefile where to install the module, 
# if necessary, please edit it 
#
INSTALL_MODPATH=/usr/lib/asterisk/modules

#
# The following line tells the makefile where to find the asterisk src, so 
# please edit this one if necessary 
#
ASTERISKSRC=/usr/src/asterisk

#
# The following line tells the makefile where to put in the configfile 
# of this module
#
AST_CONFIG_DIR=/etc/asterisk/

#
# The Includes are Set appropriatly
#
ASTERISKINC=$(ASTERISKSRC)/include


#
# mISDNuser PATHS
#
MISDNUSER=/usr/src/mISDNuser
MISDNUSERINC=$(MISDNUSER)/include
MISDNUSERLIB=$(MISDNUSER)/lib


#
# ASTERISK Version
# If you are using a asterisk version above from stable (v1-0)
# then comment the following line out (good luck)
#
CFLAGS+=-DASTERISK_STABLE




#
# Linux Includes (must be patched with mISDN!)
#
LINUXINC=/usr/src/linux-2.6/include

CFLAGS+=-ggdb -Wall -D_GNU_SOURCE
CFLAGS+=-Wno-missing-prototypes -Wno-missing-declarations
CFLAGS+=-fPIC


all: chan_misdn.so

CFLAGS+=-fPIC -I$(ASTERISKINC) -DAST_CONFIG_DIR=\"$(AST_CONFIG_DIR)\" -I$(MISDNUSERINC) -I$(LINUXINC) -I$(MISDNUSER)/i4lnet/ -Wall
ADDOBJS+=$(MISDNUSER)/i4lnet/libisdnnet.a $(MISDNUSER)/lib/libmISDN.a

chan_misdn.so: chan_misdn.o te_lib.o $(ADDOBJS)
	$(CC) -shared -Xlinker -x -o $@ te_lib.o chan_misdn.o $(ADDOBJS) 

testphone:  testphone.c
	$(CC) -I$(MISDNUSERINC) -I$(MISDNUSER)/i4lnet/ -I$(LINUXINC)  testphone.c $(MISDNUSERLIB)/libmISDN.a -o testphone

install: chan_misdn.so
	install -m 644 chan_misdn.so $(INSTALL_MODPATH)/
	if [ ! -f $(AST_CONFIG_DIR)/misdn.conf ] ; then cp misdn.conf $(AST_CONFIG_DIR)/; fi
	@echo 
	@echo INSTALLATION SUCCEEDED

#tmp: 
#	./sed_make_ies MSGS.DATA > ies_data.c
#	./sed_make_msgs MSGS.DATA > msgs_data.c

te_lib.o: te_lib.c te_lib.h isdn_msg.c isdn_msg_parser.c
	$(CC) -I$(MISDNUSERINC) -I$(MISDNUSER)/i4lnet/ -I$(LINUXINC)  -ggdb -c te_lib.c
te_test.o: te_test.c
	$(CC) -I$(MISDNUSERINC) -I$(MISDNUSER)/i4lnet/ -I$(LINUXINC)  -ggdb -c te_test.c

te_test: te_lib.o te_test.o
	$(CC) -I$(MISDNUSERINC) -I$(MISDNUSER)/i4lnet/ -I$(LINUXINC) te_lib.o te_test.o $(MISDNUSERLIB)/libmISDN.a $(MISDNUSER)/i4lnet/libisdnnet.a -lpthread -ggdb -o te_test
#$(MISDNUSERLIB)/libmISDN.a 

clean: 
	rm -rf *.o *.so *~ te_test
