diff --git a/Makefile b/Makefile index 8b0e986d849554b335f19bfa35517f9a937fcf99..01b38f5c311d47ca5cf66e6b5d34c8b5dc006bea 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,10 @@ PHONY: config test -test: - $(MAKE) -C src $@ +BINARIES=acgc acgc.opt acg acg.opt +test opt: + $(MAKE) -C src $@ + for file in $(BINARIES); do find . -name "$$file" -exec cp {} . \; ; done superclean clean: @@ -10,6 +12,7 @@ superclean clean: $(MAKE) -C src $@ rm -rf *.log *~ autom4te.cache find data/. -name "*~" -exec rm -f {} \; + -for file in $(BINARIES); do rm $$file ; done diff --git a/Makefile.in b/Makefile.in index 8b0e986d849554b335f19bfa35517f9a937fcf99..01b38f5c311d47ca5cf66e6b5d34c8b5dc006bea 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,8 +1,10 @@ PHONY: config test -test: - $(MAKE) -C src $@ +BINARIES=acgc acgc.opt acg acg.opt +test opt: + $(MAKE) -C src $@ + for file in $(BINARIES); do find . -name "$$file" -exec cp {} . \; ; done superclean clean: @@ -10,6 +12,7 @@ superclean clean: $(MAKE) -C src $@ rm -rf *.log *~ autom4te.cache find data/. -name "*~" -exec rm -f {} \; + -for file in $(BINARIES); do rm $$file ; done diff --git a/src/Makefile b/src/Makefile index 52dd89450ac3aac41e7a1edbbd2bb869b738003d..b8ca9cc94001fd97e01c4cf99cf1b44eab21633a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -5,9 +5,12 @@ SUBDIRS= utils logic grammars acg-data scripting lambda test: $(foreach dir,$(SUBDIRS),$(MAKE) -r -S -C $(dir) byte;) +opt: + $(foreach dir,$(SUBDIRS),$(MAKE) -r -S -C $(dir) opt;) + superclean clean: - rm -rf *~ + rm -rf *~ *.log $(foreach dir,$(SUBDIRS),$(MAKE) -r -S -C $(dir) $@;) diff --git a/src/Makefile.common b/src/Makefile.common index 9a7da58b3c1d6618f7d2c61dcec44ad647d8f6d4..16b84e167043a9a14bba75353cbb5ad3275f10b0 100644 --- a/src/Makefile.common +++ b/src/Makefile.common @@ -21,6 +21,8 @@ CMX = $(ML:.ml=.cmx) .PHONY : all byte opt clean $(PRELIMINARY) superclean +.PRECIOUS : $(DYP:%.dyp=%.ml %.mli) $(CAMLLEX:%.mll=%.ml) + PP = $(OCAMLPP) EXE = $(EXE_SOURCES:%.ml=%) @@ -35,6 +37,7 @@ DYP_MLI=$(DYP:%.dyp=%.mli) # Makes byte the default goal byte : $(PRELIMINARY) $(LOCAL_CMO) $(EXE) +byte_mli : $(PRELIMINARY) $(LOCAL_MLI:%.mli=%.cmi) opt : $(PRELIMINARY) $(LOCAL_CMX) $(EXEOPT) ifdef EXE_SOURCES @@ -49,7 +52,7 @@ endif ../%.cmi : ../%.mli - $(foreach dir,$(PREVIOUS_DIRS),$(MAKE) -r -S -C $(dir) byte;) + $(foreach dir,$(PREVIOUS_DIRS),$(MAKE) -r -S -C $(dir) byte_mli;) %.cmi : %.mli ocamlc.opt $(PP) -c $(LIBDIR) $(LIBS) $(BYTEFLAGS) $< diff --git a/src/Makefile.common.in b/src/Makefile.common.in index 82c40bd8818517c5a52c3931b99408a777a0e035..39cfe869f7a45a9dd54df9203f3c496719e993ee 100644 --- a/src/Makefile.common.in +++ b/src/Makefile.common.in @@ -21,6 +21,8 @@ CMX = $(ML:.ml=.cmx) .PHONY : all byte opt clean $(PRELIMINARY) superclean +.PRECIOUS : $(DYP:%.dyp=%.ml %.mli) $(CAMLLEX:%.mll=%.ml) + PP = $(OCAMLPP) EXE = $(EXE_SOURCES:%.ml=%) @@ -35,6 +37,7 @@ DYP_MLI=$(DYP:%.dyp=%.mli) # Makes byte the default goal byte : $(PRELIMINARY) $(LOCAL_CMO) $(EXE) +byte_mli : $(PRELIMINARY) $(LOCAL_MLI:%.mli=%.cmi) opt : $(PRELIMINARY) $(LOCAL_CMX) $(EXEOPT) ifdef EXE_SOURCES @@ -49,7 +52,7 @@ endif ../%.cmi : ../%.mli - $(foreach dir,$(PREVIOUS_DIRS),$(MAKE) -r -S -C $(dir) byte;) + $(foreach dir,$(PREVIOUS_DIRS),$(MAKE) -r -S -C $(dir) byte_mli;) %.cmi : %.mli @OCAMLC@ $(PP) -c $(LIBDIR) $(LIBS) $(BYTEFLAGS) $< diff --git a/src/Makefile.in b/src/Makefile.in index 52dd89450ac3aac41e7a1edbbd2bb869b738003d..b8ca9cc94001fd97e01c4cf99cf1b44eab21633a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -5,9 +5,12 @@ SUBDIRS= utils logic grammars acg-data scripting lambda test: $(foreach dir,$(SUBDIRS),$(MAKE) -r -S -C $(dir) byte;) +opt: + $(foreach dir,$(SUBDIRS),$(MAKE) -r -S -C $(dir) opt;) + superclean clean: - rm -rf *~ + rm -rf *~ *.log $(foreach dir,$(SUBDIRS),$(MAKE) -r -S -C $(dir) $@;) diff --git a/src/grammars/Makefile b/src/grammars/Makefile index bf6983efa1148938867088ac57c9de78db91de48..3eddc1bba4763320eb8941e0876ad87585fa4e43 100644 --- a/src/grammars/Makefile +++ b/src/grammars/Makefile @@ -58,7 +58,7 @@ include ../Makefile.common # ocamllex.opt $< parser.ml: ../utils/utils.cmi acg_token.cmi syntactic_data_structures.cmi \ - lexer.cmo error.cmi environment.cmi entry.cmi \ + lexer.cmi error.cmi environment.cmi entry.cmi \ ../logic/abstract_syntax.cmi parser.cmo: ../utils/utils.cmi acg_token.cmi syntactic_data_structures.cmi \ diff --git a/src/grammars/Makefile.in b/src/grammars/Makefile.in index 959e7626c4c22c5d7498b1dacd91068f4f61aa67..4e5ffa0b6ea6a424bb89841460d06300b93cae02 100644 --- a/src/grammars/Makefile.in +++ b/src/grammars/Makefile.in @@ -58,7 +58,7 @@ include ../Makefile.common # @OCAMLLEX@ $< parser.ml: ../utils/utils.cmi acg_token.cmi syntactic_data_structures.cmi \ - lexer.cmo error.cmi environment.cmi entry.cmi \ + lexer.cmi error.cmi environment.cmi entry.cmi \ ../logic/abstract_syntax.cmi parser.cmo: ../utils/utils.cmi acg_token.cmi syntactic_data_structures.cmi \ diff --git a/src/scripting/Makefile.in b/src/scripting/Makefile.in index c5c4a93461ef3e6933606c0c1b96742bb788d117..933cfc74536180b649eb15d50ed166b7c6bf24c6 100644 --- a/src/scripting/Makefile.in +++ b/src/scripting/Makefile.in @@ -40,7 +40,7 @@ EXE_SOURCES = acg.ml include ../Makefile.common -script_parser.ml: scripting_errors.cmi script_lexer.cmo functions.cmi \ +script_parser.ml: scripting_errors.cmi script_lexer.cmi functions.cmi \ ../grammars/error.cmi ../grammars/environment.cmi \ ../logic/abstract_syntax.cmi