diff --git a/bin/Makefile.am b/bin/Makefile.am
index 63f86319d5f16c4edbcbc3b4edf0105cc9a89742..a7ef6740b52afc12f9b6762a1eb6262a499122d9 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -5,7 +5,8 @@ ringlib_PROGRAMS = ringcli
 ringcli_SOURCES = winmain.cpp
 ringcli_CXXFLAGS = -I$(top_srcdir)/src \
                    -I$(top_srcdir)/src/dring \
-                   -DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\"
+                   -DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\" \
+		   $(AM_CXXFLAGS)
 ringcli_LDADD = $(top_builddir)/src/libring.la
 endif
 
@@ -14,7 +15,8 @@ ringlib_PROGRAMS = ringcli
 ringcli_SOURCES = osxmain.cpp
 ringcli_CXXFLAGS = -I$(top_srcdir)/src \
                    -I$(top_srcdir)/src/dring \
-                   -DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\"
+                   -DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\" \
+		   $(AM_CXXFLAGS)
 ringcli_LDADD = $(top_builddir)/src/libring.la
 endif
 
diff --git a/configure.ac b/configure.ac
index 6f519ff41cb1aaa9fb45193d5676337ec6d0fa18..92effa0e4b19a6ab40b6b5b8d8e73d527ce47969 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,14 +22,17 @@ AC_CONFIG_HEADERS([config.h])
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
 dnl debug mode is default-disabled
-AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Build in debug mode, adds stricter warnings, disables optimization]))
-AS_IF([test "x$enable_debug" = "xyes"], [
-    CFLAGS="${CFLAGS} -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor -Wno-unknown-pragmas -Wformat=2 -O0"
-    CXXFLAGS="${CXXFLAGS} -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor -Wno-unknown-pragmas -Wformat=2 -O0"
-], [
-    CFLAGS="${CFLAGS} -DNDEBUG=1 -O3"
-    CXXFLAGS="${CXXFLAGS} -DNDEBUG=1 -O3"
-])
+AC_ARG_ENABLE([debug],
+  AS_HELP_STRING([--enable-debug],
+    [Build in debug mode, adds stricter warnings, disables optimization]))
+
+AS_IF([test "x$enable_debug" = "xyes"],
+  [DAEMONCFLAGS+=" -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor \
+-Wno-unknown-pragmas -Wformat=2 -O0"
+   DAEMONCXXFLAGS+=" -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor \
+-Wno-unknown-pragmas -Wformat=2 -O0"],
+  [DAEMONCFLAGS+=" -DNDEBUG=1 -O3"
+   DAEMONCXXFLAGS+=" -DNDEBUG=1 -O3"])
 
 dnl Check for programs
 AC_PROG_CC
@@ -55,9 +58,9 @@ case "${host_os}" in
   linux*)
     SYS=linux
     # Necessary for linking .a to a .so
-    LDFLAGS+=" -Wl,-Bsymbolic"
+    DAEMONLDFLAGS+=" -Wl,-Bsymbolic"
     # Needed for plugin system
-    LDFLAGS+=" -ldl"
+    DAEMONLDFLAGS+=" -ldl"
     ;;
   darwin*)
     SYS=darwin
@@ -87,8 +90,8 @@ case "${host_os}" in
 
     AC_DEFINE([WIN32_LEAN_AND_MEAN],[1], [Define to limit the scope of <windows.h>.])
 
-    CPPFLAGS+="-D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -D__USE_MINGW_ANSI_STDIO=1"
-    LDFLAGS+="-Wl,--nxcompat -Wl,--dynamicbase"
+    DAEMONCPPFLAGS+=" -D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -D__USE_MINGW_ANSI_STDIO=1"
+    DAEMONLDFLAGS+=" -Wl,--nxcompat -Wl,--dynamicbase"
     LIBS+=" -lws2_32 -lwsock32 -lshlwapi"
     ac_default_prefix="`pwd`/_win32"
     DESTDIR="`pwd`/_win32/"
