@@ -15,7 +15,7 @@ CLEANFILES =
1515# nutclient.cpp for some legacy reason (maybe initial detached development?)
1616# optionally includes "common.h" with the NUT build setup - and this option
1717# was never triggered in fact, not until pushed through command line like this:
18- AM_CXXFLAGS = -DHAVE_NUTCOMMON=1 -I$(top_srcdir ) /include
18+ AM_CXXFLAGS = -DHAVE_NUTCOMMON=1 -I$(top_builddir ) /include -I $( top_srcdir ) /include
1919
2020# Make sure out-of-dir dependencies exist (especially when dev-building parts):
2121$(top_builddir)/common/libcommon.la \
@@ -31,18 +31,40 @@ $(top_builddir)/common/libparseconf.la: dummy
3131$(top_builddir ) /common/libcommon.la : $(top_builddir ) /common/libparseconf.la
3232$(top_builddir ) /common/libcommonclient.la : $(top_builddir ) /common/libparseconf.la
3333
34- LDADD_FULL = \
34+ LDADD_FULL =
35+ LDADD_CLIENT =
36+
37+ if ENABLE_SHARED_PRIVATE_LIBS
38+ $(top_builddir)/common/libnutprivate-common-all.la \
39+ $(top_builddir ) /common/libnutprivate-common-client.la : dummy
40+ +@cd $(@D ) && $(MAKE ) $(AM_MAKEFLAGS ) $(@F )
41+
42+ $(top_builddir ) /common/libnutprivate-common-all.la : $(top_builddir ) /common/libcommon.la
43+ $(top_builddir ) /common/libnutprivate-common-client.la : $(top_builddir ) /common/libcommonclient.la
44+
45+ LDADD_FULL += \
46+ $(top_builddir ) /common/libnutprivate-common-all.la
47+
48+ LDADD_CLIENT += \
49+ $(top_builddir ) /common/libnutprivate-common-client.la
50+ else !ENABLE_SHARED_PRIVATE_LIBS
51+ LDADD_FULL += \
3552 $(top_builddir ) /common/libcommon.la \
36- $(top_builddir ) /common/libcommonversion.la \
53+ $(top_builddir ) /common/libcommonversion.la
54+
55+ LDADD_CLIENT += \
56+ $(top_builddir ) /common/libcommonclient.la \
57+ $(top_builddir ) /common/libcommonversion.la
58+ endif !ENABLE_SHARED_PRIVATE_LIBS
59+
60+ LDADD_FULL += \
3761 libupsclient.la \
3862 $(NETLIBS )
3963if WITH_SSL
4064 LDADD_FULL += $(LIBSSL_LIBS ) $(LIBSSL_LDFLAGS_RPATH )
4165endif WITH_SSL
4266
43- LDADD_CLIENT = \
44- $(top_builddir ) /common/libcommonclient.la \
45- $(top_builddir ) /common/libcommonversion.la \
67+ LDADD_CLIENT += \
4668 libupsclient.la \
4769 $(NETLIBS )
4870if WITH_SSL
@@ -56,7 +78,7 @@ LDADD = $(LDADD_CLIENT)
5678# Avoid per-target CFLAGS, because this will prevent re-use of object
5779# files. In any case, CFLAGS are only -I options, so there is no harm,
5880# but only add them if we really use the target.
59- AM_CFLAGS = -I$(top_srcdir ) /include
81+ AM_CFLAGS = -I$(top_builddir ) /include -I $( top_srcdir ) /include
6082if WITH_SSL
6183 AM_CFLAGS += $(LIBSSL_CFLAGS )
6284endif WITH_SSL
@@ -93,31 +115,47 @@ endif WITH_CGI
93115
94116upsc_SOURCES = upsc.c upsclient.h
95117upsc_LDADD = $(LDADD_CLIENT ) $(top_builddir ) /common/libcommonstrjson.la
118+
96119upscmd_SOURCES = upscmd.c upsclient.h
120+
97121upsrw_SOURCES = upsrw.c upsclient.h
122+
98123upslog_SOURCES = upslog.c upsclient.h upslog.h
99124upslog_LDADD = $(LDADD_FULL )
125+
100126upsmon_SOURCES = upsmon.c upsmon.h upsclient.h
101127upsmon_LDADD = $(LDADD_FULL )
128+
102129if HAVE_WINDOWS_SOCKETS
103130message_SOURCES = message.c
104131endif HAVE_WINDOWS_SOCKETS
105132
106133upssched_SOURCES = upssched.c upssched.h
107- upssched_LDADD = \
134+ upssched_LDADD =
135+ if ENABLE_SHARED_PRIVATE_LIBS
136+ upssched_LDADD += \
137+ $(top_builddir ) /common/libnutprivate-common-client.la
138+ else !ENABLE_SHARED_PRIVATE_LIBS
139+ upssched_LDADD += \
108140 $(top_builddir ) /common/libcommonclient.la \
109141 $(top_builddir ) /common/libcommonversion.la \
110- $(top_builddir ) /common/libparseconf.la \
142+ $(top_builddir ) /common/libparseconf.la
143+ endif !ENABLE_SHARED_PRIVATE_LIBS
144+
145+ upssched_LDADD += \
111146 $(NETLIBS )
112147
113148upsimage_cgi_SOURCES = upsimage.c upsclient.h upsimagearg.h cgilib.c cgilib.h
114149upsimage_cgi_LDADD = $(LDADD ) $(LIBGD_LDFLAGS )
115150
116151upsset_cgi_SOURCES = upsset.c upsclient.h cgilib.c cgilib.h
152+
117153upsstats_cgi_SOURCES = upsstats.c upsclient.h status.h upsstats.h \
118154 upsimagearg.h cgilib.c cgilib.h
119155upsstats_cgi_LDADD = $(LDADD_CLIENT ) $(top_builddir ) /common/libcommonstrjson.la
120156
157+ # ################################# Plain C client library (libupsclient) :
158+
121159# not LDADD... why?
122160libupsclient_la_SOURCES = upsclient.c upsclient.h
123161# NOTE: The library does not require libcommonversion.la
@@ -185,6 +223,8 @@ libupsclient-version.h: libupsclient.la
185223 rm -f " $@ .tmp.$$$$ " ; \
186224 exit $$ RES
187225
226+ # ################################# C++ client library (libnutclient) :
227+
188228if HAVE_CXX11
189229# libnutclient version information and build
190230libnutclient_la_SOURCES = nutclient.h nutclient.cpp
0 commit comments