home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / libsane / plustek / Makefile.kernel26 < prev    next >
Encoding:
Makefile  |  2006-07-10  |  2.9 KB  |  125 lines

  1. # Makefile for the plustek scanner driver (kernel-module)
  2. #
  3. ###############################################################################
  4.  
  5. #
  6. # retrieve the version numbers
  7. #
  8. ifeq ($(LINUXVERSION),)
  9.  LINUXVERSION = $(shell uname -r)
  10. endif
  11. LINUXRELEASE = $(shell uname -r | cut -d'.' -f3)
  12.  
  13. ifeq ($(VERSIONSTR),)
  14.  ifeq ($(SUBDIRS),)
  15.   VERSIONSTR = $(shell grep "define BACKEND_VERSION" $(M)/plustek_pp.c | cut -b25-50 )
  16.  else
  17.   VERSIONSTR = $(shell grep "define BACKEND_VERSION" $(SUBDIRS)/plustek_pp.c | cut -b25-50 )
  18.  endif
  19. endif
  20.  
  21. #
  22. # extra flags
  23. #
  24. EXTRA_CFLAGS += -D_PTDRV_VERSTR=\"$(VERSIONSTR)\"
  25.  
  26. ifeq ($(DEBUG),y)
  27.     EXTRA_CFLAGS += -DDEBUG
  28. endif
  29.  
  30. #
  31. # the module name
  32. #
  33. TARGET := pt_drv
  34. MODULE := $(TARGET).ko
  35.  
  36. #
  37. # our files...
  38. #
  39. NAMES := dac detect genericio image map misc models io procfs
  40. NAMES := $(NAMES) motor p9636 ptdrv scale tpa p48xx p12 p12ccd
  41. NAMES := $(addprefix plustek-pp_, $(NAMES))
  42. OBJS  := $(addsuffix .o, $(NAMES))
  43.  
  44. #
  45. # now the kernel magic
  46. #
  47. ifneq ($(KERNELRELEASE),)
  48. obj-m := $(TARGET).o
  49.  
  50. $(TARGET)-objs := $(OBJS)
  51.  
  52. else
  53. KDIR := /lib/modules/$(shell uname -r)/build
  54. PWD  := $(shell pwd)
  55.  
  56. default:
  57.     $(MAKE) -C $(KDIR) M=$(PWD) modules
  58. endif
  59.  
  60. #
  61. # the installation stuff
  62. #
  63. group = "root"
  64. mode  = "644"
  65. INST_DIR = /lib/modules/$(LINUXVERSION)/kernel/drivers/parport
  66.  
  67. #
  68. # copy the driver to the modules directory
  69. #
  70. install:
  71.     mkdir -p $(INST_DIR)
  72.     install -c -m $(mode) $(MODULE) $(INST_DIR)
  73.     /sbin/depmod -a
  74.  
  75. #
  76. #
  77. #
  78. uninstall:
  79.     rm -f $(INST_DIR)/$(MODULE)
  80.  
  81. #
  82. # use modprobe to load the driver, remember to set the
  83. # parameter in /etc/conf.modules (see INSTALL for more details)
  84. #
  85. load:   $(INST_DIR)/$(MODULE)
  86. # invoke modprobe with all arguments we got
  87.     /sbin/modprobe $(TARGET) || exit 1
  88.  
  89. # Remove stale nodes and replace them, then give gid and perms
  90.     rm -f /dev/$(TARGET)*
  91.  
  92. # when using the devfs support, we check the /dev/scanner entries
  93. # and only create links to the devfs nodes
  94. # at least we create one link
  95.     @if [ -e /dev/scanner/$(TARGET)* ]; then                 \
  96.         ln -s /dev/scanner/$(TARGET)0 /dev/$(TARGET);        \
  97.         for name in `ls /dev/scanner | grep $(TARGET)`; do    \
  98.             ln -s /dev/scanner/$$name /dev/$$name ;         \
  99.         done                                                \
  100.     else                                                      \
  101.         mknod /dev/$(TARGET) c `cat /proc/devices | sed -ne "s/\([0-9]*\) pt_drv/\1/p"` 0;  \
  102.         mknod /dev/$(TARGET)0 c `cat /proc/devices | sed -ne "s/\([0-9]*\) pt_drv/\1/p"` 0;    \
  103.         mknod /dev/$(TARGET)1 c `cat /proc/devices | sed -ne "s/\([0-9]*\) pt_drv/\1/p"` 1;    \
  104.         mknod /dev/$(TARGET)2 c `cat /proc/devices | sed -ne "s/\([0-9]*\) pt_drv/\1/p"` 2; \
  105.         mknod /dev/$(TARGET)3 c `cat /proc/devices | sed -ne "s/\([0-9]*\) pt_drv/\1/p"` 3;    \
  106.                                                                                             \
  107.         chgrp $(group) /dev/$(TARGET)*;    \
  108.         chmod $(mode)  /dev/$(TARGET)*;    \
  109.     fi
  110.  
  111. #
  112. # unload the driver
  113. #
  114. unload:
  115.     /sbin/modprobe -r $(TARGET) || exit 1
  116.  
  117. # Remove stale nodes
  118.     rm -f /dev/$(TARGET)*
  119.  
  120. #
  121. # cleanup the show
  122. #
  123. clean:
  124.     @-rm -f *.o .depend depend dep $(MODULE) $(TARGET).o $(TARGET).mod.c .*.cmd
  125.