summaryrefslogtreecommitdiffstats
path: root/discover/Makefile.am
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-03-18 14:23:23 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-04-29 14:41:04 +1000
commit45e92aa32a80fdbbf5ad3ad64e34b1ac872018ef (patch)
tree2753fb3912c07d23f3e2f622c05043f55c8f24c9 /discover/Makefile.am
parent5444648fe1ff9b79f3db5ee6feadd51341f59d71 (diff)
downloadtalos-petitboot-45e92aa32a80fdbbf5ad3ad64e34b1ac872018ef.tar.gz
talos-petitboot-45e92aa32a80fdbbf5ad3ad64e34b1ac872018ef.zip
parsers: dynamically register parsers
Currently, we require all parsers to be defined in an array in parsers.c. This change removes this requirement, by introducting a register_parser() macro, which adds a constructor to register the parser with the core parser infrastructure. Because each parser no longer resolves an undefined symbol, we need to use a `ld -r` object for libparser, instead of using libtool, which creates a .a (and hence has no parsers included). Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/Makefile.am')
-rw-r--r--discover/Makefile.am15
1 files changed, 8 insertions, 7 deletions
diff --git a/discover/Makefile.am b/discover/Makefile.am
index a3087ef..8cbb0af 100644
--- a/discover/Makefile.am
+++ b/discover/Makefile.am
@@ -19,15 +19,13 @@ AM_CFLAGS = $(DEFAULT_CFLAGS) \
-DPKG_SHARE_DIR='"$(pkgdatadir)"' \
-DLOCAL_STATE_DIR='"$(localstatedir)"'
-noinst_LTLIBRARIES = libparser.la
+noinst_LIBRARIES = libparser.o
-libparser_la_SOURCES = \
+libparser_o_SOURCES = \
parser.c \
parser.h \
parser-conf.c \
parser-conf.h \
- parser-utils.c \
- parser-utils.h \
paths.c \
paths.h \
resource.c \
@@ -36,9 +34,10 @@ libparser_la_SOURCES = \
grub2-parser.c \
yaboot-parser.c
-EXTRA_DIST = native-parser.c
+libparser.o: $(libparser_o_OBJECTS)
+ $(LD) -r -o $@ $^
-libparser_la_LIBADD = $(top_builddir)/lib/libpbcore.la
+EXTRA_DIST = native-parser.c
sbin_PROGRAMS = pb-discover
@@ -54,6 +53,8 @@ pb_discover_SOURCES = \
event-parser.c \
params.c \
params.h \
+ parser-utils.c \
+ parser-utils.h \
pb-discover.c \
pb-discover.h \
udev.c \
@@ -61,6 +62,6 @@ pb_discover_SOURCES = \
user-event.c \
user-event.h
-pb_discover_LDADD = libparser.la $(top_builddir)/lib/libpbcore.la
+pb_discover_LDADD = libparser.o $(top_builddir)/lib/libpbcore.la
MAINTAINERCLEANFILES = Makefile.in
OpenPOWER on IntegriCloud