# libguestfs-daemon
-# Copyright (C) 2009 Red Hat Inc.
+# Copyright (C) 2011 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-ACLOCAL_AMFLAGS = -I m4
+include $(top_srcdir)/subdir-rules.mk
-SUBDIRS = lib tests .
-
-libsrcdir = $(top_builddir)/../src
+libsrcdir = $(top_builddir)/src
generator_built = \
actions.h \
stubs.c \
names.c
-.PHONY: force
-
-$(generator_built): $(libsrcdir)/stamp-generator
-$(libsrcdir)/stamp-generator: force
- $(MAKE) -C $(libsrcdir) stamp-generator
-
BUILT_SOURCES = \
$(generator_built) \
guestfs_protocol.c \
- guestfs_protocol.h
+ guestfs_protocol.h \
+ errnostring_gperf.c \
+ errnostring_gperf.gperf \
+ errnostring.c \
+ errnostring.h
EXTRA_DIST = $(BUILT_SOURCES)
-# 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 $< $@
+errnostring.h: $(libsrcdir)/errnostring.h
+ rm -f $@
+ ln $< $@
+
+if INSTALL_DAEMON
+sbin_PROGRAMS = guestfsd
+else
noinst_PROGRAMS = guestfsd
+endif
+
guestfsd_SOURCES = \
+ 9p.c \
actions.h \
available.c \
augeas.c \
+ base64.c \
blkid.c \
blockdev.c \
+ btrfs.c \
checksum.c \
cmp.c \
command.c \
+ compress.c \
cpmv.c \
daemon.h \
dd.c \
ext2.c \
fallocate.c \
file.c \
+ findfs.c \
fill.c \
find.c \
fsck.c \
htonl.c \
initrd.c \
inotify.c \
+ is.c \
link.c \
ls.c \
+ luks.c \
lvm.c \
+ lvm-filter.c \
mkfs.c \
mknod.c \
modprobe.c \
zero.c \
zerofree.c
guestfsd_LDADD = \
+ liberrnostring.a \
libprotocol.a \
- lib/libgnu.a $(LIB_CLOCK_GETTIME)
+ $(SELINUX_LIB) \
+ $(AUGEAS_LIB) \
+ $(top_builddir)/gnulib/lib/.libs/libgnu.a \
+ $(GETADDRINFO_LIB) \
+ $(HOSTENT_LIB) \
+ $(INET_NTOP_LIB) \
+ $(LIBSOCKET) \
+ $(LIB_CLOCK_GETTIME) \
+ $(LIBINTL) \
+ $(SERVENT_LIB)
-AM_CPPFLAGS = -I$(srcdir)/lib -Ilib
+guestfsd_CPPFLAGS = -I$(top_srcdir)/gnulib/lib
guestfsd_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+
+.PHONY: force