blob: 51d91907975c57c3245b7241cc7dd65ad64396df (
plain) (
tree)
|
|
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 2003-2016. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# %CopyrightEnd%
#
#
include $(ERL_TOP)/make/target.mk
include $(ERL_TOP)/make/$(TARGET)/otp.mk
# ----------------------------------------------------
# Application version
# ----------------------------------------------------
include ../vsn.mk
VSN=$(XMERL_VSN)
# ----------------------------------------------------
# Release directory specification
# ----------------------------------------------------
RELSYSDIR = $(RELEASE_PATH)/lib/xmerl-$(VSN)
# ----------------------------------------------------
# Documentation directory specification
# ----------------------------------------------------
DOCDIR = ../doc
### XMERL use EDOC for documentation, to regenerate update paths as needed!
XMERL_APP = ..
EDOC_APP = ../../edoc
SYNTAX_TOOLS_APP = ../../syntax_tools
# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
EDOC_MODULES = \
xmerl_scan \
xmerl \
xmerl_xs \
xmerl_eventp \
xmerl_xpath \
xmerl_xsd
MODULES = $(EDOC_MODULES) \
xmerl_b64Bin \
xmerl_b64Bin_scan \
xmerl_html \
xmerl_lib \
xmerl_otpsgml \
xmerl_regexp \
xmerl_sgml \
xmerl_simple \
xmerl_text \
xmerl_ucs \
xmerl_uri \
xmerl_validate \
xmerl_xlate \
xmerl_xml \
xmerl_xpath_lib \
xmerl_xpath_parse \
xmerl_xpath_pred \
xmerl_xpath_scan \
xmerl_xsd_type \
xmerl_sax_parser \
xmerl_sax_parser_list \
xmerl_sax_parser_latin1 \
xmerl_sax_parser_utf8 \
xmerl_sax_parser_utf16be \
xmerl_sax_parser_utf16le \
xmerl_sax_simple_dom \
xmerl_sax_old_dom
HRL_FILES = \
../include/xmerl.hrl \
../include/xmerl_xpath.hrl \
../include/xmerl_xsd.hrl
INCLUDE_DIR = ../include
INTERNAL_HRL_FILES = \
xmerl_internal.hrl \
xmerl_sax_old_dom.hrl \
xmerl_sax_parser.hrl
ERL_FILES= $(MODULES:%=%.erl)
APP_FILE= xmerl.app
APP_SRC= $(APP_FILE).src
APP_TARGET= $(EBIN)/$(APP_FILE)
APPUP_FILE= xmerl.appup
APPUP_SRC= $(APPUP_FILE).src
APPUP_TARGET= $(EBIN)/$(APPUP_FILE)
DOC_TARGET_FILES = $(EDOC_MODULES:%=$(DOCDIR)/%.html)
TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET)
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
ERL_COMPILE_FLAGS += \
-I ../include \
+warn_unused_vars
# +bin_opt_info
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
debug opt: $(TARGET_FILES)
docs:
#docs: $(DOC_TARGET_FILES)
clean:
$(RM) $(TARGET_FILES)
$(RM) xmerl_xpath_parse.erl
$(RM) xmerl_b64Bin.erl
$(RM) xmerl_sax_parser_list.erl
$(RM) xmerl_sax_parser_latin1.erl
$(RM) xmerl_sax_parser_utf8.erl
$(RM) xmerl_sax_parser_utf16be.erl
$(RM) xmerl_sax_parser_utf16le.erl
$(RM) core *~
info:
@echo "MODULES: $(MODULES)"
@echo "EBIN: $(EBIN)"
@echo "EMULATOR: $(EMULATOR)"
@echo "APP_TARGET: $(APP_TARGET)"
@echo "TARGET_FILES: $(TARGET_FILES)"
@echo "DOC_TARGET_FILES: $(DOC_TARGET_FILES)"
@echo "DOCDIR/%html: $(DOCDIR)/%.html"
realclean: clean
$(RM) $(DOC_TARGET_FILES)
# ----------------------------------------------------
# Special Build Targets
# ----------------------------------------------------
EDOC_PATHS = \
-pa $(EDOC_APP)/ebin -pa $(XMERL_APP)/ebin -pa $(SYNTAX_TOOLS_APP)/ebin
$(APP_TARGET): $(APP_SRC) ../vsn.mk
$(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
$(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
xmerl_xpath_parse.erl: xmerl_xpath_parse.yrl
$(yecc_verbose)$(ERLC) -o $(ESRC) $<
xmerl_b64Bin.erl: xmerl_b64Bin.yrl
$(yecc_verbose)$(ERLC) -o $(ESRC) $<
xmerl_sax_parser_list.erl: xmerl_sax_parser_list.erlsrc xmerl_sax_parser_base.erlsrc
$(gen_verbose)cat xmerl_sax_parser_list.erlsrc xmerl_sax_parser_base.erlsrc >$@
xmerl_sax_parser_latin1.erl: xmerl_sax_parser_latin1.erlsrc xmerl_sax_parser_base.erlsrc
$(gen_verbose)cat xmerl_sax_parser_latin1.erlsrc xmerl_sax_parser_base.erlsrc >$@
xmerl_sax_parser_utf8.erl: xmerl_sax_parser_utf8.erlsrc xmerl_sax_parser_base.erlsrc
$(gen_verbose)cat xmerl_sax_parser_utf8.erlsrc xmerl_sax_parser_base.erlsrc >$@
xmerl_sax_parser_utf16be.erl: xmerl_sax_parser_utf16be.erlsrc xmerl_sax_parser_base.erlsrc
$(gen_verbose)cat xmerl_sax_parser_utf16be.erlsrc xmerl_sax_parser_base.erlsrc >$@
xmerl_sax_parser_utf16le.erl: xmerl_sax_parser_utf16le.erlsrc xmerl_sax_parser_base.erlsrc
$(gen_verbose)cat xmerl_sax_parser_utf16le.erlsrc xmerl_sax_parser_base.erlsrc >$@
$(EBIN)/%.beam: %.erl
$(V_ERLC) $(ERL_COMPILE_FLAGS) -o $(EBIN) $<
$(DOCDIR)/%.html: %.erl
$(ERL) -noshell $(EDOC_PATHS) \
-run edoc_run file '"$<"' '[{dir,"$(DOCDIR)"}]' -s erlang halt
#$(DOCDIR)/%.html: %.erl
# $(ERL) $(EDOC_PATHS) -s edoc file $< ['{dir,"$(DOCDIR)"}']
# ----------------------------------------------------
# Release Target
# ----------------------------------------------------
#ifeq "${MA_TOP}" ""
#MA_TOP = ../../..
#endif
#include $(MA_TOP)/config/make.release
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src"
$(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src"
$(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
release_docs_spec:
release_tests_spec:
#------------------------------------------------------------
# .hrl dependencies
$(EBIN)/xmerl.beam:../include/xmerl.hrl
$(EBIN)/xmerl_lib.beam:../include/xmerl.hrl
$(EBIN)/xmerl_scan.beam:../include/xmerl.hrl
$(EBIN)/xmerl_xlate.beam:../include/xmerl.hrl
$(EBIN)/xmerl_xml.beam:../include/xmerl.hrl
$(EBIN)/xmerl_html.beam:../include/xmerl.hrl
$(EBIN)/xmerl_text.beam:../include/xmerl.hrl
$(EBIN)/xmerl_eventp.beam:../include/xmerl.hrl
$(EBIN)/xmerl_simple.beam:../include/xmerl.hrl
$(EBIN)/xmerl_xpath.beam:../include/xmerl.hrl
$(EBIN)/xmerl_xpath_lib.beam:../include/xmerl.hrl
$(EBIN)/xmerl_xpath_pred.beam:../include/xmerl.hrl
$(EBIN)/xmerl_xpath_scan.beam:../include/xmerl.hrl
#$(EBIN)/xmerl_xsd.beam:../include/xmerl_xsd.hrl
#$(EBIN)/xmerl_xsd.beam:../include/xmerl.hrl
|