-AM_CPPFLAGS = -I$(top_srcdir)/lib $(DEFAULT_CPPFLAGS)
-
-AM_CFLAGS = $(DEFAULT_CFLAGS) \
- -DPREFIX='"$(prefix)"' \
- -DPKG_SHARE_DIR='"$(pkgdatadir)"' \
- -DLOCAL_STATE_DIR='"$(localstatedir)"'
-
-noinst_LTLIBRARIES = libparser.la
-
-libparser_la_SOURCES = \
- parser.c \
- parser.h \
- parser-conf.c \
- parser-conf.h \
- parser-utils.c \
- parser-utils.h \
- paths.c \
- paths.h \
- kboot-parser.c \
- grub2-parser.c \
- yaboot-parser.c
-
-EXTRA_DIST = native-parser.c
-
-libparser_la_LIBADD = $(top_builddir)/lib/libpbcore.la
-
-sbin_PROGRAMS = pb-discover
-
-pb_discover_SOURCES = \
- device-handler.c \
- device-handler.h \
- discover-server.c \
- discover-server.h \
- event.c \
- event.h \
- event-parser.c \
- params.c \
- params.h \
- pb-discover.c \
- pb-discover.h \
- udev.c \
- udev.h \
- user-event.c \
- user-event.h
-
-pb_discover_LDADD = libparser.la $(top_builddir)/lib/libpbcore.la
-
-MAINTAINERCLEANFILES = Makefile.in
+sbin_PROGRAMS += discover/pb-discover
+noinst_PROGRAMS += discover/platform.ro
+
+discover_pb_discover_SOURCES = \
+ discover/boot.c \
+ discover/boot.h \
+ discover/cdrom.c \
+ discover/cdrom.h \
+ discover/device-handler.c \
+ discover/device-handler.h \
+ discover/discover-server.c \
+ discover/discover-server.h \
+ discover/devmapper.c \
+ discover/devmapper.h \
+ discover/event.c \
+ discover/event.h \
+ discover/params.c \
+ discover/params.h \
+ discover/parser.c \
+ discover/parser.h \
+ discover/parser-conf.c \
+ discover/parser-conf.h \
+ discover/parser-utils.c \
+ discover/parser-utils.h \
+ discover/paths.c \
+ discover/paths.h \
+ discover/pb-discover.c \
+ discover/pb-discover.h \
+ discover/resource.c \
+ discover/resource.h \
+ discover/sysinfo.c \
+ discover/sysinfo.h \
+ discover/network.c \
+ discover/network.h \
+ discover/udev.c \
+ discover/udev.h \
+ discover/user-event.c \
+ discover/user-event.h \
+ discover/kboot-parser.c \
+ discover/yaboot-parser.c \
+ discover/pxe-parser.c \
+ discover/syslinux-parser.c
+
+discover_pb_discover_LDADD = \
+ discover/grub2/grub2-parser.ro \
+ discover/platform.ro \
+ $(core_lib) \
+ $(UDEV_LIBS)
+
+discover_pb_discover_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ $(DEVMAPPER_LIBS)
+
+discover_pb_discover_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ -DLOCAL_STATE_DIR='"$(localstatedir)"' \
+ -DLOCALEDIR='"$(localedir)"' \
+ -DPKG_LIBEXEC_DIR='"$(pkglibexecdir)"' \
+ -DPKG_SHARE_DIR='"$(pkgsharedir)"' \
+ -DPKG_SYSCONF_DIR='"$(pkgsysconfdir)"'
+
+discover_platform_ro_SOURCES = \
+ discover/platform.c \
+ discover/platform.h \
+ discover/ipmi.c \
+ discover/ipmi.h \
+ discover/dt.c \
+ discover/dt.h \
+ discover/hostboot.h \
+ discover/platform-powerpc.c
+
+discover_platform_ro_CPPFLAGS = \
+ $(AM_CPPFLAGS)
+
+if ENABLE_MTD
+discover_platform_ro_SOURCES += \
+ discover/hostboot.c
+
+discover_platform_ro_LDFLAGS = \
+ $(core_lib) \
+ $(UDEV_LIBS)
+
+endif
+
+discover_platform_ro_LINK = \
+ $(LD) -r -o $@