root/lm-sensors/trunk/kernel/chips/Module.mk @ 575

Revision 575, 3.1 KB (checked in by frodo, 15 years ago)

Makefile changes for better behaviour with already patched kernels.

The Makefile now examine $(LINUX)/.config to see what modules need to be
compiled. It compiles only those modules which were either not configured
in at all, or were built as modules (ie. drivers which are built-in in the
kernel are not built, as they can not be overruled).

The above is still potentially dangerous, if we break the interface of
our modules. Still, it is much better than it was.
C

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1#  Module.mk - Makefile for a Linux module for reading sensor data.
2#  Copyright (c) 1998, 1999  Frodo Looijaard <frodol@dds.nl>
3#
4#  This program is free software; you can redistribute it and/or modify
5#  it under the terms of the GNU General Public License as published by
6#  the Free Software Foundation; either version 2 of the License, or
7#  (at your option) any later version.
8#
9#  This program is distributed in the hope that it will be useful,
10#  but WITHOUT ANY WARRANTY; without even the implied warranty of
11#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12#  GNU General Public License for more details.
13#
14#  You should have received a copy of the GNU General Public License
15#  along with this program; if not, write to the Free Software
16#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18# Note that MODULE_DIR (the directory in which this file resides) is a
19# 'simply expanded variable'. That means that its value is substituted
20# verbatim in the rules, until it is redefined.
21MODULE_DIR := kernel/chips
22
23# Regrettably, even 'simply expanded variables' will not put their currently
24# defined value verbatim into the command-list of rules...
25KERNELCHIPSTARGETS := $(MODULE_DIR)/bt869.o $(MODULE_DIR)/gl520sm.o \
26                      $(MODULE_DIR)/matorb.o $(MODULE_DIR)/maxilife.o \
27                      $(MODULE_DIR)/thmc50.o
28ifneq ($(shell if grep -q '^CONFIG_SENSORS_ADM1021=y' $(LINUX)/.config; then echo 1; fi),1)
29KERNELCHIPSTARGETS += $(MODULE_DIR)/adm1021.o
30endif
31ifneq ($(shell if grep -q '^CONFIG_SENSORS_ADM9240=y' $(LINUX)/.config; then echo 1; fi),1)
32KERNELCHIPSTARGETS += $(MODULE_DIR)/adm9240.o
33endif
34ifneq ($(shell if grep -q '^CONFIG_SENSORS_EEPROM=y' $(LINUX)/.config; then echo 1; fi),1)
35KERNELCHIPSTARGETS += $(MODULE_DIR)/eeprom.o
36endif
37ifneq ($(shell if grep -q '^CONFIG_SENSORS_GL518SM=y' $(LINUX)/.config; then echo 1; fi),1)
38KERNELCHIPSTARGETS += $(MODULE_DIR)/gl518sm.o
39endif
40ifneq ($(shell if grep -q '^CONFIG_SENSORS_LM75=y' $(LINUX)/.config; then echo 1; fi),1)
41KERNELCHIPSTARGETS += $(MODULE_DIR)/lm75.o
42endif
43ifneq ($(shell if grep -q '^CONFIG_SENSORS_LM78=y' $(LINUX)/.config; then echo 1; fi),1)
44KERNELCHIPSTARGETS += $(MODULE_DIR)/lm78.o
45endif
46ifneq ($(shell if grep -q '^CONFIG_SENSORS_LM80=y' $(LINUX)/.config; then echo 1; fi),1)
47KERNELCHIPSTARGETS += $(MODULE_DIR)/lm80.o
48endif
49ifneq ($(shell if grep -q '^CONFIG_SENSORS_LTC1710=y' $(LINUX)/.config; then echo 1; fi),1)
50KERNELCHIPSTARGETS += $(MODULE_DIR)/ltc1710.o
51endif
52ifneq ($(shell if grep -q '^CONFIG_SENSORS_SIS5595=y' $(LINUX)/.config; then echo 1; fi),1)
53KERNELCHIPSTARGETS += $(MODULE_DIR)/sis5595.o
54endif
55ifneq ($(shell if grep -q '^CONFIG_SENSORS_W83781D=y' $(LINUX)/.config; then echo 1; fi),1)
56KERNELCHIPSTARGETS += $(MODULE_DIR)/w83781d.o
57endif
58
59# Include all dependency files
60INCLUDEFILES += $(KERNELCHIPSTARGETS:.o=.d)
61
62all-kernel-chips: $(KERNELCHIPSTARGETS)
63all :: all-kernel-chips
64
65install-kernel-chips: all-kernel-chips
66        $(MKDIR) $(MODDIR) 
67        $(INSTALL) -o root -g root -m 644 $(KERNELCHIPSTARGETS) $(MODDIR)
68install :: install-kernel-chips
69
70clean-kernel-chips:
71        $(RM) $(KERNELCHIPSTARGETS) $(KERNELCHIPSTARGETS:.o=.d)
72clean :: clean-kernel-chips
Note: See TracBrowser for help on using the browser.