diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2010-12-03 13:17:00 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2010-12-05 09:33:25 +0000 |
commit | 66a9d53e48f14d7fe1d9f4b801a1c5582d83efa6 (patch) | |
tree | 555e29f52452cd88a6deb086b86bb55ab85f5fff /Makefile.am | |
parent | 304ee3695e41904d8b2184922732f47aa6ccc0d4 (diff) | |
download | febootstrap-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.am | 171 |
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 |