+generator_built = \
+ actions.h \
+ stubs.c \
+ names.c
+
+BUILT_SOURCES = \
+ $(generator_built) \
+ guestfs_protocol.c \
+ guestfs_protocol.h \
+ errnostring_gperf.c \
+ errnostring_gperf.gperf \
+ errnostring.c \
+ errnostring.h
+
+EXTRA_DIST = $(BUILT_SOURCES)
+
+noinst_LIBRARIES = libprotocol.a
+
+# This convenience library is solely to compile its generated sources with
+# custom flags.
+libprotocol_a_SOURCES = guestfs_protocol.c guestfs_protocol.h
+libprotocol_a_CFLAGS = -Wall -Wno-unused -fno-strict-aliasing
+
+guestfs_protocol.c: $(libsrcdir)/guestfs_protocol.c
+ rm -f $@
+ ln $< $@
+guestfs_protocol.h: $(libsrcdir)/guestfs_protocol.h
+ rm -f $@
+ ln $< $@
+$(libsrcdir)/guestfs_protocol.c: force
+ $(MAKE) -C $(libsrcdir) guestfs_protocol.c
+$(libsrcdir)/guestfs_protocol.h: force
+ $(MAKE) -C $(libsrcdir) guestfs_protocol.h
+
+# Build the errnostring perfect hash code. The generated code has lots
+# of warnings so we must compile it in a separate mini-library.
+noinst_LIBRARIES += liberrnostring.a
+liberrnostring_a_SOURCES = \
+ errnostring_gperf.c \
+ errnostring.h \
+ errnostring.c
+liberrnostring_a_CFLAGS =
+
+errnostring_gperf.c: errnostring_gperf.gperf
+ rm -f $@
+ $(GPERF) -t $< > $@-t
+ mv $@-t $@
+errnostring_gperf.gperf: $(libsrcdir)/errnostring_gperf.gperf
+ rm -f $@
+ ln $< $@
+errnostring.c: $(libsrcdir)/errnostring.c
+ rm -f $@
+ ln $< $@
+errnostring.h: $(libsrcdir)/errnostring.h
+ rm -f $@
+ ln $< $@
+
+if INSTALL_DAEMON
+sbin_PROGRAMS = guestfsd
+else