blob: 3b6f7bae2e6e8aef54c04622312c1403cc485a5c (
plain) (
tree)
|
|
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 2000-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%
#
#
include $(ERL_TOP)/make/target.mk
ifeq ($(TYPE),debug)
ERL_COMPILE_FLAGS += -Ddebug -W
endif
include $(ERL_TOP)/make/$(TARGET)/otp.mk
# ----------------------------------------------------
# Application version
# ----------------------------------------------------
include ../vsn.mk
VSN=$(COSTIME_VSN)
# ----------------------------------------------------
# Release directory specification
# ----------------------------------------------------
RELSYSDIR = $(RELEASE_PATH)/lib/cosTime-$(VSN)
EXTERNAL_INC_PATH = ../include
# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
MODULES = \
cosTime \
CosTime_TIO_impl \
CosTime_TimeService_impl \
CosTime_UTO_impl \
CosTimerEvent_TimerEventHandler_impl \
CosTimerEvent_TimerEventService_impl \
ERL_FILES = $(MODULES:%=%.erl)
HRL_FILES = \
cosTimeApp.hrl \
GEN_TIMEBASE_ERL_FILES = \
oe_TimeBase.erl \
TimeBase_IntervalT.erl \
TimeBase_UtcT.erl
GEN_COSTIME_ERL_FILES = \
oe_CosTime.erl \
CosTime_TIO.erl \
CosTime_TimeService.erl \
CosTime_TimeUnavailable.erl \
CosTime_UTO.erl \
GEN_COSTIMEREVENT_ERL_FILES = \
oe_CosTimerEvent.erl \
CosTimerEvent_TimerEventHandler.erl \
CosTimerEvent_TimerEventService.erl \
CosTimerEvent_TimerEventT.erl \
GEN_TIMEBASE_HRL_FILES = \
oe_TimeBase.hrl \
TimeBase.hrl \
EXTERNAL_TIMEBASE_HRL_FILES = $(GEN_TIMEBASE_HRL_FILES:%=$(EXTERNAL_INC_PATH)/%)
GEN_COSTIME_HRL_FILES = \
oe_CosTime.hrl \
CosTime.hrl \
CosTime_TIO.hrl \
CosTime_TimeService.hrl \
CosTime_UTO.hrl
EXTERNAL_COSTIME_HRL_FILES = $(GEN_COSTIME_HRL_FILES:%=$(EXTERNAL_INC_PATH)/%)
GEN_COSTIMEREVENT_HRL_FILES = \
oe_CosTimerEvent.hrl \
CosTimerEvent.hrl \
CosTimerEvent_TimerEventHandler.hrl \
CosTimerEvent_TimerEventService.hrl \
EXTERNAL_COSTIMEREVENT_HRL_FILES = $(GEN_COSTIMEREVENT_HRL_FILES:%=$(EXTERNAL_INC_PATH)/%)
GEN_ERL_FILES = \
$(GEN_TIMEBASE_ERL_FILES) \
$(GEN_COSTIME_ERL_FILES) \
$(GEN_COSTIMEREVENT_ERL_FILES)
GEN_HRL_FILES = \
$(EXTERNAL_TIMEBASE_HRL_FILES) \
$(EXTERNAL_COSTIME_HRL_FILES) \
$(EXTERNAL_COSTIMEREVENT_HRL_FILES) \
GEN_FILES = \
$(GEN_HRL_FILES) \
$(GEN_ERL_FILES)
TARGET_FILES = \
$(GEN_TIMEBASE_ERL_FILES:%.erl=$(EBIN)/%.$(EMULATOR)) \
$(GEN_COSTIME_ERL_FILES:%.erl=$(EBIN)/%.$(EMULATOR)) \
$(GEN_COSTIMEREVENT_ERL_FILES:%.erl=$(EBIN)/%.$(EMULATOR)) \
$(MODULES:%=$(EBIN)/%.$(EMULATOR))
IDL_FILES = \
TimeBase.idl \
CosTime.idl \
CosTimerEvent.idl
APPUP_FILE = cosTime.appup
APPUP_SRC = $(APPUP_FILE).src
APPUP_TARGET = $(EBIN)/$(APPUP_FILE)
APP_FILE = cosTime.app
APP_SRC = $(APP_FILE).src
APP_TARGET = $(EBIN)/$(APP_FILE)
# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
ERL_IDL_FLAGS += -pa $(ERL_TOP)/lib/cosTime/ebin \
-pa $(ERL_TOP)/lib/ic/ebin\
-pa $(ERL_TOP)/lib/orber/ebin \
-I$(ERL_TOP)/lib/cosEvent/src
# The -pa option is just used temporary until erlc can handle
# includes from other directories than ../include .
ERL_COMPILE_FLAGS += \
$(ERL_IDL_FLAGS) \
-pa $(ERL_TOP)/lib/orber/include \
-pa $(ERL_TOP)/lib/cosTime/include \
-I$(ERL_TOP)/lib/cosTime/include \
-I$(ERL_TOP)/lib/orber/include \
+'{parse_transform,sys_pre_attributes}' \
+'{attribute,insert,app_vsn,"cosTime_$(COSTIME_VSN)"}'
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
opt: $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET)
debug:
@${MAKE} TYPE=debug opt
cleanb:
rm -f $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET)
rm -f errs core *~
clean:
rm -f $(TARGET_FILES) $(GEN_FILES) $(APP_TARGET) $(APPUP_TARGET)
rm -f errs core *~
$(APP_TARGET): $(APP_SRC)
sed -e 's;%VSN%;$(VSN);' $< > $@
$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
sed -e 's;%VSN%;$(VSN);' $< > $@
docs:
# ----------------------------------------------------
# Special Build Targets
# ----------------------------------------------------
$(GEN_TIMEBASE_ERL_FILES) $(EXTERNAL_TIMEBASE_HRL_FILES): TimeBase.idl
erlc $(ERL_IDL_FLAGS) TimeBase.idl
mv $(GEN_TIMEBASE_HRL_FILES) $(EXTERNAL_INC_PATH)
$(GEN_COSTIME_ERL_FILES) $(EXTERNAL_COSTIME_HRL_FILES): CosTime.idl
erlc $(ERL_IDL_FLAGS) +'{cfgfile,"CosTime.cfg"}' CosTime.idl
mv $(GEN_COSTIME_HRL_FILES) $(EXTERNAL_INC_PATH)
$(GEN_COSTIMEREVENT_ERL_FILES) $(EXTERNAL_COSTIMEREVENT_HRL_FILES): CosTimerEvent.idl
erlc $(ERL_IDL_FLAGS) +'{cfgfile,"CosTimerEvent.cfg"}' CosTimerEvent.idl
mv $(GEN_COSTIMEREVENT_HRL_FILES) $(EXTERNAL_INC_PATH)
# ----------------------------------------------------
# Release Target
# ----------------------------------------------------
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/ebin
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) $(RELSYSDIR)/ebin
$(INSTALL_DIR) $(RELSYSDIR)/src
$(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) $(RELSYSDIR)/src
$(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) $(RELSYSDIR)/src
$(INSTALL_DIR) $(RELSYSDIR)/include
$(INSTALL_DATA) $(GEN_HRL_FILES) $(RELSYSDIR)/include
release_docs_spec:
|