$(generator_built) \
guestfs_protocol.c \
guestfs_protocol.h \
+ errnostring_gperf.c \
+ errnostring_gperf.gperf \
errnostring.c \
errnostring.h
EXTRA_DIST = $(BUILT_SOURCES) \
.gitignore
-# This convenience library is solely to avoid compiler warnings
-# in its generated sources.
noinst_LIBRARIES = libprotocol.a
-libprotocol_a_SOURCES = \
- guestfs_protocol.c \
- guestfs_protocol.h
-libprotocol_a_CFLAGS =
+
+# 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 $@
$(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 $< $@
dropcaches.c \
du.c \
echo_daemon.c \
- errnostring.h \
- errnostring.c \
ext2.c \
fallocate.c \
file.c \
zero.c \
zerofree.c
guestfsd_LDADD = \
+ liberrnostring.a \
libprotocol.a \
lib/libgnu.a \
$(GETADDRINFO_LIB) \