blob: 3ab76064ace5f1996b4f443989250a57464ab4f4 (
plain) (
tree)
|
|
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 2010-2011. 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%
#
#
ifneq ($(ERL_TOP),)
include $(ERL_TOP)/make/target.mk
EBIN = ../../ebin
include $(ERL_TOP)/make/$(TARGET)/otp.mk
else
include $(DIAMETER_TOP)/make/target.mk
EBIN = ../../ebin
include $(DIAMETER_TOP)/make/$(TARGET)/rules.mk
endif
# ----------------------------------------------------
# Application version
# ----------------------------------------------------
include ../../vsn.mk
VSN=$(DIAMETER_VSN)
# ----------------------------------------------------
# Release directory specification
# ----------------------------------------------------
RELSYSDIR = $(RELEASE_PATH)/lib/diameter-$(VSN)
INCDIR = ../../include
# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
include modules.mk
ERL_FILES = \
$(MODULES:%=%.erl)
TARGET_FILES = \
$(MODULES:%=$(EBIN)/%.$(EMULATOR))
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
ifeq ($(TYPE),debug)
ERL_COMPILE_FLAGS += -Ddebug
endif
include ../app/diameter.mk
ERL_COMPILE_FLAGS += \
$(DIAMETER_ERL_COMPILE_FLAGS) \
-I$(INCDIR)
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
debug:
@${MAKE} TYPE=debug opt
opt: $(TARGET_FILES)
clean:
rm -f $(TARGET_FILES)
rm -f errs core *~
rm -f depend.mk
docs:
info:
@echo ""
@echo "ERL_FILES = $(ERL_FILES)"
@echo "HRL_FILES = $(HRL_FILES)"
@echo ""
@echo "TARGET_FILES = $(TARGET_FILES)"
@echo ""
# ----------------------------------------------------
# Special Build Targets
# ----------------------------------------------------
# Invoked from ../app to add modules to the app file.
$(APP_TARGET): force
M=`echo $(MODULES) | sed -e 's/^ *//' -e 's/ *$$//' -e 'y/ /,/'`; \
echo "/%COMPILER_MODULES%/s//$$M/;w;q" | tr ';' '\n' \
| ed -s $@
# ----------------------------------------------------
# Release Target
# ----------------------------------------------------
ifneq ($(ERL_TOP),)
include $(ERL_TOP)/make/otp_release_targets.mk
else
include $(DIAMETER_TOP)/make/release_targets.mk
endif
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/ebin
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
$(INSTALL_DIR) $(RELSYSDIR)/src
$(INSTALL_DIR) $(RELSYSDIR)/src/compiler
$(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)/src/compiler
release_docs_spec:
force:
# ----------------------------------------------------
# Dependencies
# ----------------------------------------------------
depend: depend.mk
# Generate dependencies makefile.
depend.mk: ../app/depend.sed $(ERL_FILES) Makefile
for f in $(MODULES); do \
sed -f $< $$f.erl | sed "s@/@/$$f@"; \
done \
> $@
-include depend.mk
.PHONY: clean debug depend docs force info opt release_docs_spec release_spec
|