Update DEP-5 uri
[debian/omnibook.git] / Makefile
1 #
2 # Makefile -- makefile for the HP OmniBook support module
3 #
4 # This program is free software; you can redistribute it and/or modify it
5 # under the terms of the GNU General Public License as published by the
6 # Free Software Foundation; either version 2, or (at your option) any
7 # later version.
8 #
9 # This program is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # General Public License for more details.
13 #
14 # Written by Soós Péter <sp@osb.hu>, 2002-2004
15 # Modified by Mathieu Bérard <mathieu.berard@crans.org>, 2006-2007
16 #
17
18 #Module informations
19
20 MODULE_NAME = omnibook
21 MODULE_VERSION = 2.20090707
22 MODULE_BRANCH = trunk
23
24 # Out-of-tree configuration
25 ifndef CONFIG_OMNIBOOK
26 OMNIBOOK_STANDALONE=y
27 CONFIG_OMNIBOOK=m
28
29 #Uncomment and set to force debug behavior
30 #NOTE:  Default (commented) behavior is to enable debug in trunk or branch svn 
31 #       snapshot and to disable it for release
32 #OMNIBOOK_WANT_DEBUG=n
33
34 #comment to disable backlight device support
35 OMNIBOOK_WANT_BACKLIGHT=y
36
37 #Uncomment to force legacy (pre-ACPI system) features support
38 #OMNIBOOK_WANT_LEGACY=y
39
40 endif
41
42 ifeq ($(KERNELRELEASE),)
43 # Support for direct Makefile invocation
44
45 DESTDIR = 
46 MODDIR  = $(DESTDIR)/lib/modules
47 KVERS   = $(shell uname -r)
48 KVER    = $(KVERS)
49 VMODDIR = $(MODDIR)/$(KVER)
50 INSTDIR = extra
51 #KSRC   = /usr/src/linux
52 KSRC    = $(VMODDIR)/build
53 KMODDIR = $(KSRC)/drivers/misc/omnibook
54 KDOCDIR = $(KSRC)/Documentation/omnibook
55 PWD     = $(shell pwd)
56 TODAY   = $(shell date +%Y%m%d)
57 DEPMOD  = /sbin/depmod -aq
58 RMMOD   = /sbin/modprobe -r
59 INSMOD  = /sbin/modprobe
60 INSTALL = install -m 644
61 MKDIR   = mkdir -p
62 RM      = rm -f
63 FIND    = find
64
65 all:             $(MODULE_NAME).ko
66
67 clean:
68                 make -C $(KSRC) M=$(PWD) clean
69                 $(RM) -r *~ "#*#" .swp
70                 $(RM) -r debian/omnibook-source *-stamp
71                 $(RM) -r Module.symvers Modules.symvers
72
73 install:        all
74                 # Removing module from locations used by previous versions
75                 $(RM) $(VMODDIR)/kernel/drivers/char/$(MODULE_NAME).ko
76                 $(RM) $(VMODDIR)/kernel/drivers/misc/$(MODULE_NAME).ko
77                 make INSTALL_MOD_PATH=$(DESTDIR) INSTALL_MOD_DIR=$(INSTDIR) -C $(KSRC) M=$(PWD) modules_install
78
79 unload:
80                 $(RMMOD) $(MODULE_NAME) || :
81
82 load:           install unload
83                 $(DEPMOD)
84                 $(INSMOD) $(MODULE_NAME)
85
86 uninstall:      unload
87                 $(FIND) $(VMODDIR) -name "$(MODULE_NAME).ko" -exec $(RM) {} \;
88                 $(DEPMOD)
89
90 $(MODULE_NAME).ko:
91                 $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
92
93 kinstall:
94                 $(RM) -r $(KMODDIR)
95                 $(MKDIR) $(KMODDIR)
96                 $(INSTALL) *.h *.c sections.lds $(KMODDIR)
97                 $(MKDIR) $(KDOCDIR)
98                 $(INSTALL) doc/README $(KDOCDIR)
99                 
100 kpatch:         kinstall
101                 (cd $(KSRC); patch -p1 < $(PWD)/misc/omnibook-integration.patch)
102
103 version:        
104                 sed -i "s|^\(MODULE_VERSION = \).*|\1 2.$(TODAY)|" Makefile
105                 sed -i "s|^\(MODULE_BRANCH = \).*|\1 release|" Makefile
106                 sed -i "s|^\(2\.\)X\{8\}|\1$(TODAY)|" doc/ChangeLog
107                 
108
109 release:        clean version
110                 mkdir -p ../$(MODULE_NAME)-2.$(TODAY)
111                 cp -a *.h *.c *.lds Makefile doc misc ../$(MODULE_NAME)-2.$(TODAY)
112                 rm -f ../$(MODULE_NAME)-2.$(TODAY).tar ../$(MODULE_NAME)-2.$(TODAY).tar.gz
113                 (cd ..; tar cvf $(MODULE_NAME)-2.$(TODAY).tar $(MODULE_NAME)-2.$(TODAY); gzip -9 $(MODULE_NAME)-2.$(TODAY).tar)
114
115 else
116 # Support for kernel build system invocation
117
118 ifneq ($(MODULE_BRANCH), release)
119 EXTRA_CFLAGS += -DOMNIBOOK_MODULE_VERSION='"$(MODULE_VERSION)-$(MODULE_BRANCH)"'
120 else
121 EXTRA_CFLAGS += -DOMNIBOOK_MODULE_VERSION='"$(MODULE_VERSION)"'
122 endif
123
124 ifeq ($(OMNIBOOK_STANDALONE),y)
125
126 ifeq ($(OMNIBOOK_WANT_BACKLIGHT),y)
127 ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
128 # we support backlight interface only after 2.6.16
129 ifeq ($(shell if [ $(SUBLEVEL) -gt 16 ] ; then echo -n 'y'; fi),y)
130 EXTRA_CFLAGS += -DCONFIG_OMNIBOOK_BACKLIGHT
131 else
132 $(warning "Backlight support in only supported for kernel version newer than 2.6.16")
133 $(warning "Disabling backlight sysfs interface")
134 endif
135 endif
136 endif
137
138 ifeq ($(OMNIBOOK_WANT_LEGACY),y)
139 EXTRA_CFLAGS += -DCONFIG_OMNIBOOK_LEGACY
140 endif
141
142 ifndef CONFIG_ACPI_EC
143 EXTRA_CFLAGS += -DCONFIG_OMNIBOOK_LEGACY
144 endif
145
146 ifneq ($(MODULE_BRANCH), release)
147 ifneq ($(OMNIBOOK_WANT_DEBUG),n)        
148 EXTRA_CFLAGS += -DCONFIG_OMNIBOOK_DEBUG # -Wa -g0
149 endif
150 else
151 ifeq ($(OMNIBOOK_WANT_DEBUG),y) 
152 EXTRA_CFLAGS += -DCONFIG_OMNIBOOK_DEBUG # -Wa -g0
153 endif
154
155 endif
156
157 endif
158
159 EXTRA_CFLAGS += -DOMNIBOOK_MODULE_NAME='"$(MODULE_NAME)"'
160 EXTRA_LDFLAGS +=  $(src)/sections.lds
161
162 obj-$(CONFIG_OMNIBOOK) += $(MODULE_NAME).o
163 omnibook-objs := init.o lib.o ec.o kbc.o pio.o compal.o acpi.o nbsmi.o \
164           ac.o battery.o blank.o bluetooth.o cooling.o display.o dock.o \
165           dump.o fan.o fan_policy.o hotkeys.o info.o lcd.o muteled.o \
166           polling.o temperature.o touchpad.o wireless.o throttling.o 
167
168 endif # End of kernel build system part
169
170 # End of file