@@ -134,11 +137,9 @@ AS_IF([test "$SYS" = linux],[
 ])
 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
 
-AS_IF([test "$SYS" = linux && test "${HAVE_ANDROID}" != "1"],[
-    CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-    CXXFLAGS="${CXXFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-],[
-])
+AS_IF([test "$SYS" = linux && test "${HAVE_ANDROID}" != "1"],
+  [DAEMONCPPFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]
+  [])
 
 dnl override platform specific check for dependent libraries
 dnl otherwise libtool linking of shared libraries will
@@ -198,91 +199,67 @@ AC_MSG_RESULT([$CLANG])
 dnl define DRING_BUILD because we are building libring, not using it
 dnl if building shared library, define dring_EXPORTS
 AC_MSG_CHECKING([if compiling shared library])
-CPPFLAGS="${CPPFLAGS} -fvisibility=hidden -DDRING_BUILD "
-AS_IF([test "x$enable_shared" == "xyes"], [
-  RING_SHARED=yes
-  CPPFLAGS="${CPPFLAGS} -Ddring_EXPORTS "
-],[
-  RING_SHARED=no
-])
+DAEMONCPPFLAGS+=" -fvisibility=hidden -DDRING_BUILD"
+AS_IF([test "x$enable_shared" == "xyes"],
+  [RING_SHARED=yes
+   DAEMONCPPFLAGS+=" -Ddring_EXPORTS"],
+  [RING_SHARED=no])
 AC_MSG_RESULT([$RING_SHARED])
 
-CPPFLAGS="${CPPFLAGS} -DASIO_STANDALONE"
+DAEMONCPPFLAGS+=" -DASIO_STANDALONE"
 
 dnl
 dnl  Check for the contrib directory
 dnl
 AC_ARG_WITH(contrib,
   [AS_HELP_STRING([--with-contrib[=DIR]],
-    [search for 3rd party libraries in DIR/include and DIR/lib])
-])
+    [search for 3rd party libraries in DIR/include and DIR/lib])])
 AC_MSG_CHECKING([for 3rd party libraries path])
-AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
-  CONTRIB_DIR="${srcdir}/contrib/${host}"
-  AS_IF([test ! -d "${CONTRIB_DIR}"], [
-    echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
-    CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
-    AS_IF([test ! -d "${CONTRIB_DIR}"], [
-      echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
-      CONTRIB_DIR=""
-      AC_MSG_RESULT([not found])
-    ])
-  ])
-], [
-  AS_IF([test "${with_contrib}" != "no"], [
-    CONTRIB_DIR="${with_contrib}"
-  ], [
-    CONTRIB_DIR=""
-    AC_MSG_RESULT([disabled])
-  ])
-])
-
-AS_IF([test -n "${CONTRIB_DIR}"], [
-  AS_IF([test -d "${CONTRIB_DIR}/lib"],[
-    CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
-  ], [
-    echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
-    CONTRIB_DIR=""
-    AC_MSG_RESULT([not usable])
-  ])
-])
-
-AS_IF([test -n "${CONTRIB_DIR}"], [
-  AC_MSG_RESULT([${CONTRIB_DIR}])
-  export PATH=${CONTRIB_DIR}/bin:$PATH
-  CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
-
-  CFLAGS="${CFLAGS} -DPJ_AUTOCONF=1 "
-  CXXFLAGS="${CXXFLAGS} -DPJ_AUTOCONF=1 "
-  AS_IF([test "${HAVE_WIN64}" = "1"],[
-      CFLAGS+=" -DPJ_WIN64=1"
-      CXXFLAGS+=" -DPJ_WIN64=1"
-  ])
-  CFLAGS+=" -I${CONTRIB_DIR}/include"
-  CXXFLAGS+=" -I${CONTRIB_DIR}/include"
-
-  OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
-  AS_IF([test "${SYS}" = "mingw32"],[
-        PKG_CONFIG_PATH_CUSTOM="${CONTRIB_DIR}/lib/pkgconfig:${CONTRIB_DIR}/lib64/pkgconfig"
-        AC_SUBST(PKG_CONFIG_PATH_CUSTOM)
-        export PKG_CONFIG_PATH_CUSTOM
-  ])
-  export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:${CONTRIB_DIR}/lib64/pkgconfig:$PKG_CONFIG_PATH"
-  LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
-
-  AS_IF([test "${SYS}" = "darwin"], [
-    export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
-    export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
-  ], [
-      PKG_CHECK_MODULES([Jsoncpp], [jsoncpp >= 1.6.5])
-      CPPFLAGS="${CPPFLAGS} ${Jsoncpp_CFLAGS}"
-      LDFLAGS="${LDFLAGS} ${Jsoncpp_LIBS}"
-  ])
-], [
-  AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
-    AC_MSG_ERROR([Third party libraries not found!])
-  ])
-])
+AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"],
+  [CONTRIB_DIR="${srcdir}/contrib/${host}"
+   AS_IF([test ! -d "${CONTRIB_DIR}"],
+     [echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
+      CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
+      AS_IF([test ! -d "${CONTRIB_DIR}"],
+        [echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
+         CONTRIB_DIR=""
+         AC_MSG_RESULT([not found])])])],
+  [AS_IF([test "${with_contrib}" != "no"],
+     [CONTRIB_DIR="${with_contrib}"],
+     [CONTRIB_DIR=""
+      AC_MSG_RESULT([disabled])])])
+
+AS_IF([test -n "${CONTRIB_DIR}"],
+  [AS_IF([test -d "${CONTRIB_DIR}/lib"],
+    [CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`],
+    [echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
+     CONTRIB_DIR=""
+     AC_MSG_RESULT([not usable])])])
+
+AS_IF([test -n "${CONTRIB_DIR}"],
+  [AC_MSG_RESULT([${CONTRIB_DIR}])
+   export PATH=${CONTRIB_DIR}/bin:$PATH
+
+   DAEMONCPPFLAGS+=" -I${CONTRIB_DIR}/include  -DPJ_AUTOCONF=1"
+
+   AS_IF([test "${HAVE_WIN64}" = "1"],
+     [DAEMONCPPFLAGS+=" -DPJ_WIN64=1"])
+
+   AS_IF([test "${SYS}" = "mingw32"],
+     [PKG_CONFIG_PATH_CUSTOM="${CONTRIB_DIR}/lib/pkgconfig:\
+${CONTRIB_DIR}/lib64/pkgconfig"
+      AC_SUBST(PKG_CONFIG_PATH_CUSTOM)
+      export PKG_CONFIG_PATH_CUSTOM])
+
+   export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:\
+${CONTRIB_DIR}/lib64/pkgconfig:$PKG_CONFIG_PATH"
+   DAEMONLDFLAGS+=" -L${CONTRIB_DIR}/lib"
+
+   AS_IF([test "${SYS}" = "darwin"],
+     [export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
+      export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"])],
+  [AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"],
+     [AC_MSG_ERROR([Third party libraries not found!])])])
 AC_SUBST(CONTRIB_DIR)
 
 dnl Add extras/tools to the PATH
@@ -298,8 +275,13 @@ PKG_CHECK_MODULES(ZLIB, zlib,, AC_MSG_ERROR([zlib not found]))
 dnl Check for pjproject
 PKG_CHECK_MODULES(PJPROJECT, libpjproject,, AC_MSG_ERROR([Missing pjproject files]))
 
-PKG_CHECK_MODULES([YAMLCPP], [yaml-cpp >= 0.5.1],, AC_MSG_ERROR([yaml-cpp not found]))
-PKG_CHECK_MODULES([JSONCPP], [jsoncpp >= 1.6.5],, AC_MSG_ERROR([jsoncpp not found]))
+PKG_CHECK_MODULES([YAMLCPP], [yaml-cpp >= 0.5.1],,
+  AC_MSG_ERROR([yaml-cpp not found]))
+
+PKG_CHECK_MODULES([JSONCPP], [jsoncpp >= 1.6.5],
+  [DAEMONCPPFLAGS+=" ${JSONCPP_CFLAGS}"
+   DAEMONLDFLAGS+=" ${JSONCPP_LIBS}"],
+  AC_MSG_ERROR([jsoncpp not found]))
 
 if test "${HAVE_ANDROID}" = "1"; then
     dnl Check for OpenSL
@@ -382,9 +364,9 @@ AM_CONDITIONAL(BUILD_JACK, test "x$have_jack" = "xyes")
 dnl Coverage is default-disabled
 AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage], [Enable coverage]))
 
-AS_IF([test "x$enable_coverage" = "xyes"], [
-        CXXFLAGS="${CXXFLAGS} --coverage"
-        LDFLAGS="${LDFLAGS} --coverage"])
+AS_IF([test "x$enable_coverage" = "xyes"],
+  [DAEMONCXXFLAGS+=" --coverage"
+   DAEMONLDFLAGS+=" --coverage"])
 
 # DBUSCPP
 dnl Check for dbuscpp, the C++ bindings for D-Bus
@@ -660,5 +642,12 @@ AC_CONFIG_FILES([Makefile \
                  doc/Makefile \
                  doc/doxygen/Makefile])
 
+dnl Transfer the Automake variables set here to Makefile.in.
+echo DAEMONCPPFLAGS=$DAEMONCPPFLAGS
+AC_SUBST([AM_CPPFLAGS], [$DAEMONCPPFLAGS])
+AC_SUBST([AM_CFLAGS],   [$DAEMONCFLAGS])
+AC_SUBST([AM_CXXFLAGS], [$DAEMONCXXFLAGS])
+AC_SUBST([AM_LDFLAGS],  [$DAEMONLDFLAGS])
+
 # Go!
 AC_OUTPUT
diff --git a/globals.mk b/globals.mk
index cfc47635fb62e6b1f49fe63e449d4a486cff4817..888a9fd9427198a0bf53460c68b2acd92274c6a1 100644
--- a/globals.mk
+++ b/globals.mk
@@ -10,7 +10,7 @@ RING_DIRTY_REPO ?= $(shell git diff-index --quiet HEAD 2>/dev/null || echo dirty
 RING_REVISION ?= $(shell git log -1 --format="%h" --abbrev=10 2>/dev/null)
 
 # Preprocessor flags
-AM_CPPFLAGS = \
+AM_CPPFLAGS += \
 	-I$(src)/src \
 	-I$(src)/src/config \
 	-I$(src)/src/media \
diff --git a/src/Makefile.am b/src/Makefile.am
index 0f61a7614a736f90f913b30234d46e7630c2a5f6..08148bdc98d221a7268c0e3b88281af5d537b262 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -78,7 +78,8 @@ libring_la_LDFLAGS = \
 		@LIBSWSCALE_LIBS@ \
 		@LIBAVUTIL_LIBS@ \
 		@LIBS@ \
-		@WEBRTC_LIBS@
+		@WEBRTC_LIBS@ \
+	        $(AM_LDFLAGS)
 
 if ENABLE_PLUGIN
 libring_la_LDFLAGS+= \
@@ -111,9 +112,10 @@ libring_la_CFLAGS = \
 		@LIBAVFILTER_CFLAGS@ \
 		@LIBSWRESAMPLE_CFLAGS@ \
 		@LIBSWSCALE_CFLAGS@ \
-		@WEBRTC_CFLAGS@
+		@WEBRTC_CFLAGS@ \
+		$(AM_CFLAGS)
 
-libring_la_CXXFLAGS = @JSONCPP_CFLAGS@
+libring_la_CXXFLAGS = $(AM_CXXFLAGS)
 
 if HAVE_LINUX
 #needed to compile the .so
diff --git a/src/client/Makefile.am b/src/client/Makefile.am
index c5570287c1488f77f6685302f162ef1ec73a78c3..736a894eebc3fc37166d273048bc38749816546b 100644
--- a/src/client/Makefile.am
+++ b/src/client/Makefile.am
@@ -29,4 +29,5 @@ libclient_la_CXXFLAGS = \
 	-I./ \
 	-I../ \
 	-DPREFIX=\"$(prefix)\" \
-	-DPROGSHAREDIR=\"${datadir}/ring\"
+	-DPROGSHAREDIR=\"${datadir}/ring\" \
+	$(AM_CXXFLAGS)
diff --git a/src/im/Makefile.am b/src/im/Makefile.am
index 848864b692542baab890c1c280570f09b753a540..e0827d8ee7db5672955dd4774ee6001145d48d18 100644
--- a/src/im/Makefile.am
+++ b/src/im/Makefile.am
@@ -2,5 +2,4 @@ include $(top_srcdir)/globals.mk
 
 noinst_LTLIBRARIES = libim.la
 
-libim_la_CXXFLAGS = @JSONCPP_CFLAGS@
 libim_la_SOURCES = instant_messaging.cpp message_engine.cpp instant_messaging.h message_engine.h
diff --git a/src/jamidht/Makefile.am b/src/jamidht/Makefile.am
index 080c15e69e67298e020b4c65dbca7732c904e426..69e721f70618265e138c0952b04f688a0111bd9e 100644
--- a/src/jamidht/Makefile.am
+++ b/src/jamidht/Makefile.am
@@ -5,8 +5,6 @@ SUBDIRS = eth/libdevcore eth/libdevcrypto
 AM_CPPFLAGS += -I$(top_srcdir)/src/jamidht/eth
 noinst_LTLIBRARIES = libringacc.la
 
-libringacc_la_CXXFLAGS = @CXXFLAGS@ @JSONCPP_CFLAGS@
-
 libringacc_la_LIBADD = $(DHT_LIBS) \
     ./eth/libdevcore/libdevcore.la \
     ./eth/libdevcrypto/libdevcrypto.la
diff --git a/src/media/audio/Makefile.am b/src/media/audio/Makefile.am
index 02fa07e4fc3dd1cee2348d15ebc261dfa1467cf6..fbf6c09c07db1a683c8aa7f08029c98e3970d314 100644
--- a/src/media/audio/Makefile.am
+++ b/src/media/audio/Makefile.am
@@ -53,8 +53,11 @@ libaudio_la_SOURCES = \
 		audio_rtp_session.cpp \
 		tonecontrol.cpp
 
-libaudio_la_CXXFLAGS = -I$(top_srcdir)/src
-libaudio_la_LDFLAGS =
+libaudio_la_CXXFLAGS = \
+	-I$(top_srcdir)/src \
+	$(AM_CXXFLAGS)
+
+libaudio_la_LDFLAGS = $(AM_LDFLAGS)
 
 if BUILD_SPEEXDSP
 libaudio_la_CXXFLAGS += @SPEEXDSP_CFLAGS@
diff --git a/src/media/audio/coreaudio/Makefile.am b/src/media/audio/coreaudio/Makefile.am
index 655f144bb8bc2a1e1c01db077791163c24284ea3..819c6ccb48f784e5abd9f07613366c3ba8da2058 100644
--- a/src/media/audio/coreaudio/Makefile.am
+++ b/src/media/audio/coreaudio/Makefile.am
@@ -10,5 +10,7 @@ noinst_LTLIBRARIES = libcoreaudiolayer.la
 libcoreaudiolayer_la_SOURCES = ios/corelayer.mm ios/corelayer.h
 endif
 
-libcoreaudiolayer_la_CXXFLAGS = -I$(top_srcdir)/src
+libcoreaudiolayer_la_CXXFLAGS = \
+	-I$(top_srcdir)/src \
+	$(AM_CXXFLAGS)
 AM_OBJCXXFLAGS = -std=c++17
diff --git a/src/media/video/Makefile.am b/src/media/video/Makefile.am
index 5719b0f8a45772222d06c0618f026264ced5396d..c820609e22197a04e4ec786eb30016f6772a45e1 100644
--- a/src/media/video/Makefile.am
+++ b/src/media/video/Makefile.am
@@ -43,12 +43,28 @@ if RING_ACCEL
 libvideo_la_SOURCES += accel.cpp accel.h
 endif
 
-libvideo_la_LIBADD = @LIBAVCODEC_LIBS@ @LIBAVFORMAT_LIBS@ @LIBAVDEVICE_LIBS@ @LIBSWSCALE_LIBS@ @LIBAVUTIL_LIBS@
+libvideo_la_LIBADD = \
+	@LIBAVCODEC_LIBS@ \
+	@LIBAVFORMAT_LIBS@ \
+	@LIBAVDEVICE_LIBS@ \
+	@LIBSWSCALE_LIBS@ \
+	@LIBAVUTIL_LIBS@
 
-AM_CXXFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@
-AM_CFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@
+libvideo_la_CFLAGS = \
+	@LIBAVCODEC_CFLAGS@ \
+	@LIBAVFORMAT_CFLAGS@ \
+	@LIBAVDEVICE_CFLAGS@ \
+	@LIBSWSCALE_CFLAGS@ \
+	$(AM_CFLAGS)
+
+libvideo_la_CXXFLAGS =  \
+	@LIBAVCODEC_CFLAGS@ \
+	@LIBAVFORMAT_CFLAGS@ \
+	@LIBAVDEVICE_CFLAGS@ \
+	@LIBSWSCALE_CFLAGS@ \
+	$(AM_CXXFLAGS)
 
 if HAVE_WIN32
-AM_CXXFLAGS+=-static
-AM_CFLAGS+=-static
+	libvideo_la_CXXFLAGS += -static
+	libvideo_la_CFLAGS += -static
 endif
diff --git a/src/media/video/v4l2/Makefile.am b/src/media/video/v4l2/Makefile.am
index 11184a2731a09a0b2104c83250b89c345d86c949..5cdf30224e6114d34516b99c92b696c88d50696f 100644
--- a/src/media/video/v4l2/Makefile.am
+++ b/src/media/video/v4l2/Makefile.am
@@ -6,8 +6,18 @@ libv4l2_la_SOURCES = \
 	video_device_impl.cpp \
 	video_device_monitor_impl.cpp
 
-AM_CXXFLAGS = @LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@ @LIBAVUTIL_CFLAGS@
-AM_CXXFLAGS += @UDEV_CFLAGS@
+AM_CXXFLAGS += \
+	@LIBAVCODEC_CFLAGS@ \
+	@LIBAVFORMAT_CFLAGS@ \
+	@LIBAVDEVICE_CFLAGS@ \
+	@LIBSWSCALE_CFLAGS@ \
+	@LIBAVUTIL_CFLAGS@ \
+	@UDEV_CFLAGS@
 
-libv4l2_la_LIBADD = @LIBAVCODEC_LIBS@ @LIBAVFORMAT_LIBS@ @LIBAVDEVICE_LIBS@ @LIBSWSCALE_LIBS@ @LIBAVUTIL_LIBS@
-libv4l2_la_LIBADD += @UDEV_LIBS@
+libv4l2_la_LIBADD = \
+	@LIBAVCODEC_LIBS@ \
+	@LIBAVFORMAT_LIBS@ \
+	@LIBAVDEVICE_LIBS@ \
+	@LIBSWSCALE_LIBS@ \
+	@LIBAVUTIL_LIBS@ \
+	@UDEV_LIBS@
diff --git a/src/plugin/Makefile.am b/src/plugin/Makefile.am
index 93fccb1366577e844e114ee88d4adae63d7d3f6f..7a8407b0a3acc7d9a7d8ddc1fea8857904c5648d 100644
--- a/src/plugin/Makefile.am
+++ b/src/plugin/Makefile.am
@@ -31,4 +31,5 @@ libplugin_la_CXXFLAGS = \
 	-I./ \
 	-I../ \
 	-DPREFIX=\"$(prefix)\" \
-	-DPROGSHAREDIR=\"${datadir}/ring\"
+	-DPROGSHAREDIR=\"${datadir}/ring\" \
+	$(AM_CXXFLAGS)
diff --git a/src/security/Makefile.am b/src/security/Makefile.am
index 5ef080c08bff43b2511eb6bf6b06ce3bbf6ed2a9..5d168d9a66d11da1af0cfe59d0eaebb25c59b98f 100644
--- a/src/security/Makefile.am
+++ b/src/security/Makefile.am
@@ -1,7 +1,7 @@
 include $(top_srcdir)/globals.mk
 
 noinst_LTLIBRARIES = libsecurity.la
-libsecurity_la_CXXFLAGS = @CXXFLAGS@ -I$(top_srcdir)/src
+libsecurity_la_CXXFLAGS = -I$(top_srcdir)/src $(AM_CXXFLAGS)
 
 libsecurity_la_SOURCES = \
 		tls_session.cpp \
diff --git a/src/sip/Makefile.am b/src/sip/Makefile.am
index 3a1f0568363a75974c53e8217d595574602c5a8f..a919581abf886288b686ebdbfb01d285e4c520de 100644
--- a/src/sip/Makefile.am
+++ b/src/sip/Makefile.am
@@ -1,7 +1,7 @@
 include $(top_srcdir)/globals.mk
 
 noinst_LTLIBRARIES = libsiplink.la
-libsiplink_la_CXXFLAGS = @CXXFLAGS@ -I$(top_srcdir)/src
+libsiplink_la_CXXFLAGS = -I$(top_srcdir)/src $(AM_CXXFLAGS)
 
 libsiplink_la_SOURCES = \
         sipaccountbase.cpp \
diff --git a/src/upnp/Makefile.am b/src/upnp/Makefile.am
index 01975e779f2e5a0d58861573013f003ace54ff84..0bf4ca8b10c876b2b9bf76be07a353827e0c5021 100644
--- a/src/upnp/Makefile.am
+++ b/src/upnp/Makefile.am
@@ -4,9 +4,6 @@ noinst_LTLIBRARIES = libupnpcontrol.la
 
 SUBDIRS = protocol
 
-libupnpcontrol_la_CXXFLAGS = \
-                @CXXFLAGS@
-
 libupnpcontrol_la_SOURCES = \
         upnp_control.cpp \
         upnp_control.h \
@@ -14,4 +11,4 @@ libupnpcontrol_la_SOURCES = \
         upnp_context.h
 
 libupnpcontrol_la_LIBADD = \
-        ./protocol/libupnpprotocol.la
\ No newline at end of file
+        ./protocol/libupnpprotocol.la
diff --git a/src/upnp/protocol/Makefile.am b/src/upnp/protocol/Makefile.am
index 5e5c568390cc7ae432b3ff0448472740ba7b6d78..f48ba5fcc987e7af2c808832141056650cbfb399 100644
--- a/src/upnp/protocol/Makefile.am
+++ b/src/upnp/protocol/Makefile.am
@@ -11,9 +11,6 @@ if BUILD_NATPMP
 SUBDIRS += natpmp
 endif
 
-libupnpprotocol_la_CXXFLAGS = \
-                @CXXFLAGS@
-
 libupnpprotocol_la_SOURCES = \
         igd.h \
         igd.cpp \
@@ -30,4 +27,4 @@ endif
 
 if BUILD_NATPMP
 libupnpprotocol_la_LIBADD += ./natpmp/libnat_pmp.la
-endif
\ No newline at end of file
+endif
diff --git a/src/upnp/protocol/natpmp/Makefile.am b/src/upnp/protocol/natpmp/Makefile.am
index 4058c7696a5e5a1350db153da3c45c6a70841c66..4c3d63256840acad0e2e2d7aa6a39a5f63b51aab 100644
--- a/src/upnp/protocol/natpmp/Makefile.am
+++ b/src/upnp/protocol/natpmp/Makefile.am
@@ -2,11 +2,8 @@ include $(top_srcdir)/globals.mk
 
 noinst_LTLIBRARIES = libnat_pmp.la
 
-libnat_pmp_la_CXXFLAGS = \
-                @CXXFLAGS@
-
 libnat_pmp_la_SOURCES = \
         pmp_igd.h \
         pmp_igd.cpp \
         nat_pmp.h \
-        nat_pmp.cpp
\ No newline at end of file
+        nat_pmp.cpp
diff --git a/src/upnp/protocol/pupnp/Makefile.am b/src/upnp/protocol/pupnp/Makefile.am
index 9c02e0af19386d359430d72ad9bfecc693340f9a..bb837714d2171ed025be432f3d42fe1c19a3becd 100644
--- a/src/upnp/protocol/pupnp/Makefile.am
+++ b/src/upnp/protocol/pupnp/Makefile.am
@@ -2,11 +2,8 @@ include $(top_srcdir)/globals.mk
 
 noinst_LTLIBRARIES = libpupnp.la
 
-libpupnp_la_CXXFLAGS = \
-                @CXXFLAGS@
-
 libpupnp_la_SOURCES = \
         upnp_igd.h \
         upnp_igd.cpp \
         pupnp.h \
-        pupnp.cpp
\ No newline at end of file
+        pupnp.cpp
diff --git a/test/sip/Makefile.am b/test/sip/Makefile.am
index 51d94eebf7ae46cfb96dcc7605c439edff91427b..083cf62e7752a9b5052aeb5b5c938210d2fec2a6 100644
--- a/test/sip/Makefile.am
+++ b/test/sip/Makefile.am
@@ -1,8 +1,8 @@
 # Rules for the test code (use `make check` to execute)
 include $(top_srcdir)/globals.mk
 
-AM_CXXFLAGS = -I$(top_srcdir)/src
-AM_LDFLAGS = $(CPPUNIT_LIBS) $(top_builddir)/src/libring.la
+AM_CXXFLAGS += -I$(top_srcdir)/src
+AM_LDFLAGS += $(CPPUNIT_LIBS) $(top_builddir)/src/libring.la
 
 check_PROGRAMS = ut_sip
 ut_sip_SOURCES = sip.cpp test_SIP.h test_SIP.cpp
diff --git a/test/unitTest/Makefile.am b/test/unitTest/Makefile.am
index 495fb4a685b2cdae5a3bec37f13bda28ceb1dad2..aba098ab27307ade8f6aa952e638853309369693 100644
--- a/test/unitTest/Makefile.am
+++ b/test/unitTest/Makefile.am
@@ -1,8 +1,8 @@
 # Rules for the test code (use `make check` to execute)
 include $(top_srcdir)/globals.mk
 
-AM_CXXFLAGS = -I$(top_srcdir)/src
-AM_LDFLAGS = $(CPPUNIT_LIBS) $(top_builddir)/src/libring.la
+AM_CXXFLAGS += -I$(top_srcdir)/src
+AM_LDFLAGS += $(CPPUNIT_LIBS) $(top_builddir)/src/libring.la
 check_PROGRAMS =
 
 ####### Unit Test ########
@@ -135,4 +135,4 @@ ut_connectionManager_SOURCES = connectionManager/connectionManager.cpp
 check_PROGRAMS += ut_fileTransfer
 ut_fileTransfer_SOURCES = fileTransfer/fileTransfer.cpp
 
-TESTS = $(check_PROGRAMS)
\ No newline at end of file
+TESTS = $(check_PROGRAMS)