aboutsummaryrefslogblamecommitdiffstats
path: root/lib/diameter/make/rules.mk.in
blob: 9fd1c3b0d059b2ec467c2c4ab64edbb50ce04aeb (plain) (tree)


































































































































































































                                                                                                                                                                                                                                                                                                                              
#-*-makefile-*-   ; force emacs to enter makefile-mode
# ----------------------------------------------------
# %CopyrightBegin%
#
# Copyright Ericsson AB 2009-2010. 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%

.SUFFIXES: .erl .beam .yrl .hrl .xml .xmlsrc .html \
        .3 .1 .pdf .fo .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/


# # ----------------------------------------------------
# # TARGET definition
# # ----------------------------------------------------
# # TARGET = @TARGET@
# ifneq ($(OVERRIDE_TARGET),)
# ifneq ($(TARGET), $(OVERRIDE_TARGET))
# $(warning overriding $$(TARGET) = \
#         "$(TARGET)" \
#         with \
#         $$(OVERRIDE_TARGET) = \
#         "$(OVERRIDE_TARGET)")
# override TARGET := $(OVERRIDE_TARGET)
# endif
# endif
# 

# ----------------------------------------------------
#       Command macros
# ----------------------------------------------------
PREFIX          = @prefix@
INSTALL         = @INSTALL@
INSTALL_DIR     = @INSTALL_DIR@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT  = @INSTALL_SCRIPT@
INSTALL_DATA    = @INSTALL_DATA@


# ----------------------------------------------------
#       Erlang language section
# ----------------------------------------------------
ERL_ROOT_DIR = @ERLANG_ROOT_DIR@
ERL_LIB_DIR = @ERLANG_LIB_DIR@
DOCGEN_DIR = @ERLANG_LIB_DIR_erl_docgen@
TEST_SERVER_DIR = @ERLANG_LIB_VER_test_server@
EMULATOR = beam
ERL_COMPILE_FLAGS += +debug_info
ERLC_WFLAGS = -W
ERLC = $(ERL_ROOT_DIR)/bin/erlc $(ERLC_WFLAGS) $(ERLC_FLAGS)
ERL = $(ERL_ROOT_DIR)/bin/erl -boot start_clean
#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


# ----------------------------------------------------
#       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

# HTML & GIF files that always are generated and must be delivered
XML_COLL_FILES = $(XML_APPLICATION_FILES) $(XML_PART_FILES)
DEFAULT_HTML_FILES = \
	$(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=$(DOCGEN_DIR)

$(MAN1DIR)/%.1:: %.xml
	date=`date +"%B %e %Y"`; \
	xsltproc --output "$@" --stringparam company "Ericsson AB" --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 company "Ericsson AB" --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 company "Ericsson AB" --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 $<

# left for compatability
$(MAN4DIR)/%.4:: %.xml
	date=`date +"%B %e %Y"`; \
	xsltproc --output "$@" --stringparam company "Ericsson AB" --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)/%.5:: %.xml
	date=`date +"%B %e %Y"`; \
	xsltproc --output "$@" --stringparam company "Ericsson AB" --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 $<

# left for compatability
$(MAN6DIR)/%.6:: %_app.xml
	date=`date +"%B %e %Y"`; \
	xsltproc --output "$@" --stringparam company "Ericsson AB" --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)/%.7:: %_app.xml
	date=`date +"%B %e %Y"`; \
	xsltproc --output "$@" --stringparam company "Ericsson AB" --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 company "Ericsson AB" --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:
	escript $(DOCGEN)/priv/bin/codeline_preprocessing.escript $< $@

.fo.pdf:
	$(FOP) -fo $< -pdf $@