# febootstrap Makefile.am
-# (C) Copyright 2009 Red Hat Inc.
+# (C) Copyright 2009-2010 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
#
# Written by Richard W.M. Jones <rjones@redhat.com>
-bin_SCRIPTS = febootstrap febootstrap-to-initramfs
+ACLOCAL_AMFLAGS = -I m4
-febootstrap: febootstrap.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
- mv $@-t $@
+SUBDIRS = lib helper
+
+# Note these must be in build dependency order.
+SOURCES = \
+ config.ml \
+ febootstrap_utils.mli \
+ febootstrap_utils.ml \
+ febootstrap_cmdline.mli \
+ febootstrap_cmdline.ml \
+ febootstrap_package_handlers.mli \
+ febootstrap_package_handlers.ml \
+ febootstrap_yum_rpm.ml \
+ febootstrap_debian.ml \
+ febootstrap_pacman.ml \
+ febootstrap.ml
+
+CLEANFILES = *~ *.cmi *.cmo *.cmx *.o febootstrap
+
+EXTRA_DIST = \
+ .gitignore \
+ .gitmodules \
+ autogen.sh \
+ febootstrap.8 \
+ febootstrap.pod \
+ m4/gnulib-cache.m4 \
+ $(SOURCES)
+
+man_MANS = \
+ febootstrap.8
+
+bin_SCRIPTS = febootstrap
+
+SOURCES_ML = $(filter %.ml,$(SOURCES))
+BOBJECTS = $(SOURCES_ML:.ml=.cmo)
+XOBJECTS = $(SOURCES_ML:.ml=.cmx)
-febootstrap-to-initramfs: febootstrap-to-initramfs.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
+if !HAVE_OCAMLOPT
+OBJECTS = $(BOBJECTS)
+else
+OBJECTS = $(XOBJECTS)
+endif
+
+OCAMLPACKAGES = -package unix,str
+OCAMLFLAGS = -warn-error CDEFLMPSUVXYZ
+
+febootstrap: $(OBJECTS)
+ $(OCAMLFIND) $(OCAMLBEST) $(OCAMLFLAGS) $(OCAMLPACKAGES) -linkpkg \
+ $^ -o $@
+
+.mli.cmi:
+ $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
+.ml.cmo:
+ $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
+.ml.cmx:
+ $(OCAMLFIND) ocamlopt $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
+
+depend: .depend
+
+.depend: $(SOURCES)
+ rm -f $@ $@-t
+ $(OCAMLFIND) ocamldep $^ > $@-t
mv $@-t $@
-man_MANS = febootstrap.8 febootstrap-to-initramfs.8 febootstrap-fix-root.8
+include .depend
+
+SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly
if HAVE_PERLDOC
+
febootstrap.8: febootstrap.pod
pod2man \
--section 8 \
--release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
$< > $@
-febootstrap.txt: febootstrap.pod
- pod2text $< > $@
+noinst_DATA = \
+ html/febootstrap.8.html
-febootstrap-to-initramfs.8: febootstrap-to-initramfs.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+html/febootstrap.8.html: febootstrap.pod
+ mkdir -p html
+ pod2html \
+ --css 'pod.css' \
+ --htmldir html \
+ --outfile html/febootstrap.8.html \
+ febootstrap.pod
-febootstrap-to-initramfs.txt: febootstrap-to-initramfs.pod
- pod2text $< > $@
+endif
-febootstrap-fix-root.8: febootstrap-fix-root.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+# Maintainer website update.
+HTMLFILES = \
+ html/febootstrap.8.html \
+ html/febootstrap-supermin-helper.8.html
-febootstrap-fix-root.txt: febootstrap-fix-root.pod
- pod2text $< > $@
-endif
+WEBSITEDIR = $(HOME)/d/redhat/websites/libguestfs
-EXTRA_DIST = \
- febootstrap.8 febootstrap.txt \
- febootstrap-to-initramfs.8 febootstrap-to-initramfs.txt \
- febootstrap-fix-root.8 febootstrap-fix-root.txt
+website: $(HTMLFILES)
+ cp $(HTMLFILES) $(WEBSITEDIR)
+
+CLEANFILES += $(HTMLFILES) pod2*.tmp