Skip to content
Snippets Groups Projects
Makefile 3.81 KiB
Newer Older
  • Learn to ignore specific revisions
  • Mark Spencer's avatar
    Mark Spencer committed
    #
    # Asterisk -- A telephony toolkit for Linux.
    # 
    # Makefile for Channel backends (dynamically loaded)
    #
    
    Mark Spencer's avatar
    Mark Spencer committed
    # Copyright (C) 1999, Mark Spencer
    
    Mark Spencer's avatar
    Mark Spencer committed
    #
    # Mark Spencer <markster@linux-support.net>
    #
    # This program is free software, distributed under the terms of
    # the GNU General Public License
    #
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    OSARCH=$(shell uname -s)
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    CHANNEL_LIBS=chan_modem.so chan_iax.so chan_sip.so \
    
    	     chan_modem_aopen.so \
    
    Mark Spencer's avatar
    Mark Spencer committed
                 chan_modem_bestdata.so chan_modem_i4l.so \
    
                 chan_agent.so chan_mgcp.so chan_iax2.so \
    
    Jeremy McNamara's avatar
    Jeremy McNamara committed
    	     chan_local.so chan_skinny.so
    
    Mark Spencer's avatar
    Mark Spencer committed
    #
    # If you really want VoFR you can have it :-P
    #
    #CHANNEL_LIBS+=chan_vofr
    
    
    ifneq (${OSARCH},Darwin)
    CHANNEL_LIBS+=chan_oss.so
    endif
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so)
    
    CHANNEL_LIBS+=$(shell [ -f h323/libchanh323.a ] && echo chan_h323.so)
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=-Wno-missing-prototypes -Wno-missing-declarations
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=$(shell [ ! -f /usr/include/linux/if_wanpipe.h ] && echo " -DOLD_SANGOMA_API")
    
    Mark Spencer's avatar
    Mark Spencer committed
    CHANNEL_LIBS+=$(shell [ -f /usr/include/alsa/asoundlib.h ] && echo "chan_alsa.so")
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=$(shell [ -f /usr/lib/libpri.so.1 ] && echo " -DZAPATA_PRI")
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=$(shell [ -f /usr/lib/libmfcr2.so.1 ] && echo " -DZAPATA_R2")
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=$(shell [ -f alsa-monitor.h ] && echo " -DALSA_MONITOR")
    
    Mark Spencer's avatar
    Mark Spencer committed
    ZAPPRI=$(shell [ -f /usr/lib/libpri.so.1 ] && echo "-lpri")
    
    Mark Spencer's avatar
    Mark Spencer committed
    ZAPR2=$(shell [ -f /usr/lib/libmfcr2.so.1 ] && echo "-lmfcr2")
    
    CFLAGS+=$(shell [ -f /usr/include/linux/zaptel.h ] && echo "-DIAX_TRUNKING")
    
    CHANNEL_LIBS+=$(shell [ -f /usr/include/vpbapi.h ] && echo "chan_vpb.so" )
    
    Mark Spencer's avatar
    Mark Spencer committed
    ALSA_SRC=chan_alsa.c
    ALSA_SRC+=$(shell [ -f alsa-monitor.h ] && echo "alsa-monitor.h")
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=-DCRYPTO
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=-fPIC
    
    ifeq ($(USE_MYSQL_FRIENDS),1)
    CFLAGS+=-DMYSQL_FRIENDS
    endif
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    CFLAGS+=#-DVOFRDUMPER
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    ZAPDIR=/usr/lib
    
    Mark Spencer's avatar
    Mark Spencer committed
    CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/zaptel.h ] && echo "chan_zap.so")
    
    Mark Spencer's avatar
    Mark Spencer committed
    CHANNEL_LIBS+=$(shell [ -f /usr/include/nbs.h ] && echo "chan_nbs.so" )
    
    
    ifndef OPENH323DIR
    OPENH323DIR=$(HOME)/openh323
    endif
    
    ifndef PWLIBDIR
    PWLIBDIR=$(HOME)/pwlib
    endif
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    #CFLAGS+=$(shell [ -f $(ZAPDIR)/libzap.a ] && echo "-I$(ZAPDIR)")
    
    Mark Spencer's avatar
    Mark Spencer committed
    all: depend $(CHANNEL_LIBS) 
    
    Mark Spencer's avatar
    Mark Spencer committed
    
    clean:
    
    Mark Spencer's avatar
    Mark Spencer committed
    	rm -f *.so *.o .depend
    
    Mark Spencer's avatar
    Mark Spencer committed
    	rm -f busy.h ringtone.h gentone gentone-ulaw
    
    Mark Spencer's avatar
    Mark Spencer committed
    
    %.so : %.o
    
    	$(CC) $(SOLINK) -o $@ $<
    
    Mark Spencer's avatar
    Mark Spencer committed
    ifneq ($(wildcard .depend),)
    
    Mark Spencer's avatar
    Mark Spencer committed
    include .depend
    
    Mark Spencer's avatar
    Mark Spencer committed
    endif
    
    Mark Spencer's avatar
    Mark Spencer committed
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    gentone: gentone.c
    	$(CC) -o gentone gentone.c -lm
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    gentone-ulaw: gentone-ulaw.c
    	$(CC) -o gentone-ulaw gentone-ulaw.c -lm
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    busy.h: gentone
    	./gentone busy 480 620
    
    ringtone.h: gentone
    	./gentone ringtone 440 480
    
    chan_oss.o: chan_oss.c  busy.h ringtone.h
    
    Mark Spencer's avatar
    Mark Spencer committed
    ifeq (${OSARCH},OpenBSD)
    chan_oss.so: chan_oss.o
    
    	$(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio
    
    Mark Spencer's avatar
    Mark Spencer committed
    endif
    
    
    chan_iax2.so: chan_iax2.o iax2-parser.o
    
    ifeq ($(USE_MYSQL_FRIENDS),1)
    	$(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o -lmysqlclient -lz
    else
    
    	$(CC) $(SOLINK) -o $@ chan_iax2.o iax2-parser.o
    
    Mark Spencer's avatar
    Mark Spencer committed
    chan_iax.so: chan_iax.o
    ifeq ($(USE_MYSQL_FRIENDS),1)
    	$(CC) $(SOLINK) -o $@ chan_iax.o -lmysqlclient -lz
    else
    	$(CC) $(SOLINK) -o $@ chan_iax.o
    endif
    
    
    chan_zap.o: chan_zap.c
    	$(CC) -c $(CFLAGS) -o chan_zap.o chan_zap.c
    
    Mark Spencer's avatar
    Mark Spencer committed
    chan_zap.so: chan_zap.o
    
    	$(CC) $(SOLINK) -o $@ $<  $(ZAPPRI) $(ZAPR2) -ltonezone
    
    Mark Spencer's avatar
    Mark Spencer committed
    chan_alsa.o: $(ALSA_SRC)
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    chan_alsa.so: chan_alsa.o
    
    	$(CC) $(SOLINK) -o $@ $< -lasound -lm -ldl
    
    Mark Spencer's avatar
    Mark Spencer committed
    chan_nbs.so: chan_nbs.o
    
    	$(CC) $(SOLINK) -o $@ $< -lnbs
    
    chan_vpb.o: chan_vpb.c
    
    	$(CXX) -c $(CFLAGS) -o $@ chan_vpb.c
    
    
    chan_vpb.so: chan_vpb.o
    
    	 $(CXX) $(SOLINK) -o $@ $< -lvpb -lpthread -lm -ldl
    
    chan_h323.so: chan_h323.o h323/libchanh323.a
    
    	$(CC) $(SOLINK) -o $@ $< h323/libchanh323.a -L$(PWLIBDIR)/lib  -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
    
    Mark Spencer's avatar
    Mark Spencer committed
    #chan_modem.so : chan_modem.o
    #	$(CC) -rdynamic -shared -Xlinker -x -o $@ $<
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    install: all
    
    	for x in $(CHANNEL_LIBS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
    
    Mark Spencer's avatar
    Mark Spencer committed
    
    depend: .depend
    
    .depend:
    	../mkdep $(CFLAGS) `ls *.c`