summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2010-12-03 13:17:00 +0000
committerRichard W.M. Jones <rjones@redhat.com>2010-12-05 09:33:25 +0000
commit66a9d53e48f14d7fe1d9f4b801a1c5582d83efa6 (patch)
tree555e29f52452cd88a6deb086b86bb55ab85f5fff /Makefile.am
parent304ee3695e41904d8b2184922732f47aa6ccc0d4 (diff)
downloadfebootstrap-66a9d53e48f14d7fe1d9f4b801a1c5582d83efa6.tar.gz
febootstrap-66a9d53e48f14d7fe1d9f4b801a1c5582d83efa6.tar.xz
febootstrap-66a9d53e48f14d7fe1d9f4b801a1c5582d83efa6.zip
Rewrite febootstrap as a general supermin appliance building tool.3.0
This complete rewrite of the building tools turns febootstrap into a general purpose, cross-distro, supermin appliance only build tool. There is now only one program 'febootstrap' which is used to build a supermin appliance from a list of packages. Normal appliances are not supported. The tools are incompatible with febootstrap 2.x (use the febootstrap-2.x branch from git to get the old package).
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am171
1 files changed, 54 insertions, 117 deletions
diff --git a/Makefile.am b/Makefile.am
index 02bc3f3..3dcbe1f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,141 +19,78 @@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = lib helper examples
-
-bin_SCRIPTS = \
- febootstrap \
- febootstrap-run \
- febootstrap-install \
- febootstrap-minimize \
- febootstrap-to-initramfs \
- febootstrap-to-supermin
-DISTCLEANFILES = $(bin_SCRIPTS)
-
-febootstrap: febootstrap.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
- mv $@-t $@
-
-febootstrap-run: febootstrap-run.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
- mv $@-t $@
-
-febootstrap-install: febootstrap-install.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
- mv $@-t $@
-
-febootstrap-minimize: febootstrap-minimize.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
- mv $@-t $@
-
-febootstrap-to-initramfs: febootstrap-to-initramfs.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.ml
+
+CLEANFILES = *~ *.cmi *.cmo *.cmx *.o febootstrap
-febootstrap-to-supermin: febootstrap-to-supermin.sh
- rm -f $@
- cp $< $@-t
- chmod 0555 $@-t
- mv $@-t $@
+EXTRA_DIST = \
+ .gitignore \
+ .gitmodules \
+ autogen.sh \
+ febootstrap.8 \
+ febootstrap.pod \
+ m4/gnulib-cache.m4 \
+ $(SOURCES)
man_MANS = \
- febootstrap.8 \
- febootstrap-run.8 \
- febootstrap-install.8 \
- febootstrap-minimize.8 \
- febootstrap-to-initramfs.8 \
- febootstrap-to-supermin.8
+ febootstrap.8
-if HAVE_PERLDOC
+bin_SCRIPTS = febootstrap
-febootstrap.8: febootstrap.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+SOURCES_ML = $(filter %.ml,$(SOURCES))
+BOBJECTS = $(SOURCES_ML:.ml=.cmo)
+XOBJECTS = $(SOURCES_ML:.ml=.cmx)
-febootstrap.txt: febootstrap.pod
- pod2text $< > $@
+if !HAVE_OCAMLOPT
+OBJECTS = $(BOBJECTS)
+else
+OBJECTS = $(XOBJECTS)
+endif
-febootstrap-run.8: febootstrap-run.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+OCAMLPACKAGES = -package unix,str
+OCAMLFLAGS = -warn-error CDEFLMPSUVXYZ
-febootstrap-run.txt: febootstrap-run.pod
- pod2text $< > $@
+febootstrap: $(OBJECTS)
+ $(OCAMLFIND) $(OCAMLBEST) $(OCAMLFLAGS) $(OCAMLPACKAGES) -linkpkg \
+ $^ -o $@
-febootstrap-install.8: febootstrap-install.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+.mli.cmi:
+ $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
+.ml.cmo:
+ $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
+.ml.cmx:
+ $(OCAMLFIND) ocamlopt $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
-febootstrap-install.txt: febootstrap-install.pod
- pod2text $< > $@
+depend: .depend
-febootstrap-minimize.8: febootstrap-minimize.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+.depend: $(SOURCES)
+ rm -f $@ $@-t
+ $(OCAMLFIND) ocamldep $^ > $@-t
+ mv $@-t $@
-febootstrap-minimize.txt: febootstrap-minimize.pod
- pod2text $< > $@
+include .depend
-febootstrap-to-initramfs.8: febootstrap-to-initramfs.pod
- pod2man \
- --section 8 \
- -c "Virtualization Support" \
- --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
- $< > $@
+SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly
-febootstrap-to-initramfs.txt: febootstrap-to-initramfs.pod
- pod2text $< > $@
+if HAVE_PERLDOC
-febootstrap-to-supermin.8: febootstrap-to-supermin.pod
+febootstrap.8: febootstrap.pod
pod2man \
--section 8 \
-c "Virtualization Support" \
--release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \
$< > $@
-
-febootstrap-to-supermin.txt: febootstrap-to-supermin.pod
- pod2text $< > $@
-
endif
-
-EXTRA_DIST = \
- fakechroot-2.8-relchroot.patch \
- fakechroot-svn-no-dup-envs.patch \
- febootstrap.8 febootstrap.txt febootstrap.pod \
- febootstrap.sh \
- febootstrap-run.8 febootstrap-run.txt febootstrap-run.pod \
- febootstrap-run.sh \
- febootstrap-install.8 febootstrap-install.txt febootstrap-install.pod \
- febootstrap-install.sh \
- febootstrap-minimize.8 febootstrap-minimize.txt \
- febootstrap-minimize.pod \
- febootstrap-minimize.sh \
- febootstrap-to-initramfs.8 febootstrap-to-initramfs.txt \
- febootstrap-to-initramfs.pod \
- febootstrap-to-initramfs.sh \
- febootstrap-to-supermin.8 febootstrap-to-supermin.txt \
- febootstrap-to-supermin.pod \
- febootstrap-to-supermin.sh \
- m4/gnulib-cache.m4