###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 20090322
+VERSUFIX=ipfire$(KCFG)
-THISAPP = mISDNuser-$(VER)
-DL_FILE = $(THISAPP).tar.gz
+ifeq "$(KCFG)" "-xen"
+ KVER = "2.6.32.60"
+endif
+
+VER = 20121008
+
+THISAPP = mISDN-$(VER)
+DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
-DIR_APP = $(DIR_SRC)/mISDNuser
-TARGET = $(DIR_INFO)/$(THISAPP)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(VERSUFIX)
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 90d180518d5bcc8157c290275299e8bc
+$(DL_FILE)_MD5 = 7fee0514fd523176b36fca53b02b45cc
+
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP)
- cd $(DIR_SRC) && mkdir mISDNuser
- cd $(DIR_SRC)/mISDNuser && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && make MISDNDIR=/usr/src/linux
- cd $(DIR_APP) && make install MISDNDIR=/usr/src/linux
+ @rm -rf $(DIR_SRC)/mISDN* && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_SRC)/mISDN && patch -Np1 < $(DIR_SRC)/src/patches/mISDN-hfcusb-reportl1down.patch
+ cd $(DIR_SRC)/mISDN && patch -Np1 < $(DIR_SRC)/src/patches/mISDN_hfc-s_add_id.patch
+ifeq "$(MACHINE_TYPE)" "arm"
+ # Remove unsupported timestampcounter on arm. the result seems to be unused
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|rdtscl(pChan->ulTimestampIn);||g" drivers/isdn/mISDN/octvqe/octvqe_linux.c
+endif
+ifeq "$(NOPCI)" "1"
+ # Disable PCI drivers if kernel has no PCI
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_HFCPCI|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_HFCMULTI|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_XHFC|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_AVMFRITZ|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_SPEEDFAX|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_INFINEON|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_W6692|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_NETJET|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_IPAC|#&|g" mISDN.cfg.default
+ cd $(DIR_SRC)/mISDN && sed -i -e "s|^CONFIG_MISDN_ISAR|#&|g" mISDN.cfg.default
+endif
+ cd $(DIR_SRC)/mISDN && ./configure --with-kerneldir=/usr/src/linux
+ cd $(DIR_SRC)/mISDN && make KVERS=$(KVER)-$(VERSUFIX) modules
+ cd $(DIR_SRC)/mISDN && make KVERS=$(KVER)-$(VERSUFIX) \
+ INSTALL_PREFIX=$(DIR_SRC)/mISDN/dest/ \
+ modules_install
+ mv $(DIR_SRC)/mISDN/dest/lib/modules/*/extra \
+ /lib/modules/$(KVER)-$(VERSUFIX)/mISDN
+
+ifneq "$(XEN)" "1"
+ # Blacklist misdn modules
+ for f in $$(find /lib/modules/$(KVER)-$(VERSUFIX)/mISDN -name *.ko); do \
+ echo "blacklist $$(basename $$f)" >> /etc/modprobe.d/mISDN ; \
+ done
+ sed -i -e "s|.ko||g" /etc/modprobe.d/mISDN
+endif
+
+ @rm -rf $(DIR_SRC)/mISDN*
@$(POSTBUILD)
-