1998-12-18 18:39:32 +00:00
|
|
|
# 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
|
|
|
|
|
1999-02-08 19:57:30 +00:00
|
|
|
# The manual dirs and files
|
|
|
|
LIBMAN3DIR := $(MANDIR)/man3
|
|
|
|
LIBMAN3FILES := $(MODULE_DIR)/libsensors.3
|
|
|
|
LIBMAN5DIR := $(MANDIR)/man5
|
|
|
|
LIBMAN5FILES := $(MODULE_DIR)/sensors.conf.5
|
|
|
|
|
1998-12-18 18:39:32 +00:00
|
|
|
# The main and minor version of the library
|
|
|
|
LIBMAINVER := 0
|
1999-01-03 16:21:51 +00:00
|
|
|
LIBMINORVER := 0.1
|
1998-12-18 18:39:32 +00:00
|
|
|
LIBVER := $(LIBMAINVER).$(LIBMINORVER)
|
|
|
|
|
|
|
|
# The static lib name, the shared lib name, and the internal ('so') name of
|
|
|
|
# the shared lib.
|
1998-12-19 00:10:48 +00:00
|
|
|
LIBSHBASENAME := libsensors.so
|
1998-12-18 18:39:32 +00:00
|
|
|
LIBSHLIBNAME := libsensors.so.$(LIBVER)
|
|
|
|
LIBSTLIBNAME := libsensors.a
|
|
|
|
LIBSHSONAME := libsensors.so.$(LIBMAINVER)
|
|
|
|
|
1998-12-21 16:49:11 +00:00
|
|
|
LIBTARGETS := $(MODULE_DIR)/$(LIBSTLIBNAME) $(MODULE_DIR)/$(LIBSHLIBNAME) \
|
|
|
|
$(MODULE_DIR)/$(LIBSHSONAME) $(MODULE_DIR)/$(LIBSHBASENAME)
|
1998-12-18 18:39:32 +00:00
|
|
|
|
1998-12-19 00:10:48 +00:00
|
|
|
LIBCSOURCES := $(MODULE_DIR)/data.c $(MODULE_DIR)/general.c \
|
1998-12-20 16:54:03 +00:00
|
|
|
$(MODULE_DIR)/error.c $(MODULE_DIR)/chips.c \
|
1998-12-20 21:57:39 +00:00
|
|
|
$(MODULE_DIR)/proc.c $(MODULE_DIR)/access.c \
|
|
|
|
$(MODULE_DIR)/init.c
|
1998-12-19 00:10:48 +00:00
|
|
|
LIBOTHEROBJECTS := $(MODULE_DIR)/conf-parse.o $(MODULE_DIR)/conf-lex.o
|
|
|
|
LIBSHOBJECTS := $(LIBCSOURCES:.c=.lo) $(LIBOTHEROBJECTS:.o=.lo)
|
|
|
|
LIBSTOBJECTS := $(LIBCSOURCES:.c=.ao) $(LIBOTHEROBJECTS:.o=.ao)
|
1999-01-03 16:21:51 +00:00
|
|
|
LIBEXTRACLEAN := $(MODULE_DIR)/conf-parse.h $(MODULE_DIR)/libsensors.so*
|
1998-12-18 18:39:32 +00:00
|
|
|
|
1998-12-20 16:54:03 +00:00
|
|
|
LIBHEADERFILES := $(MODULE_DIR)/error.h $(MODULE_DIR)/sensors.h
|
1998-12-18 18:39:32 +00:00
|
|
|
|
|
|
|
# How to create the shared library
|
|
|
|
$(MODULE_DIR)/$(LIBSHLIBNAME): $(LIBSHOBJECTS)
|
1998-12-19 10:36:55 +00:00
|
|
|
$(CC) -shared -Wl,-soname,$(LIBSHSONAME) -o $@ $^ -lc
|
1998-12-18 18:39:32 +00:00
|
|
|
|
1998-12-21 16:49:11 +00:00
|
|
|
$(MODULE_DIR)/$(LIBSHSONAME): $(MODULE_DIR)/$(LIBSHLIBNAME)
|
|
|
|
$(RM) $@
|
|
|
|
$(LN) $(LIBSHLIBNAME) $@
|
|
|
|
|
|
|
|
$(MODULE_DIR)/$(LIBSHBASENAME): $(MODULE_DIR)/$(LIBSHLIBNAME)
|
|
|
|
$(RM) $@
|
|
|
|
$(LN) $(LIBSHLIBNAME) $@
|
|
|
|
|
1998-12-18 18:39:32 +00:00
|
|
|
# And the static library
|
|
|
|
$(MODULE_DIR)/$(LIBSTLIBNAME): $(LIBSTOBJECTS)
|
|
|
|
$(RM) $@
|
|
|
|
$(AR) rcvs $@ $^
|
|
|
|
|
1998-12-19 00:10:48 +00:00
|
|
|
# Depencies for non-C sources
|
|
|
|
$(MODULE_DIR)/conf-lex.c: $(MODULE_DIR)/conf-lex.l $(MODULE_DIR)/general.h \
|
|
|
|
$(MODULE_DIR)/data.h $(MODULE_DIR)/conf-parse.h
|
|
|
|
$(MODULE_DIR)/conf-parse.c: $(MODULE_DIR)/conf-parse.y $(MODULE_DIR)/general.h \
|
|
|
|
$(MODULE_DIR)/data.h
|
|
|
|
$(MODULE_DIR)/conf-parse.h: $(MODULE_DIR)/conf-parse.c
|
|
|
|
|
1998-12-18 18:39:32 +00:00
|
|
|
# Include all dependency files
|
|
|
|
INCLUDEFILES += $(LIBCSOURCES:.c=.ld) $(LIBCSOURCES:.c=.ad)
|
|
|
|
|
|
|
|
all-lib: $(LIBTARGETS)
|
|
|
|
all :: all-lib
|
|
|
|
|
1999-01-13 19:14:38 +00:00
|
|
|
install-lib: all-lib
|
1999-02-08 19:57:30 +00:00
|
|
|
$(MKDIR) $(LIBDIR) $(LIBINCLUDEDIR) $(LIBMAN3DIR) $(LIBMAN5DIR)
|
1998-12-19 10:36:55 +00:00
|
|
|
$(INSTALL) -o root -g root -m 644 $(LIBTARGETS) $(LIBDIR)
|
1998-12-19 00:10:48 +00:00
|
|
|
$(LN) $(LIBSHLIBNAME) $(LIBDIR)/$(LIBSHSONAME)
|
|
|
|
$(LN) $(LIBSHSONAME) $(LIBDIR)/$(LIBSHBASENAME)
|
1998-12-19 10:36:55 +00:00
|
|
|
$(INSTALL) -o root -g root -m 644 $(LIBHEADERFILES) $(LIBINCLUDEDIR)
|
1999-02-08 19:57:30 +00:00
|
|
|
$(INSTALL) -o $(MANOWN) -g $(MANGRP) -m 644 $(LIBMAN3FILES) $(LIBMAN3DIR)
|
|
|
|
$(INSTALL) -o $(MANOWN) -g $(MANGRP) -m 644 $(LIBMAN5FILES) $(LIBMAN5DIR)
|
|
|
|
|
1998-12-18 18:39:32 +00:00
|
|
|
install :: install-lib
|
|
|
|
|
|
|
|
clean-lib:
|
|
|
|
$(RM) $(LIBTARGETS) $(LIBSHOBJECTS) $(LIBSTOBJECTS)
|
|
|
|
$(RM) $(LIBSHOBJECTS:.lo=.ld) $(LIBSTOBJECTS:.ao=.ad)
|
1998-12-20 16:54:03 +00:00
|
|
|
$(RM) $(LIBOTHEROBJECTS:.o=.c) $(LIBEXTRACLEAN)
|
1998-12-18 18:39:32 +00:00
|
|
|
clean :: clean-lib
|