diff options
Diffstat (limited to 'gnu.ocaml.prog.mk')
| -rw-r--r-- | gnu.ocaml.prog.mk | 58 |
1 files changed, 5 insertions, 53 deletions
diff --git a/gnu.ocaml.prog.mk b/gnu.ocaml.prog.mk index 26e7797..dde734a 100644 --- a/gnu.ocaml.prog.mk +++ b/gnu.ocaml.prog.mk @@ -14,61 +14,13 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -include $(dir $(lastword $(MAKEFILE_LIST)))gnu.ocaml.rules.mk +include $(dir $(lastword $(MAKEFILE_LIST)))gnu.ocaml.obj.mk -DEPFILE?= .Makefile.dep -MENHIR?= menhir -OCAMLLEX?= ocamllex PROG?= a.out -SRC+= $(CSRC) -ifdef CSRC -ifndef OCAMLNATIVE -OCAMLFLAGS+= -custom -endif -endif - -ifndef OCAMLC -ifdef OCAMLNATIVE -OCAMLC= ocamlfind ocamlopt -else -OCAMLC= ocamlfind ocamlc -endif -endif - -ifdef PKG -OCAMLFLAGS+= -linkpkg -package "$(PKG)" -endif - -OCAMLFLAGS+= $(DEBUG) - --include $(DEPFILE) - -OBJ+= $(patsubst %.c, %.o, $(filter %.c, $(SRC))) - -ifdef OCAMLNATIVE -OBJ+= $(patsubst %.ml, %.cmx, $(filter %.ml, $(SRC))) -CLEAN+= $(patsubst %.cmx, %.o, $(OBJ)) -CLEAN+= $(patsubst %.cmx, %.cmi, $(OBJ)) -else -OBJ+= $(patsubst %.ml, %.cmo, $(filter %.ml, $(SRC))) -CLEAN+= $(patsubst %.cmo, %.cmi, $(OBJ)) -endif - -INTER= $(patsubst %.mly, %.ml, $(wildcard *.mly)) -INTER+= $(patsubst %.mll, %.ml, $(wildcard *.mll)) -CLEAN+= $(patsubst %.ml, %.mli, $(INTER)) +.DEFAULT_GOAL:= $(PROG) -$(DEPFILE): $(wildcard *.ml) $(INTER) - printf "SRC+=\t%s\n" `ocamldep -sort *.ml` > $(DEPFILE) - printf "\n%s\n" "`ocamldep *.mli *.ml`" >> $(DEPFILE) -$(PROG): $(DEPFILE) $(OBJ) - $(OCAMLC) $(OCAMLFLAGS) -o $@ $(filter-out $(DEPFILE), $^) -all: $(PROG) -clean: - $(RM) $(CLEAN) $(OBJ) $(PROG) $(INTER) -dist-clean: clean - $(RM) $(DEPFILE) +$(PROG): $(_OBJ) + $(OCAMLC) $(OCAMLFLAGS) -o $@ $^ -.DEFAULT_GOAL:= $(PROG) -.SUFFIXES: +all: $(PROG) |
