2
0
mirror of https://github.com/lm-sensors/lm-sensors synced 2025-08-23 18:38:04 +00:00
lm-sensors/prog/dump/Module.mk

64 lines
2.6 KiB
Makefile
Raw Normal View History

# Module.mk - Makefile for a Linux module for reading sensor data.
# Copyright (c) 1998, 1999 Frodo Looijaard <frodol@dds.nl>
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA.
# Note that MODULE_DIR (the directory in which this file resides) is a
# 'simply expanded variable'. That means that its value is substituted
# verbatim in the rules, until it is redefined.
MODULE_DIR := prog/dump
PROGDUMPDIR := $(MODULE_DIR)
PROGDUMPMAN8DIR := $(MANDIR)/man8
PROGDUMPMAN8FILES := $(MODULE_DIR)/isadump.8 $(MODULE_DIR)/isaset.8
# Regrettably, even 'simply expanded variables' will not put their currently
# defined value verbatim into the command-list of rules...
PROGDUMPTARGETS := $(MODULE_DIR)/isadump $(MODULE_DIR)/isaset
PROGDUMPSOURCES := $(MODULE_DIR)/util.c $(MODULE_DIR)/isadump.c \
$(MODULE_DIR)/isaset.c $(MODULE_DIR)/superio.c
PROGDUMPBININSTALL := $(MODULE_DIR)/isadump $(MODULE_DIR)/isaset
# Include all dependency files. We use '.rd' to indicate this will create
# executables.
INCLUDEFILES += $(PROGDUMPSOURCES:.c=.rd)
REMOVEDUMPBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(SBINDIR)/%,$(PROGDUMPBININSTALL))
REMOVEDUMPMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGDUMPMAN8DIR)/%,$(PROGDUMPMAN8FILES))
all-prog-dump: $(PROGDUMPTARGETS)
user :: all-prog-dump
$(MODULE_DIR)/isadump: $(MODULE_DIR)/isadump.ro $(MODULE_DIR)/superio.ro $(MODULE_DIR)/util.ro
$(CC) $(EXLDFLAGS) -o $@ $^
$(MODULE_DIR)/isaset: $(MODULE_DIR)/isaset.ro $(MODULE_DIR)/util.ro
$(CC) $(EXLDFLAGS) -o $@ $^
install-prog-dump: all-prog-dump
$(MKDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(PROGDUMPMAN8DIR)
remove -o and -g args to install Date: Thu, 18 Dec 2003 22:42:36 +0100 From: Haakon Riiser <haakon.riiser@fys.uio.no> To: sensors@Stimpy.netroedge.com Subject: lm_sensors 2.8.2 / DESTDIR / root The reason for this email is that I always try to avoid running Makefiles as root, even during 'make install'. Therefore, I always use the DESTDIR feature, when it's available. Until today, I always built i2c and lm_sensors by doing $ make $ make -i install DESTDIR=/foo $ cd /foo && su root && fix permissions/ownership && install The -i flag to make install is a kludge to avoid having to be root while installing to the DESTDIR, and it's only required because the files are installed with "-o root -g root". Using the -i flag is of course not a good idea, since more fatal errors can easily fly by undetected. Today, I upgraded to Linux 2.6.0, and tried a similar install procedure for lm_sensors, except that the make target is now "user" and the install target is "user_install". I now noticed that the DESTDIR variable is not used everywhere in "user_install", so I couldn't use the -i kludge anymore. Instead, I wrote a patch that removes the "-o root -g root" arguments to install everywhere, and I also tried to add DESTDIR to all files/directories installed. (The patch only applies to lm_sensors, not i2c, since only lm_sensors is required in Linux 2.6.0.) There's really no reason to say -o root -g root anyway, since if you do install directly with make install, you have to be logged in as root, and then the files will get the right ownership by default. Much of the point of installing to a temporary DESTDIR is that you don't have to be root, and that you can prepare the installation by hand. Fixing the ownership is trivial: chown -R root.root $DESTDIR git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2189 7894878c-1315-0410-8ee3-d5d059ff63e0
2003-12-23 23:13:38 +00:00
$(INSTALL) -m 755 $(PROGDUMPBININSTALL) $(DESTDIR)$(SBINDIR)
$(INSTALL) -m 644 $(PROGDUMPMAN8FILES) $(DESTDIR)$(PROGDUMPMAN8DIR)
user_install :: install-prog-dump
user_uninstall::
$(RM) $(REMOVEDUMPBIN)
$(RM) $(REMOVEDUMPMAN)
clean-prog-dump:
$(RM) $(PROGDUMPDIR)/*.rd $(PROGDUMPDIR)/*.ro $(PROGDUMPTARGETS)
clean :: clean-prog-dump