X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Makefile.in;h=7fbf0de1ab85455712af6f698bbec60825d5490c;hb=915b9bff547705bf9df287ffb2a057eeaec4ca02;hp=eeca209162e768196e7a43aa60c74126556a74bb;hpb=98a2cfdd3bdf5641e268e7db7c7ea2d23656b296;p=goals.git diff --git a/Makefile.in b/Makefile.in index eeca209..7fbf0de 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Goalfile parser +# Goals # Copyright (C) 2019 Richard W.M. Jones # Copyright (C) 2019 Red Hat Inc. # @@ -16,18 +16,44 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -SUBDIRS = src tests +# Pass through normal targets to Goalfile.in -all clean depend install: - $(MAKE) -C src $@ +all clean depend install check maintainer-clean: src/goals + @./run src/goals $@ +# If src/goals doesn't exist then brute-force build it. Once we have +# src/goals we can rebuild it and other parts of the project using +# goals itself (see Goalfile.in). + +MENHIR = @MENHIR@ +OCAMLDEP = @OCAMLDEP@ +OCAMLFIND = @OCAMLFIND@ +OCAMLLEX = @OCAMLLEX@ +OCAMLFLAGS = @OCAMLFLAGS@ +OCAMLPACKAGES = @OCAMLPACKAGES@ + +src/goals: + $(MENHIR) --explain src/parser.mly +# Hack required to break circular dependencies. + echo 'val lexer_read : (Lexing.lexbuf -> token) option ref' >> src/parser.mli + echo 'val eval_substitute : (Ast.env -> Ast.loc -> Ast.substs -> string) option ref' >> src/parser.mli + $(OCAMLLEX) src/lexer.mll + $(OCAMLFIND) opt $(OCAMLFLAGS) $(OCAMLPACKAGES) -I . -I src \ + src/utils-c.c \ + $$($(OCAMLDEP) -sort src/*.mli src/*.ml) \ + -linkpkg -o $@ + +# These rules are required by autoconf. config.h: stamp-h stamp-h: config.h.in config.status ./config.status config.h touch $@ Makefile: Makefile.in config.status - ./config.status Makefile + ./config.status $@ + +run: run.in config.status + ./config.status $@ $(srcdir)/configure: configure.ac aclocal.m4 cd '$(srcdir)' && autoconf