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:
Frodo Looijaard committed 1998-12-18 18:39:32 +00:00
1 parent 14116cf7fa
commit 52696a8d2d
5 files changed
+81 -8

No files matched your search

+8 -5
View File
@@ -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
View File
@@ -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
View File
@@ -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
+66
View File
@@ -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
View File
@@ -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