Files
libguestfs/daemon/Makefile.am
Richard W.M. Jones acce28e887 lib: Make sure -lselinux is used when linking libguestfs.so.
If libselinux was detected, it was not added to the linker command
line.  This still worked (at least on Fedora) because some other
library pulls in the dependency implicitly, possibly libvirt.  However
this broke on Arch:

https://aur.archlinux.org/packages/libguestfs/

Reported by and thanks: Antoni Segura Puimedon.
2013-11-19 09:09:02 +00:00

232 lines
4.3 KiB
Makefile

# libguestfs-daemon
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
include $(top_srcdir)/subdir-rules.mk
CLEANFILES = stamp-guestfsd.pod
generator_built = \
actions.h \
stubs.c \
names.c
shared_with_library = \
guestfs_protocol.c \
guestfs_protocol.h \
errnostring-gperf.gperf \
errnostring.c \
errnostring.h
BUILT_SOURCES = \
$(generator_built) \
$(shared_with_library) \
errnostring-gperf.c
EXTRA_DIST = \
$(BUILT_SOURCES) \
guestfsd.pod
$(shared_with_library): %: $(top_srcdir)/src/%
rm -f $@
ln $< $@
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
$(top_builddir)/src/guestfs_protocol.c: force
$(MAKE) -C $(top_builddir)/src guestfs_protocol.c
$(top_builddir)/src/guestfs_protocol.h: force
$(MAKE) -C $(top_builddir)/src 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 $@
if INSTALL_DAEMON
sbin_PROGRAMS = guestfsd
else
noinst_PROGRAMS = guestfsd
endif
guestfsd_SOURCES = \
9p.c \
acl.c \
actions.h \
available.c \
augeas.c \
base64.c \
blkid.c \
blockdev.c \
btrfs.c \
cap.c \
checksum.c \
cmp.c \
command.c \
compress.c \
copy.c \
cpmv.c \
daemon.h \
dd.c \
debug.c \
devsparts.c \
df.c \
dir.c \
dmesg.c \
dropcaches.c \
du.c \
echo-daemon.c \
ext2.c \
fallocate.c \
file.c \
findfs.c \
fill.c \
find.c \
fsck.c \
fstrim.c \
glob.c \
grep.c \
grub.c \
guestfsd.c \
headtail.c \
hexdump.c \
hotplug.c \
hivex.c \
htonl.c \
initrd.c \
inotify.c \
internal.c \
is.c \
isoinfo.c \
journal.c \
labels.c \
ldm.c \
link.c \
ls.c \
luks.c \
lvm.c \
lvm-filter.c \
md.c \
mkfs.c \
mknod.c \
mktemp.c \
modprobe.c \
mount.c \
mountable.c \
names.c \
ntfs.c \
ntfsclone.c \
optgroups.c \
optgroups.h \
parted.c \
pingdaemon.c \
proto.c \
readdir.c \
realpath.c \
rename.c \
rsync.c \
scrub.c \
selinux.c \
sfdisk.c \
sleep.c \
stat.c \
statvfs.c \
strings.c \
stubs.c \
swap.c \
sync.c \
syslinux.c \
tar.c \
truncate.c \
umask.c \
upload.c \
utimens.c \
utsname.c \
uuids.c \
wc.c \
xattr.c \
xfs.c \
zero.c \
zerofree.c
guestfsd_LDADD = \
liberrnostring.a \
libprotocol.a \
$(ACL_LIBS) \
$(CAP_LIBS) \
$(YAJL_LIBS) \
$(SELINUX_LIBS) \
$(AUGEAS_LIBS) \
$(HIVEX_LIBS) \
$(SD_JOURNAL_LIBS) \
$(top_builddir)/gnulib/lib/.libs/libgnu.a \
$(GETADDRINFO_LIB) \
$(HOSTENT_LIB) \
$(INET_NTOP_LIB) \
$(LIBSOCKET) \
$(LIB_CLOCK_GETTIME) \
$(LIBINTL) \
$(SERVENT_LIB) \
$(PCRE_LIBS)
guestfsd_CPPFLAGS = \
-I$(top_srcdir)/gnulib/lib \
-I$(top_builddir)/gnulib/lib \
-I$(top_srcdir)/src \
-I$(top_builddir)/src
guestfsd_CFLAGS = \
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
$(AUGEAS_CFLAGS) \
$(HIVEX_CFLAGS) \
$(SD_JOURNAL_CFLAGS) \
$(YAJL_CFLAGS) \
$(PCRE_CFLAGS)
# Manual pages and HTML files for the website.
if INSTALL_DAEMON
man_MANS = guestfsd.8
else
noinst_MANS = guestfsd.8
endif
noinst_DATA = $(top_builddir)/html/guestfsd.8.html
guestfsd.8 $(top_builddir)/html/guestfsd.8.html: stamp-guestfsd.pod
stamp-guestfsd.pod: guestfsd.pod
$(PODWRAPPER) \
--section 8 \
--man guestfsd.8 \
--html $(top_builddir)/html/guestfsd.8.html \
--license GPLv2+ \
$<
touch $@
.PHONY: force