--enable-kbuild option of configure script works now.
authorFrank Mori Hess <fmhess@speakeasy.net>
Mon, 6 Feb 2006 03:21:17 +0000 (03:21 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Mon, 6 Feb 2006 03:21:17 +0000 (03:21 +0000)
comedi/Kbuild
comedi/Makefile.am
comedi/drivers/Kbuild
comedi/drivers/Makefile.am
comedi/drivers/addi-data/Makefile.am
comedi/kcomedilib/Makefile.am
configure.ac

index 2a673d3dfb01d160119790192563fad2a841a314..b744d0408a910e291af6d911734f6a3587216bdf 100644 (file)
@@ -1,8 +1,9 @@
 
+include comedi_kbuild.inc
+
 obj-m += comedi.o
 comedi-y := comedi_fops.o proc.o range.o drivers.o comedi_ksyms.o
-#FIXME: these should be added for rt-enabled kernels
-#comedi-y += rt_pend_tq.o rt.o
+comedi-$(CONFIG_COMEDI_RT) += rt_pend_tq.o rt.o
 
 obj-y += kcomedilib/
 obj-y += drivers/
index 3b146e9f7be2ddc4f57b274e4c51245a5128b370..58ffed1c76741afbf324ce226070de6b364db6fd 100644 (file)
@@ -1,7 +1,20 @@
 
 SUBDIRS = . kcomedilib drivers
 
+if CONFIG_KBUILD
+module_PROGRAMS =
+all-local: comedi_kbuild.inc
+       make -I@abs_builddir@ -C $(LINUX_DIR) M=@abs_builddir@ CC="$(LINUX_CC) -I@abs_top_srcdir@/ -I @abs_top_srcdir@/include" V=1 modules
+install-data-local: comedi_kbuild.inc
+       make -I@abs_builddir@ -C $(LINUX_DIR) M=@abs_builddir@ CC="$(LINUX_CC) -I@abs_top_srcdir@/ -I @abs_top_srcdir@/include" V=1 modules_install
+clean-local: comedi_kbuild.inc
+       make -I@abs_builddir@ -C $(LINUX_DIR) M=@abs_builddir@ CC="$(LINUX_CC) -I@abs_top_srcdir@/ -I @abs_top_srcdir@/include" V=1 clean
+else
 module_PROGRAMS = comedi.ko
+all-local:
+install-data-local:
+clean-local:
+endif
 
 EXTRA_DIST = \
  rt_pend_tq.h
@@ -30,3 +43,15 @@ clean-modulePROGRAMS:
        -test -z "$(module_PROGRAMS)" || rm -f $(module_PROGRAMS)
        -rm -rf .mods
 
+comedi_kbuild.inc: Makefile
+       echo > $@
+if CONFIG_COMEDI_RT
+       echo CONFIG_COMEDI_RT=y >> $@
+       echo CONFIG_COMEDI_RT_MODULES=m >> $@
+endif
+if CONFIG_PCMCIA
+       echo CONFIG_COMEDI_PCMCIA_MODULES=m >> $@
+endif
+if CONFIG_USB
+       echo CONFIG_COMEDI_USB_MODULES=m >> $@
+endif
index 2eea3ce369d734ef5a466aa925fe8f2fbe9baf14..2cff37b34e97e8bd83f6f8a156ef8927c8320591 100644 (file)
@@ -1,30 +1,20 @@
 
-obj-y += addi-data/
+include comedi_kbuild.inc
 
-#FIXME: deal with conditionally compiled rt/pcmcia/usb modules
+obj-y += addi-data/
 
-#if CONFIG_COMEDI_RT
-#rt_modules = comedi_rt_timer.ko
-#endif
+obj-$(CONFIG_COMEDI_RT_MODULES) += comedi_rt_timer.o
 
-#if CONFIG_PCMCIA
-#pcmcia_modules= \
-# cb_das16_cs.ko \
-# das08_cs.ko \
-# ni_daq_dio24.ko \
-# ni_mio_cs.ko \
-# ni_labpc_cs.ko \
-# quatech_daqp_cs.ko
-#endif
+obj-$(CONFIG_COMEDI_PCMCIA_MODULES) += cb_das16_cs.o
+obj-$(CONFIG_COMEDI_PCMCIA_MODULES) += das08_cs.o
+obj-$(CONFIG_COMEDI_PCMCIA_MODULES) += ni_daq_dio24.o
+obj-$(CONFIG_COMEDI_PCMCIA_MODULES) += ni_mio_cs.o
+obj-$(CONFIG_COMEDI_PCMCIA_MODULES) += ni_labpc_cs.o
+obj-$(CONFIG_COMEDI_PCMCIA_MODULES) += quatech_daqp_cs.o
 
-#if CONFIG_USB
-#usb_modules= \
-# usbdux.ko \
-# usbduxfast.ko \
-# dt9812.ko
-#else
-#usb_modules=
-#endif
+obj-$(CONFIG_COMEDI_USB_MODULES) += usbdux.o
+obj-$(CONFIG_COMEDI_USB_MODULES) += usbduxfast.o
+obj-$(CONFIG_COMEDI_USB_MODULES) += dt9812.o
 
 obj-m += 8255.o
 obj-m += amcc_s5933.o
index c32cd8d7844818c9a37067ebc7e7e6fdcd7d7fa9..66bd1ab002c2e602c9a9ca2a421f3f2d8087640b 100644 (file)
@@ -81,6 +81,9 @@ else
 usb_modules=
 endif
 
+if CONFIG_KBUILD
+module_PROGRAMS =
+else !CONFIG_KBUILD
 module_PROGRAMS = \
  8255.ko \
  amcc_s5933.ko \
@@ -163,6 +166,7 @@ module_PROGRAMS = \
  $(pcmcia_modules) \
  $(usb_modules) \
  $(rt_modules)
+endif !CONFIG_KBUILD
 
 8255_ko_SOURCES = 8255.c
 acl7225b_ko_SOURCES = acl7225b.c
index e12b7fbd18bac0f874271aee7413d5358ebc88eb..1105db4e974b054c494a3a6b65c9a646e74e02cb 100644 (file)
@@ -2,7 +2,11 @@
 AM_CFLAGS = $(COMEDI_CFLAGS) $(LINUX_CFLAGS) $(RTAI_CFLAGS) $(RTLINUX_CFLAGS)
 LINK = $(top_builddir)/modtool --link -o $@
 
+if CONFIG_KBUILD
+module_PROGRAMS =
+else
 module_PROGRAMS = addi_common.ko
+endif
 
 addi_common_ko_SOURCES = addi_common.c
 
index aceb23595b8cb3133454508b42432f4a58bce2a8..8ad6a6394a51150dc306dae7533e626e5d6c14d5 100644 (file)
@@ -1,5 +1,9 @@
 
+if CONFIG_KBUILD
+module_PROGRAMS =
+else
 module_PROGRAMS = kcomedilib.ko
+endif
 
 kcomedilib_ko_SOURCES = data.c ksyms.c dio.c kcomedilib_main.c get.c
 kcomedilib_ko_CFLAGS = $(COMEDI_CFLAGS) $(LINUX_CFLAGS) $(RTAI_CFLAGS) $(RTLINUX_CFLAGS)
index dd4870ce8a21cc6d810d9f3e9c4fbc8f61058e86..04335996c439ae03b2f27302043f3c7943b22fd0 100644 (file)
@@ -69,6 +69,7 @@ else
 fi
 AC_ARG_ENABLE([kbuild], [  --enable-kbuild     Build modules using kernel's kbuild system (needs recent 2.6 kernel)],
        [ENABLE_KBUILD=$enableval], [ENABLE_KBUILD="no"])
+AM_CONDITIONAL([CONFIG_KBUILD], [test ${ENABLE_KBUILD} = "yes"])
 AS_LINUX_CONFIG_OPTION_MODULE(CONFIG_ISA)
 AS_LINUX_CONFIG_OPTION_MODULE(CONFIG_PCI)
 AS_LINUX_CONFIG_OPTION_MODULE(CONFIG_USB)