--- a/Makefile.am
+++ b/Makefile.am
@@ -25,6 +25,7 @@
             -I$(TOPOH)ohNet/Build/Include/ \
             -I$(TOPOH)ohNetGenerated/Build/Include/ \
             -I$(TOPOH)ohTopology/build/Include/  \
+            -I$(TOPSCO)  \
             -I$(TOPSC) \
             -DWITH_OHBUILD
 else
@@ -42,13 +43,9 @@
 
 bin_PROGRAMS = sc2mpd mpd2sc
 
-OTHEROSC2 = $(TOPSCO)/Ohm.o $(TOPSCO)/OhmMsg.o $(TOPSCO)/OhmSocket.o \
-             $(TOPSCO)/OhmReceiver.o $(TOPSCO)/OhmProtocolMulticast.o \
-             $(TOPSCO)/OhmProtocolUnicast.o \
-             $(TOPOH)ohNetGenerated/$(OBJIPATH)DvAvOpenhomeOrgReceiver1.o
-
 if WITH_OHBUILD
-sc2mpd_LDADD = $(OTHEROSC2) $(TOPOH)ohNet/$(OBJIPATH)libohNetCore.a \
+sc2mpd_LDADD = $(TOPSCO)libohSongcast.a \
+     $(TOPOH)ohNet/$(OBJIPATH)libohNetCore.a \
      $(TOPOH)ohNet/$(OBJIPATH)libTestFramework.a $(OTHERLIBS)
 else
 sc2mpd_LDADD = \
@@ -62,6 +59,8 @@
 
 sc2mpd_SOURCES = \
      sc2src/alsadirect.cpp \
+     sc2src/audiodecoder.cpp \
+     sc2src/audiodecoder.h \
      sc2src/chrono.cpp \
      sc2src/chrono.h \
      sc2src/conf_post.h \
@@ -72,8 +71,12 @@
      sc2src/log.h \
      sc2src/pathut.cpp \
      sc2src/pathut.h \
+     sc2src/pcmdecoder.cpp \
+     sc2src/pcmdecoder.h \
      sc2src/rcvqueue.h \
      sc2src/sc2mpd.cpp \
+     sc2src/songcastreceiver.cpp \
+     sc2src/songcastreceiver.h \
      sc2src/smallut.cpp \
      sc2src/smallut.h \
      sc2src/watcher.cpp \
@@ -81,6 +84,13 @@
      sc2src/wav.cpp \
      sc2src/wav.h \
      sc2src/workqueue.h
+
+if FLAC
+sc2mpd_CPPFLAGS += $(FLAC_CFLAGS)
+sc2mpd_SOURCES += \
+     sc2src/flacdecoder.cpp \
+     sc2src/flacdecoder.h
+endif
 
 if WAVSC2
 sc2mpd_SOURCES += \
@@ -90,8 +100,7 @@
      mpd2src/stringtotokens.cpp
 endif
 
-OTHEROMP2 = $(TOPSCO)/Ohm.o $(TOPSCO)/OhmMsg.o $(TOPSCO)/OhmSocket.o \
-             $(TOPSCO)/OhmSender.o \
+OTHEROMP2 = $(TOPSCO)libohSongcast.a \
              $(TOPOH)ohNetGenerated/$(OBJIPATH)DvAvOpenhomeOrgSender1.o
 
 if WITH_OHBUILD
@@ -108,6 +117,8 @@
 
 mpd2sc_CPPFLAGS = -I$(top_srcdir)/sc2src $(AM_CPPFLAGS)
 mpd2sc_SOURCES = \
+     mpd2src/audioencoder.cpp \
+     mpd2src/audioencoder.h \
      mpd2src/audioreader.h \
      mpd2src/audioutil.h \
      mpd2src/base64.cxx \
@@ -118,12 +129,23 @@
      mpd2src/mpd2sc.cpp \
      mpd2src/openaudio.cpp \
      mpd2src/openaudio.h \
+     mpd2src/pcmencoder.cpp \
+     mpd2src/pcmencoder.h \
+     mpd2src/songcastsender.cpp \
+     mpd2src/songcastsender.h \
      mpd2src/stringtotokens.cpp \
      mpd2src/stringtotokens.h \
      mpd2src/wavreader.cpp \
      mpd2src/wavreader.h \
      sc2src/log.cpp
-     
+
+if FLAC
+mpd2sc_CPPFLAGS += $(FLAC_CFLAGS)
+mpd2sc_SOURCES += \
+     mpd2src/flacencoder.cpp \
+     mpd2src/flacencoder.h
+endif
+
 dist_bin_SCRIPTS = mpd2src/scmakempdsender
 dist_noinst_SCRIPTS = ohbuild.sh