summaryrefslogtreecommitdiff
path: root/support/syngen/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'support/syngen/src/Makefile')
-rw-r--r--support/syngen/src/Makefile73
1 files changed, 73 insertions, 0 deletions
diff --git a/support/syngen/src/Makefile b/support/syngen/src/Makefile
new file mode 100644
index 0000000000..70b3bfb37b
--- /dev/null
+++ b/support/syngen/src/Makefile
@@ -0,0 +1,73 @@
+# Compilation options
+CSLC=cslc
+CSLOPT=cslopt
+CSLDEP=csldep
+INCLUDES=
+CSLFLAGS=$(INCLUDES)
+CSLOPTFLAGS=$(INCLUDES)
+
+# The directory where the public executable will be installed
+BINDIR=/usr/local/bin
+
+# The manual section where the manual pages will be installed
+MANEXT=1
+
+# The directory where the manual pages will be installed
+MANDIR=/usr/local/man/man$(MANEXT)
+
+##### End of configuration section
+
+
+# The commands for bytecode compilation
+
+# The list of object files in bytecode format
+SYNGEN_BYTE_OBJS=lexer.cmo parser.cmo picture.cmo boxes.cmo latexcode.cmo\
+ main.cmo
+
+byte: $(SYNGEN_BYTE_OBJS)
+ $(CSLC) -o syngen $(CSLFLAGS) $(SYNGEN_BYTE_OBJS)
+
+
+# The commands for native-code compilation
+
+# The list of object files in native-code format
+SYNGEN_NATIVE_OBJS=lexer.cmx parser.cmx picture.cmx boxes.cmx\
+ latexcode.cmx main.cmx
+
+native: $(SYNGEN_NATIVE_OBJS)
+ $(CSLOPT) -o syngen $(CSLOPTFLAGS) $(SYNGEN_NATIVE_OBJS)
+
+
+# Common rules
+
+.SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+.ml.cmo:
+ $(CSLC) $(CSLFLAGS) -c $<
+
+.mli.cmi:
+ $(CSLC) $(CSLFLAGS) -c $<
+
+.ml.cmx:
+ $(CSLOPT) $(CSLOPTFLAGS) -c $<
+
+
+# Clean up
+
+clean:
+ rm -f *.cm[iox] *.o *~
+
+
+# Installation
+
+install:
+ cp syngen $(BINDIR)/syngen
+ cp syngen.m $(MANDIR)/syngen.$(MANEXT)
+
+
+# Dependencies
+
+depend:
+ $(CSLDEP) $(INCLUDES) *.mli *.ml > depend
+
+include depend