X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2FMakefile.am;h=1664af04638e47bddc6bc7b0b19b75eae07fee60;hp=2b585c276175d84b5909019917602a4b4240a55a;hb=0938e43a60f9d729d9795cf45498e60217fece0e;hpb=d859c283c469b9d9124d90d0ac32024671372ed5 diff --git a/daemon/Makefile.am b/daemon/Makefile.am index 2b585c2..1664af0 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -1,5 +1,5 @@ # libguestfs-daemon -# Copyright (C) 2010 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 @@ -15,41 +15,32 @@ # 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 -generatorsrcdir = $(top_builddir)/../generator +libsrcdir = $(top_builddir)/src generator_built = \ actions.h \ stubs.c \ names.c -.PHONY: force - -$(generator_built): $(generatorsrcdir)/stamp-generator -$(generatorsrcdir)/stamp-generator: force - $(MAKE) -C $(generatorsrcdir) stamp-generator - BUILT_SOURCES = \ $(generator_built) \ guestfs_protocol.c \ guestfs_protocol.h \ + errnostring_gperf.c \ + errnostring_gperf.gperf \ errnostring.c \ errnostring.h -EXTRA_DIST = $(BUILT_SOURCES) \ - .gitignore +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 $@ @@ -62,6 +53,22 @@ $(libsrcdir)/guestfs_protocol.c: force $(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 $< $@ @@ -69,14 +76,21 @@ 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 \ @@ -91,8 +105,6 @@ guestfsd_SOURCES = \ dropcaches.c \ du.c \ echo_daemon.c \ - errnostring.h \ - errnostring.c \ ext2.c \ fallocate.c \ file.c \ @@ -148,8 +160,11 @@ guestfsd_SOURCES = \ zero.c \ zerofree.c guestfsd_LDADD = \ + liberrnostring.a \ libprotocol.a \ - lib/libgnu.a \ + $(SELINUX_LIB) \ + $(AUGEAS_LIB) \ + $(top_builddir)/gnulib/lib/.libs/libgnu.a \ $(GETADDRINFO_LIB) \ $(HOSTENT_LIB) \ $(INET_NTOP_LIB) \ @@ -158,5 +173,7 @@ guestfsd_LDADD = \ $(LIBINTL) \ $(SERVENT_LIB) -AM_CPPFLAGS = -I$(srcdir)/lib -Ilib +guestfsd_CPPFLAGS = -I$(top_srcdir)/gnulib/lib guestfsd_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) + +.PHONY: force