1*4882a593SmuzhiyunAdd support for static only build 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunThis patch adds support for a BUILD_SHARED_LIB variable that allows to 4*4882a593Smuzhiyunenable/disable the build of the shared library, in order to support 5*4882a593Smuzhiyunstatic-only builds. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunSigned-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunIndex: b/Makefile 10*4882a593Smuzhiyun=================================================================== 11*4882a593Smuzhiyun--- a/Makefile 12*4882a593Smuzhiyun+++ b/Makefile 13*4882a593Smuzhiyun@@ -85,6 +85,9 @@ 14*4882a593Smuzhiyun # Build and install static library 15*4882a593Smuzhiyun BUILD_STATIC_LIB := 1 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun+# Build and install shared library 18*4882a593Smuzhiyun+BUILD_SHARED_LIB := 1 19*4882a593Smuzhiyun+ 20*4882a593Smuzhiyun # Set these to add preprocessor or compiler flags, or use 21*4882a593Smuzhiyun # environment variables 22*4882a593Smuzhiyun # CFLAGS := 23*4882a593SmuzhiyunIndex: b/lib/Module.mk 24*4882a593Smuzhiyun=================================================================== 25*4882a593Smuzhiyun--- a/lib/Module.mk 26*4882a593Smuzhiyun+++ b/lib/Module.mk 27*4882a593Smuzhiyun@@ -43,8 +43,14 @@ 28*4882a593Smuzhiyun LIBSTLIBNAME := libsensors.a 29*4882a593Smuzhiyun LIBSHSONAME := libsensors.so.$(LIBMAINVER) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun+ifeq ($(BUILD_SHARED_LIB),1) 32*4882a593Smuzhiyun LIBTARGETS := $(MODULE_DIR)/$(LIBSHLIBNAME) \ 33*4882a593Smuzhiyun $(MODULE_DIR)/$(LIBSHSONAME) $(MODULE_DIR)/$(LIBSHBASENAME) 34*4882a593Smuzhiyun+LIBDEP_FOR_PROGS := $(LIBSHBASENAME) 35*4882a593Smuzhiyun+else 36*4882a593Smuzhiyun+LIBDEP_FOR_PROGS := $(LIBSTLIBNAME) 37*4882a593Smuzhiyun+endif 38*4882a593Smuzhiyun+ 39*4882a593Smuzhiyun ifeq ($(BUILD_STATIC_LIB),1) 40*4882a593Smuzhiyun LIBTARGETS += $(MODULE_DIR)/$(LIBSTLIBNAME) 41*4882a593Smuzhiyun endif 42*4882a593Smuzhiyun@@ -131,9 +137,11 @@ 43*4882a593Smuzhiyun ifeq ($(BUILD_STATIC_LIB),1) 44*4882a593Smuzhiyun $(INSTALL) -m 644 $(LIB_DIR)/$(LIBSTLIBNAME) $(DESTDIR)$(LIBDIR) 45*4882a593Smuzhiyun endif 46*4882a593Smuzhiyun+ifeq ($(BUILD_SHARED_LIB),1) 47*4882a593Smuzhiyun $(INSTALL) -m 755 $(LIB_DIR)/$(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR) 48*4882a593Smuzhiyun $(LN) $(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBSHSONAME) 49*4882a593Smuzhiyun $(LN) $(LIBSHSONAME) $(DESTDIR)$(LIBDIR)/$(LIBSHBASENAME) 50*4882a593Smuzhiyun+endif 51*4882a593Smuzhiyun @if [ -z "$(DESTDIR)" -a "$(LIBDIR)" != "/usr/lib" -a "$(LIBDIR)" != "/lib" ] ; then \ 52*4882a593Smuzhiyun if [ -e "/usr/lib/$(LIBSHSONAME)" -o -e "/usr/lib/$(LIBSHBASENAME)" ] ; then \ 53*4882a593Smuzhiyun echo '******************************************************************************' ; \ 54*4882a593SmuzhiyunIndex: b/prog/sensord/Module.mk 55*4882a593Smuzhiyun=================================================================== 56*4882a593Smuzhiyun--- a/prog/sensord/Module.mk 57*4882a593Smuzhiyun+++ b/prog/sensord/Module.mk 58*4882a593Smuzhiyun@@ -41,7 +41,7 @@ 59*4882a593Smuzhiyun REMOVESENSORDBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(SBINDIR)/%,$(PROGSENSORDTARGETS)) 60*4882a593Smuzhiyun REMOVESENSORDMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORDMAN8DIR)/%,$(PROGSENSORDMAN8FILES)) 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun-$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBSHBASENAME) 63*4882a593Smuzhiyun+$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) 64*4882a593Smuzhiyun $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORDSOURCES:.c=.ro) -Llib -lsensors -lrrd 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun all-prog-sensord: $(PROGSENSORDTARGETS) 67*4882a593SmuzhiyunIndex: b/prog/sensors/Module.mk 68*4882a593Smuzhiyun=================================================================== 69*4882a593Smuzhiyun--- a/prog/sensors/Module.mk 70*4882a593Smuzhiyun+++ b/prog/sensors/Module.mk 71*4882a593Smuzhiyun@@ -39,8 +39,8 @@ 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi) 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun-$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBSHBASENAME) 76*4882a593Smuzhiyun- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors 77*4882a593Smuzhiyun+$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) 78*4882a593Smuzhiyun+ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun all-prog-sensors: $(PROGSENSORSTARGETS) 81*4882a593Smuzhiyun user :: all-prog-sensors 82