aboutsummaryrefslogtreecommitdiffstats
path: root/channels/misdn/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'channels/misdn/Makefile')
-rw-r--r--channels/misdn/Makefile69
1 files changed, 48 insertions, 21 deletions
diff --git a/channels/misdn/Makefile b/channels/misdn/Makefile
index 2288bc7d2..e0e18cf85 100644
--- a/channels/misdn/Makefile
+++ b/channels/misdn/Makefile
@@ -5,41 +5,68 @@
#
# Verify those options with main Makefile
-ifndef LINUX
-LINUX=/lib/modules/$(shell uname -r)/build
-endif
-
-CFLAGS += -pipe -c
+CFLAGS += -pipe -c -DMISDNUSER_JOLLY
SOURCES = isdn_lib.c isdn_msg_parser.c
OBJDIR = .
OBJS = isdn_lib.o isdn_msg_parser.o
-ifndef MISDNUSER
-MISDNUSER=/usr/src/install-misdn/mISDNuser
-endif
-
-MISDNCFLAGS += -I$(MISDNUSER)/include -I$(MISDNUSER)/i4lnet -I$(MISDNUSER)/lib
-MISDNCFLAGS += -DMISDNUSER_JOLLY -I$(LINUX)/include
-
-all: chan_misdn_lib.a Makefile.ast
+all: chan_misdn_lib.a
%.o: %.c
- $(CC) $(MISDNCFLAGS) $(CFLAGS) -o $@ $<
-
+ $(CC) $(CFLAGS) -o $@ $<
+
chan_misdn_lib.a: $(OBJS)
ar crv $@ $(OBJS)
-Makefile.ast: FORCE
- @echo CFLAGS+=$(MISDNCFLAGS) -Imisdn/ -DCHAN_MISDN_VERSION=\\\"0.2.0\\\" >$@.tmp
- @echo MISDNUSER = $(MISDNUSER) >>$@.tmp
- @if [ -r $@ ] && cmp -s $@ $@.tmp; then rm -f $@.tmp; else mv -f $@.tmp $@; fi
+misdn: test_preempt
+ if [ ! -d lib ] ; then \
+ mkdir lib; \
+ cd lib ; \
+ wget http://isdn.jolly.de/download/v3.1/mISDN_for_PBX4Linux-3.0.tar.gz ;\
+ tar xzf mISDN_for_PBX4Linux-3.0.tar.gz; \
+ wget http://isdn.jolly.de/download/v3.1/mISDNuser_for_PBX4Linux-3.0.tar.gz ;\
+ tar xzf mISDNuser_for_PBX4Linux-3.0.tar.gz ;\
+ cd mISDN; patch -p1 <../../mISDN.patch; \
+ cd ../mISDNuser ; patch -p1 <../../mISDNuser.patch; \
+ fi
+ cd lib/mISDN ; make install
+ cd lib/mISDNuser ; make install
+LINUX=/lib/modules/$(uname -r)/build
+GCCVERSION=$(shell $(CC) --version | grep GCC | cut -d " " -f 3 | cut -d "." -f 1)
-FORCE:
+test_preempt:
+ @if grep 'CONFIG_DEBUG_SPINLOCK=y' $(LINUX)/.config ; then \
+ echo -e "\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!\nDisable the DEBUG_SPINLOCK Setting in your Kernel Config.\n with this option set, mISDN will not work! \n\n" ;\
+ read ; \
+ exit 1 ; \
+ fi
+ @if grep 'CONFIG_DEBUG_SPINLOCK_SLEEP=y' $(LINUX)/.config ; then \
+ echo -e "\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!\nDisable the DEBUG_SPINLOCK_SLEEP Setting in your Kernel Config.\n with this option set, mISDN will not work! \n\n" ;\
+ read ; \
+ exit 1 ; \
+ fi
+ @if grep 'CONFIG_SMP=y' $(LINUX)/.config ; then \
+ echo -e "\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!\nDisable the SMP Setting in your Kernel Config.\n\n" ; \
+ read ; \
+ exit 1 ; \
+ fi
+ @if test "$(GCCVERSION)" -gt 3 ; then \
+ echo -e "\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!\nYou're using GCC 4! Please downgrade to gcc-3.x and type:\nexport CC=gcc-3.x\nbefore issuing make again.\nyou won't have success with gcc-4!\n\n" ; \
+ read ; \
+ exit 1 ; \
+ fi
+
+FORCE:
+
clean:
- rm *.a *.o Makefile.ast
+ rm -rf *.a *.o *.so
+
+misdn_clean:
+ rm -rf lib
+