summaryrefslogtreecommitdiffstats
path: root/fish/Makefile.am
blob: d817e6cfea3a7086aa1712a768be317dd73f6102 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# libguestfs
# Copyright (C) 2009 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., 675 Mass Ave, Cambridge, MA 02139, USA.

include $(top_srcdir)/subdir-rules.mk

bin_PROGRAMS = guestfish

generator_built = \
	cmds.c \
	completion.c \
	guestfish-actions.pod

BUILT_SOURCES = \
	$(generator_built) \
	rc_protocol.h \
	rc_protocol.c

EXTRA_DIST = \
	$(BUILT_SOURCES) \
	rc_protocol.x \
	guestfish.pod

guestfish_SOURCES = \
	$(generator_built) \
	alloc.c \
	destpaths.c \
	echo.c \
	edit.c \
	fish.c \
	fish.h \
	glob.c \
	lcd.c \
	more.c \
	rc.c \
	reopen.c \
	tilde.c \
	time.c

# This convenience library is solely to avoid compiler warnings
# in its generated sources.
librc_protocol_la_SOURCES = rc_protocol.c
librc_protocol_la_CFLAGS = -Wall -Wno-unused

guestfish_CFLAGS = \
	-I$(top_srcdir)/src -I$(top_builddir)/src \
	-I$(top_srcdir)/fish -I$(top_builddir)/fish \
	-DGUESTFS_DEFAULT_PATH='"$(libdir)/guestfs"' \
	-I$(srcdir)/../gnulib/lib -I../gnulib/lib \
	$(WARN_CFLAGS) $(WERROR_CFLAGS)

guestfish_LDADD = $(top_builddir)/src/libguestfs.la $(LIBREADLINE)

# Make libguestfs use the convenience library.
noinst_LTLIBRARIES = librc_protocol.la
guestfish_LDADD += librc_protocol.la ../gnulib/lib/libgnu.la

if HAVE_RPCGEN
rc_protocol.c: rc_protocol.x
	rm -f $@-t $@-t2
	$(RPCGEN) -c -o $@-t $<
	sed 's,\.\./\.\./fish/,,' < $@-t > $@-t2
	rm $@-t
	mv $@-t2 $@

rc_protocol.h: rc_protocol.x
	rm -f $@-t
	$(RPCGEN) -h -o $@-t $<
	mv $@-t $@
endif

# Manual page.
# guestfish-actions.pod is autogenerated.  There is no include
# mechanism for POD, so we have to do it by hand.

man_MANS = guestfish.1

guestfish.1: guestfish.pod guestfish-actions.pod
	sed \
	  -e '/@ACTIONS@/rguestfish-actions.pod' -e 's/@ACTIONS@//' \
	  < $< | \
	$(POD2MAN) \
	  --section 1 \
	  -c "Virtualization Support" \
	  --name "guestfish" \
	  --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
	  > $@