X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=sparsify%2FMakefile.am;fp=sparsify%2FMakefile.am;h=7d950b41a7c335a974e288aeb49a073c5fb0002e;hb=fac15924f59a076c903d453d20305e00e1ae258a;hp=0000000000000000000000000000000000000000;hpb=293772bf7511dee41a1f3e842424678c1a6bf9e4;p=libguestfs.git diff --git a/sparsify/Makefile.am b/sparsify/Makefile.am new file mode 100644 index 0000000..7d950b4 --- /dev/null +++ b/sparsify/Makefile.am @@ -0,0 +1,122 @@ +# libguestfs virt-sparsify tool +# 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., 675 Mass Ave, Cambridge, MA 02139, USA. + +include $(top_srcdir)/subdir-rules.mk + +EXTRA_DIST = \ + $(SOURCES) \ + virt-sparsify.pod \ + test-virt-sparsify.sh + +CLEANFILES = *~ *.cmi *.cmo *.cmx *.cmxa *.o virt-sparsify test.img + +if HAVE_OCAML + +# Alphabetical order. +SOURCES = \ + progress_c.c \ + progress.mli \ + progress.ml \ + sparsify.ml \ + utils.ml + +# Note this list must be in dependency order. +OBJECTS = \ + ../fish/guestfish-progress.o \ + progress_c.o \ + utils.cmx \ + progress.cmx \ + sparsify.cmx + +bin_SCRIPTS = virt-sparsify + +# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L +# option to be passed to gcc, so we don't try linking against an +# installed copy of libguestfs. +OCAMLPACKAGES = -package unix -I $(top_builddir)/src/.libs -I ../ocaml + +OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES) +OCAMLOPTFLAGS = $(OCAMLCFLAGS) + +virt-sparsify: $(OBJECTS) + $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \ + mlguestfs.cmxa -linkpkg $^ -cclib -lncurses -o $@ + +.mli.cmi: + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@ +.ml.cmo: + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@ +.ml.cmx: + $(OCAMLFIND) ocamlopt $(OCAMLCFLAGS) -c $< -o $@ + +# automake will decide we don't need C support in this file. Really +# we do, so we have to provide it ourselves. + +DEFAULT_INCLUDES = -I. -I$(top_builddir) -I$(shell $(OCAMLC) -where) -I../fish + +.c.o: + $(CC) $(CFLAGS) $(PROF_CFLAGS) $(DEFAULT_INCLUDES) -c $< -o $@ + +# Manual pages and HTML files for the website. + +man_MANS = virt-sparsify.1 + +noinst_DATA = $(top_builddir)/html/virt-sparsify.1.html + +virt-sparsify.1 $(top_builddir)/html/virt-sparsify.1.html: stamp-virt-sparsify.pod + +stamp-virt-sparsify.pod: virt-sparsify.pod + $(top_builddir)/podwrapper.sh \ + --man virt-sparsify.1 \ + --html $(top_builddir)/html/virt-sparsify.1.html \ + $< + touch $@ + +CLEANFILES += stamp-virt-sparsify.pod + +# Tests. + +random_val := $(shell awk 'BEGIN{srand(); print 1+int(255*rand())}' < /dev/null) + +TESTS_ENVIRONMENT = \ + MALLOC_PERTURB_=$(random_val) \ + LD_LIBRARY_PATH=$(top_builddir)/src/.libs \ + LIBGUESTFS_PATH=$(top_builddir)/appliance \ + TMPDIR=$(top_builddir) + +TESTS = test-virt-sparsify.sh + +# Dependencies. +depend: .depend + +.depend: $(wildcard *.mli) $(wildcard *.ml) + rm -f $@ $@-t + $(OCAMLFIND) ocamldep $^ | \ + $(SED) 's/ *$$//' | \ + $(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \ + sort > $@-t + mv $@-t $@ + +include .depend + +.PHONY: depend docs + +endif + +# Parallel builds don't obey dependencies for some reason we +# don't understand. +.NOTPARALLEL: