From da85ed425dc828ef4b8817f64d448101a88507b5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 2 Jul 2009 11:29:00 +0100 Subject: Generator now runs automatically when it has changed. --- src/Makefile.am | 19 ++++++++++++++++--- src/generator.ml | 7 +++++++ 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index 06d4522c..eb8723a2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -15,12 +15,25 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTRA_DIST = guestfs_protocol.x \ +EXTRA_DIST = \ + guestfs_protocol.x \ guestfs_protocol.c \ guestfs_protocol.h \ - MAX_PROC_NR + MAX_PROC_NR \ + stamp-generator \ + generator.ml -EXTRA_DIST += generator.ml +# Rerun the generator if it has changed. +# Git removes empty directories, so in cases where the +# generator is creating the sole file in a directory, we +# have to create the directory first. +noinst_DATA = stamp-generator + +stamp-generator: generator.ml + mkdir -p $(top_srcdir)/perl/lib/Sys + cd .. && ocaml -warn-error A $(srcdir)/src/$< + +guestfs_protocol.x: stamp-generator include_HEADERS = guestfs.h guestfs-actions.h guestfs-structs.h diff --git a/src/generator.ml b/src/generator.ml index df5ff7e2..766650f3 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -8712,3 +8712,10 @@ Run it from the top source directory using the command let close = output_to "src/MAX_PROC_NR" in generate_max_proc_nr (); close (); + + (* Always generate this file last, and unconditionally. It's used + * by the Makefile to know when we must re-run the generator. + *) + let chan = open_out "src/stamp-generator" in + fprintf chan "1\n"; + close_out chan -- cgit