mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-01 13:20:30 +00:00
More Makefile stuff
* Added lib directory; the library will live here * Added Makefile fragment in the lib dir * Modified README.directories to include the new dir * Added lib directory to the fragments the Makefile uses git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@90 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
14116cf7fa
commit
52696a8d2d
5 files changed
+81
-8
No files matched your search
@@ -95,7 +95,7 @@ LIBINCLUDEDIR := $(INCLUDEDIR)/sensors
|
||||
# to do this.
|
||||
|
||||
# The subdirectories we need to build things in
|
||||
SRCDIRS := src
|
||||
SRCDIRS := src lib
|
||||
ifeq ($(I2C),1)
|
||||
SRCDIRS += i2c i2c/detect i2c/drivers i2c/eeprom
|
||||
endif
|
||||
@@ -104,13 +104,16 @@ endif
|
||||
MKDIR := mkdir -p
|
||||
RM := rm -f
|
||||
CC := gcc
|
||||
BISON := bison
|
||||
FLEX := flex
|
||||
AR := ar
|
||||
|
||||
# Determine the default compiler flags
|
||||
# MODCFLAGS is to create in-kernel object files (modules); PROGFLAGS is to
|
||||
# create non-kernel object files (which are linked into executables).
|
||||
# ARCFLAGS are used to create archive object files (static libraries), and
|
||||
# LIBCFLAGS are for shared library objects.
|
||||
CFLAGS := -I. -Ii2c -O2 -D LM_SENSORS
|
||||
CFLAGS := -I. -Ii2c -O2 -DLM_SENSORS
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
CFLAGS += -DDEBUG
|
||||
@@ -208,6 +211,9 @@ version:
|
||||
sed -e 's@^\(.*\)\.o:@$*.rd $*.ro Makefile '`dirname $*.rd`/Module.mk':@' > $@
|
||||
|
||||
|
||||
%: %.ro
|
||||
$(CC) $(EXLDFLAGS) -o $@ $^
|
||||
|
||||
|
||||
# .ao files are used for static archives
|
||||
%.ao: %.c
|
||||
@@ -226,9 +232,6 @@ version:
|
||||
$(CC) -M -MG $(LIBCFLAGS) $< | \
|
||||
sed -e 's@^\(.*\)\.o:@$*.ld $*.lo Makefile '`dirname $*.ld`/Module.mk':@' > $@
|
||||
|
||||
%: %.ro
|
||||
$(CC) $(EXLDFLAGS) -o $@ $^
|
||||
|
||||
|
||||
# Flex and Bison
|
||||
%c: %y
|
||||
|
||||
+5
-1
@@ -11,4 +11,8 @@ The directories within this package:
|
||||
Simon Vogl's i2c module, including any necessary patches, excluding any
|
||||
files which are removed by 'make clean'.
|
||||
* src
|
||||
Our own code.
|
||||
Our own module code.
|
||||
* lib
|
||||
The user-space sensors support library code
|
||||
* prog
|
||||
Several supporting programs, some of them use the library, some do not.
|
||||
+1
-1
@@ -26,7 +26,7 @@ SRCTARGETS := $(MODULE_DIR)/smbus.o $(MODULE_DIR)/piix4.o $(MODULE_DIR)/isa.o \
|
||||
$(MODULE_DIR)/lm78.o $(MODULE_DIR)/sensors.o \
|
||||
$(MODULE_DIR)/i2c-proc.o $(MODULE_DIR)/lm75.o \
|
||||
$(MODULE_DIR)/i2c-proc.o $(MODULE_DIR)/gl518sm.o \
|
||||
$(MODULE_DIR)/eeprom.o $(MODULE_DIR)/w83781d.o
|
||||
$(MODULE_DIR)/eeprom.o $(MODULE_DIR)/w83781d.o
|
||||
|
||||
SRCHEADERFILES := $(MODULE_DIR)/sensors.h $(MODULE_DIR)/isa.h \
|
||||
$(MODULE_DIR)/smbus.h
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# Module.mk - Makefile for a Linux module for reading sensor data.
|
||||
# Copyright (c) 1998 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., 675 Mass Ave, Cambridge, MA 02139, 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 := lib
|
||||
|
||||
# The main and minor version of the library
|
||||
LIBMAINVER := 0
|
||||
LIBMINORVER := 0.0
|
||||
LIBVER := $(LIBMAINVER).$(LIBMINORVER)
|
||||
|
||||
# The static lib name, the shared lib name, and the internal ('so') name of
|
||||
# the shared lib.
|
||||
LIBSHLIBNAME := libsensors.so.$(LIBVER)
|
||||
LIBSTLIBNAME := libsensors.a
|
||||
LIBSHSONAME := libsensors.so.$(LIBMAINVER)
|
||||
|
||||
LIBTARGETS := $(MODULE_DIR)/$(LIBSTLIBNAME) $(MODULE_DIR)/$(LIBSHLIBNAME)
|
||||
|
||||
LIBCSOURCES :=
|
||||
LIBSHOBJECTS := $(LIBCSOURCES:.c=.lo)
|
||||
LIBSTOBJECTS := $(LIBCSOURCES:.c=.ao)
|
||||
|
||||
LIBHEADERFILES :=
|
||||
|
||||
# How to create the shared library
|
||||
$(MODULE_DIR)/$(LIBSHLIBNAME): $(LIBSHOBJECTS)
|
||||
$(CC) -shared -Wl,-soname,$(LIBSONAME) -o $@ $< -lc
|
||||
|
||||
# And the static library
|
||||
$(MODULE_DIR)/$(LIBSTLIBNAME): $(LIBSTOBJECTS)
|
||||
$(RM) $@
|
||||
$(AR) rcvs $@ $^
|
||||
|
||||
# Include all dependency files
|
||||
INCLUDEFILES += $(LIBCSOURCES:.c=.ld) $(LIBCSOURCES:.c=.ad)
|
||||
|
||||
all-lib: $(LIBTARGETS)
|
||||
all :: all-lib
|
||||
|
||||
install-lib:
|
||||
$(MKDIR) $(LIBDIR) $(LIBINCLUDEDIR)
|
||||
install -o root -g root -m 644 $(LIBTARGETS) $(LIBDIR)
|
||||
install -o root -g root -m 644 $(LIBHEADERFILES) $(LIBINCLUDEDIR)
|
||||
install :: install-lib
|
||||
|
||||
clean-lib:
|
||||
$(RM) $(LIBTARGETS) $(LIBSHOBJECTS) $(LIBSTOBJECTS)
|
||||
$(RM) $(LIBSHOBJECTS:.lo=.ld) $(LIBSTOBJECTS:.ao=.ad)
|
||||
clean :: clean-lib
|
||||
+1
-1
@@ -26,7 +26,7 @@ SRCTARGETS := $(MODULE_DIR)/smbus.o $(MODULE_DIR)/piix4.o $(MODULE_DIR)/isa.o \
|
||||
$(MODULE_DIR)/lm78.o $(MODULE_DIR)/sensors.o \
|
||||
$(MODULE_DIR)/i2c-proc.o $(MODULE_DIR)/lm75.o \
|
||||
$(MODULE_DIR)/i2c-proc.o $(MODULE_DIR)/gl518sm.o \
|
||||
$(MODULE_DIR)/eeprom.o $(MODULE_DIR)/w83781d.o
|
||||
$(MODULE_DIR)/eeprom.o $(MODULE_DIR)/w83781d.o
|
||||
|
||||
SRCHEADERFILES := $(MODULE_DIR)/sensors.h $(MODULE_DIR)/isa.h \
|
||||
$(MODULE_DIR)/smbus.h
|
||||
|
||||
Reference in new issue
Block a user