summaryrefslogtreecommitdiff
path: root/gnu.ocaml.prog.mk
diff options
context:
space:
mode:
Diffstat (limited to 'gnu.ocaml.prog.mk')
-rw-r--r--gnu.ocaml.prog.mk58
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)