summaryrefslogtreecommitdiff
path: root/asmcomp/Makefile
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1995-06-15 08:17:29 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1995-06-15 08:17:29 +0000
commit3ceaa85c72b2094bb090a1819b65a2792cf2d3c1 (patch)
tree1867a2dbad04858016b4a6da98546dab8f0938a7 /asmcomp/Makefile
parent21db169a88b861f854f96f5d2ff3117366738aa1 (diff)
downloadocaml-3ceaa85c72b2094bb090a1819b65a2792cf2d3c1.tar.gz
Premiere version.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@34 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'asmcomp/Makefile')
-rw-r--r--asmcomp/Makefile91
1 files changed, 91 insertions, 0 deletions
diff --git a/asmcomp/Makefile b/asmcomp/Makefile
new file mode 100644
index 0000000000..5f8073f3d5
--- /dev/null
+++ b/asmcomp/Makefile
@@ -0,0 +1,91 @@
+ARCH=sparc
+
+include ../Makefile.config
+
+CAMLC=cslc
+COMPFLAGS=$(INCLUDES)
+LINKFLAGS=
+CAMLYACC=cslyacc
+YACCFLAGS=
+CAMLLEX=csllex
+CAMLDEP=../tools/camldep
+DEPFLAGS=$(INCLUDES)
+CAMLRUN=cslrun
+
+INCLUDES=-I ../utils -I ../typing
+
+UTILS=../utils/misc.cmo ../utils/tbl.cmo ../typing/ident.cmo
+
+OBJS=arch.cmo cmm.cmo printcmm.cmo \
+ reg.cmo mach.cmo proc.cmo printmach.cmo \
+ selection.cmo sequence.cmo liveness.cmo spill.cmo split.cmo \
+ interf.cmo coloring.cmo reload.cmo linearize.cmo printlinear.cmo \
+ emitaux.cmo emit.cmo \
+ parsecmmaux.cmo parsecmm.cmo lexcmm.cmo \
+ codegen.cmo main.cmo
+
+codegen: $(OBJS)
+ $(CAMLC) $(LINKFLAGS) -o codegen $(UTILS) $(OBJS)
+clean::
+ rm -f codegen
+
+# Choose the right arch, emit and proc files
+
+arch.ml: arch_$(ARCH).ml
+ ln -s arch_$(ARCH).ml arch.ml
+clean::
+ rm -f arch.ml
+beforedepend:: arch.ml
+
+proc.ml: proc_$(ARCH).ml
+ ln -s proc_$(ARCH).ml proc.ml
+clean::
+ rm -f proc.ml
+beforedepend:: proc.ml
+
+# Preprocess the code emitters
+
+emit.ml: emit_$(ARCH).mlp ../tools/cvt_emit
+ ../tools/cvt_emit emit_$(ARCH).mlp > emit.ml || rm -f emit.ml
+clean::
+ rm -f emit.ml
+
+beforedepend:: emit.ml
+
+# The parser
+
+parsecmm.mli parsecmm.ml: parsecmm.mly
+ $(CAMLYACC) $(YACCFLAGS) parsecmm.mly
+
+clean::
+ rm -f parsecmm.mli parsecmm.ml parsecmm.output
+
+beforedepend:: parsecmm.mli parsecmm.ml
+
+# The lexer
+
+lexcmm.ml: lexcmm.mll
+ $(CAMLLEX) lexcmm.mll
+
+clean::
+ rm -f lexcmm.ml
+
+beforedepend:: lexcmm.ml
+
+# Default rules
+
+.SUFFIXES: .ml .mli .cmo .cmi
+
+.ml.cmo:
+ $(CAMLC) $(COMPFLAGS) -c $<
+
+.mli.cmi:
+ $(CAMLC) $(COMPFLAGS) -c $<
+
+clean::
+ rm -f *.cm[io] *~
+
+depend: beforedepend
+ $(CAMLDEP) $(DEPFLAGS) *.mli *.ml > .depend
+
+include .depend