X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2FMakefile.am;h=dadda91ed154bec0f10351daa394d07a9d7ade25;hp=4d17aa1ba2ea0115661b33a75b056512398cd0a1;hb=6283982e36eeb3d19940618dc0aec88da08c7516;hpb=0003ea2c3dbaa7e22f4f616539136821d80694b8 diff --git a/fish/Makefile.am b/fish/Makefile.am index 4d17aa1..dadda91 100644 --- a/fish/Makefile.am +++ b/fish/Makefile.am @@ -21,6 +21,7 @@ bin_PROGRAMS = guestfish generator_built = \ cmds.c \ + cmds_gperf.gperf \ completion.c \ guestfish-actions.pod \ guestfish-commands.pod \ @@ -29,6 +30,7 @@ generator_built = \ BUILT_SOURCES = \ $(generator_built) \ + cmds_gperf.c \ rc_protocol.h \ rc_protocol.c @@ -38,9 +40,22 @@ EXTRA_DIST = \ guestfish.pod \ guestfish-bash-completion.sh +# These source files (all related to option parsing) are shared +# between guestfish and guestmount. Keep a convenient list here just +# so we know which ones are shared. These files must not include +# other guestfish files. +SHARED_SOURCE_FILES = \ + inspect.c \ + keys.c \ + options.h \ + options.c \ + virt.c + guestfish_SOURCES = \ $(generator_built) \ + $(SHARED_SOURCE_FILES) \ alloc.c \ + cmds_gperf.h \ copy.c \ destpaths.c \ echo.c \ @@ -48,7 +63,8 @@ guestfish_SOURCES = \ fish.c \ fish.h \ glob.c \ - inspect.c \ + help.c \ + hexedit.c \ lcd.c \ man.c \ more.c \ @@ -64,14 +80,23 @@ guestfish_SOURCES = \ rmsd.h \ supported.c \ tilde.c \ - time.c \ - virt.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 +# Build the command lookup perfect hash code. The generated code has +# lots of warnings so we must compile it in a separate mini-library. +libcmds_la_SOURCES = cmds_gperf.c +libcmds_la_CFLAGS = + +cmds_gperf.c: cmds_gperf.gperf + rm -f $@ + $(GPERF) -t $< > $@-t + mv $@-t $@ + guestfish_CFLAGS = \ -I$(top_srcdir)/src -I$(top_builddir)/src \ -I$(top_srcdir)/fish -I$(top_builddir)/fish \ @@ -85,9 +110,9 @@ guestfish_LDADD = \ $(LIBVIRT_LIBS) $(LIBXML2_LIBS) \ $(top_builddir)/src/libguestfs.la $(LIBREADLINE) -lm -# Make libguestfs use the convenience library. -noinst_LTLIBRARIES = librc_protocol.la -guestfish_LDADD += librc_protocol.la ../gnulib/lib/libgnu.la +# Make guestfish use the convenience libraries. +noinst_LTLIBRARIES = libcmds.la librc_protocol.la +guestfish_LDADD += libcmds.la librc_protocol.la ../gnulib/lib/libgnu.la if HAVE_RPCGEN rc_protocol.c: rc_protocol.x