aboutsummaryrefslogtreecommitdiffstats
path: root/make/otp.mk.in
diff options
context:
space:
mode:
Diffstat (limited to 'make/otp.mk.in')
-rw-r--r--make/otp.mk.in267
1 files changed, 267 insertions, 0 deletions
diff --git a/make/otp.mk.in b/make/otp.mk.in
new file mode 100644
index 0000000000..bcf9bd85a4
--- /dev/null
+++ b/make/otp.mk.in
@@ -0,0 +1,267 @@
+#-*-makefile-*- ; force emacs to enter makefile-mode
+# ----------------------------------------------------
+# Make include file for otp
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1997-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+# Author: Lars Thorsen
+# ----------------------------------------------------
+.SUFFIXES: .erl .beam .yrl .xrl .bin .mib .hrl .sgml .xml .xmlsrc .html .ps \
+ .3 .1 .fig .dvi .tex .class .java .pdf .fo .psframe .pscrop .el .elc
+
+# ----------------------------------------------------
+# Common macros
+# ----------------------------------------------------
+DEFAULT_TARGETS = opt debug release release_docs clean docs
+
+# Slash separated list of return values from $(origin VAR)
+# that are untrusted - set default in this file instead.
+# The list is not space separated since some return values
+# contain space, and we want to use $(findstring ...) to
+# search the list.
+DUBIOUS_ORIGINS = /undefined/environment/
+
+# ----------------------------------------------------
+# HiPE
+# ----------------------------------------------------
+
+HIPE_ENABLED=@HIPE_ENABLED@
+NATIVE_LIBS_ENABLED=@NATIVE_LIBS_ENABLED@
+
+# ----------------------------------------------------
+# Command macros
+# ----------------------------------------------------
+INSTALL = @INSTALL@
+INSTALL_DIR = @INSTALL_DIR@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_DATA = @INSTALL_DATA@
+
+CC = @CC@
+HCC = @HCC@
+CC32 = @CC32@
+CFLAGS32 = @CFLAGS32@
+BASIC_CFLAGS = @CFLAGS@
+DEBUG_FLAGS = @DEBUG_FLAGS@
+LD = @LD@
+RANLIB = @RANLIB@
+AR = @AR@
+PERL = @PERL@
+
+BITS64 = @BITS64@
+
+OTP_RELEASE = @OTP_RELEASE@
+
+# ----------------------------------------------------
+# Erlang language section
+# ----------------------------------------------------
+EMULATOR = beam
+ifeq ($(findstring vxworks,$(TARGET)),vxworks)
+# VxWorks object files should be compressed.
+# Other object files should have debug_info.
+ ERL_COMPILE_FLAGS += +compressed
+else
+ ifeq ($(findstring ose_ppc750,$(TARGET)),ose_ppc750)
+ ERL_COMPILE_FLAGS += +compressed
+ else
+ ifdef BOOTSTRAP
+ ERL_COMPILE_FLAGS += +slim
+ else
+ ERL_COMPILE_FLAGS += +debug_info
+ endif
+ endif
+endif
+ERLC_WFLAGS = -W
+ERLC = erlc $(ERLC_WFLAGS) $(ERLC_FLAGS)
+ERL = erl -boot start_clean
+
+ifneq (,$(findstring $(origin EBIN),$(DUBIOUS_ORIGINS)))
+EBIN = ../ebin
+endif
+
+# Generated (non ebin) files...
+ifneq (,$(findstring $(origin EGEN),$(DUBIOUS_ORIGINS)))
+EGEN = .
+endif
+
+ifneq (,$(findstring $(origin ESRC),$(DUBIOUS_ORIGINS)))
+ESRC = .
+endif
+
+$(EBIN)/%.beam: $(EGEN)/%.erl
+ $(ERLC) $(ERL_COMPILE_FLAGS) -o$(EBIN) $<
+
+$(EBIN)/%.beam: $(ESRC)/%.erl
+ $(ERLC) $(ERL_COMPILE_FLAGS) -o$(EBIN) $<
+
+.erl.beam:
+ $(ERLC) $(ERL_COMPILE_FLAGS) -o$(dir $@) $<
+
+#
+# When .erl files are automatically created GNU make removes them if
+# they were the result of a chain of implicit rules. To prevent this
+# we say that all .erl files are "precious".
+#
+.PRECIOUS: %.erl %.fo
+
+## Uncomment these lines and add .idl to suffixes above to have erlc
+## eat IDL files
+##$(EGEN)/%.erl: $(ESRC)/%.idl
+## $(ERLC) $(IDL_FLAGS) $<
+
+$(EGEN)/%.erl: $(ESRC)/%.yrl
+ $(ERLC) $(YRL_FLAGS) -o$(EGEN) $<
+
+$(EGEN)/%.erl: $(ESRC)/%.xrl
+ $(ERLC) $(XRL_FLAGS) -o$(EGEN) $<
+
+# ----------------------------------------------------
+# SNMP language section
+# ----------------------------------------------------
+SNMP_TOOLKIT = $(ERL_TOP)/lib/snmp
+ifeq ($(SNMP_BIN_TARGET_DIR),)
+ SNMP_BIN_TARGET_DIR = ../priv/mibs
+endif
+ifeq ($(SNMP_HRL_TARGET_DIR),)
+ SNMP_HRL_TARGET_DIR = ../include
+endif
+
+
+$(SNMP_BIN_TARGET_DIR)/%.bin: %.mib
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin -I $(SNMP_TOOLKIT)/priv/mibs $(SNMP_FLAGS) -o $(SNMP_BIN_TARGET_DIR) $<
+
+$(SNMP_HRL_TARGET_DIR)/%.hrl: $(SNMP_BIN_TARGET_DIR)/%.bin
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin -o $(SNMP_HRL_TARGET_DIR) $<
+
+.mib.bin:
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin -I $(SNMP_TOOLKIT)/priv/mibs $(SNMP_FLAGS) $<
+
+.bin.hrl:
+ $(ERLC) -pa $(SNMP_TOOLKIT)/ebin $<
+
+# ----------------------------------------------------
+# Java language section
+# ----------------------------------------------------
+JAVA= @JAVAC@
+
+ifneq (,$(findstring $(origin JAVA_DEST_ROOT),$(DUBIOUS_ORIGINS)))
+JAVA_DEST_ROOT = ../priv/
+endif
+
+.java.class:
+ CLASSPATH=$(CLASSPATH) $(JAVA) $(JAVA_OPTIONS) $<
+
+
+$(JAVA_DEST_ROOT)$(JAVA_CLASS_SUBDIR)%.class: %.java
+ CLASSPATH=$(CLASSPATH) $(JAVA) $(JAVA_OPTIONS) -d $(JAVA_DEST_ROOT) $<
+
+# ----------------------------------------------------
+# Emacs byte code compiling
+# ----------------------------------------------------
+EMACS_COMPILER=emacs-20
+EMACS_COMPILE_OPTIONS=-q --no-site-file -batch -f batch-byte-compile
+
+.el.elc:
+ $(EMACS_COMPILER) $(EMACS_COMPILE_OPTIONS) $<
+
+# ----------------------------------------------------
+# Documentation section
+# ----------------------------------------------------
+export VSN
+
+DOCSUPPORT = 1
+
+TOPDOCDIR=../../../../doc
+
+DOCDIR = ..
+
+PDFDIR=$(DOCDIR)/pdf
+
+HTMLDIR = $(DOCDIR)/html
+
+MAN1DIR = $(DOCDIR)/man1
+MAN2DIR = $(DOCDIR)/man2
+MAN3DIR = $(DOCDIR)/man3
+MAN4DIR = $(DOCDIR)/man4
+MAN6DIR = $(DOCDIR)/man6
+MAN9DIR = $(DOCDIR)/man9
+
+TEXDIR = .
+
+# HTML & GIF files that always are generated and must be delivered
+SGML_COLL_FILES = $(SGML_APPLICATION_FILES) $(SGML_PART_FILES)
+XML_COLL_FILES = $(XML_APPLICATION_FILES) $(XML_PART_FILES)
+DEFAULT_HTML_FILES = \
+ $(SGML_COLL_FILES:%.sgml=$(HTMLDIR)/%_frame.html) \
+ $(SGML_COLL_FILES:%.sgml=$(HTMLDIR)/%_first.html) \
+ $(SGML_COLL_FILES:%.sgml=$(HTMLDIR)/%_term.html) \
+ $(SGML_COLL_FILES:%.sgml=$(HTMLDIR)/%_cite.html) \
+ $(SGML_APPLICATION_FILES:%.sgml=$(HTMLDIR)/%_index.html) \
+ $(SGML_APPLICATION_FILES:%.sgml=$(HTMLDIR)/%.kwc) \
+ $(XML_COLL_FILES:%.xml=$(HTMLDIR)/%_frame.html) \
+ $(XML_COLL_FILES:%.xml=$(HTMLDIR)/%_first.html) \
+ $(XML_COLL_FILES:%.xml=$(HTMLDIR)/%_term.html) \
+ $(XML_COLL_FILES:%.xml=$(HTMLDIR)/%_cite.html) \
+ $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%_index.html) \
+ $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.kwc) \
+ $(HTMLDIR)/index.html
+
+DEFAULT_GIF_FILES = $(HTMLDIR)/min_head.gif
+
+#
+# Flags & Commands
+#
+XSLTPROC = @XSLTPROC@
+FOP = @FOP@
+
+DOCGEN=$(ERL_TOP)/lib/erl_docgen
+
+
+
+$(MAN1DIR)/%.1:: %.xml
+ date=`date +"%B %e %Y"`; \
+ xsltproc --output "$@" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
+
+
+$(MAN2DIR)/%.2:: %.xml
+ date=`date +"%B %e %Y"`; \
+ xsltproc --output "$@" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
+
+
+$(MAN3DIR)/%.3:: %.xml
+ date=`date +"%B %e %Y"`; \
+ xsltproc --output "$@" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
+
+$(MAN4DIR)/%.4:: %.xml
+ date=`date +"%B %e %Y"`; \
+ xsltproc --output "$@" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
+
+$(MAN6DIR)/%.6:: %_app.xml
+ date=`date +"%B %e %Y"`; \
+ xsltproc --output "$@" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
+
+$(MAN9DIR)/%.9:: %.xml
+ date=`date +"%B %e %Y"`; \
+ xsltproc --output "$@" --stringparam docgen "$(DOCGEN)" --stringparam gendate "$$date" --stringparam appname "$(APPLICATION)" --stringparam appver "$(VSN)" --xinclude -path $(DOCGEN)/priv/docbuilder_dtd -path $(DOCGEN)/priv/dtd_man_entities $(DOCGEN)/priv/xsl/db_man.xsl $<
+
+
+.xmlsrc.xml:
+ $(DOCGEN)/priv/bin/codeline_preprocessing.escript $< $@
+
+.fo.pdf:
+ $(FOP) -fo $< -pdf $@