sbsv2/raptor/lib/flm/e32abiv2plugin.flm
author timothy.murphy@nokia.com
Fri, 30 Apr 2010 16:07:17 +0100
branchfix
changeset 511 7581d432643a
parent 368 113d720d5a6c
permissions -rw-r--r--
fix: support new trace compiler features for preventing clashes. Automatically turn on OST_TRACE_COMPILER_IN_USE macro. Look for trace header in systemincludes. Make directories in makefile parse to prevent clashes during build. Correct path for autogen headers. Correct case issue with autogen headers on Linux.

# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Nokia Corporation - initial contribution.
#
# Contributors:
#
# Description:
# ARMv5 EXE/DLL ABIv2 Function Like Makefile (FLM)
# Build an ECOM plugin
# 
#

ifneq ($(filter plugin plugin3,$(TARGETTYPE)),)
include $(FLMHOME)/e32abiv2defaults.mk

# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))

ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
endif

LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)

# Default Postlinker settings
CANHAVEEXPORTS:=1
POSTLINKTARGETTYPE:=PLUGIN
POSTLINKFILETYPE:=dll
DOPOSTLINK:=1
AUTOEXPORTS:=_Z24ImplementationGroupProxyRi,1;
CANIGNORENONCALLABLE:=1

# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp file
ifneq ($(DEFFILEKEYWORD),)
POSTLINKDEFFILE:=$(DEFFILE)
SUPPORT_FREEZE:=1
ifeq ($(NOEXPORTLIBRARY),)
IMPORTLIBRARYREQUIRED:=1
endif
endif

# We could check the UID rather than forcing it
# but there seems to be no point in that.
UID2:=10009D8D
ifeq ($(TARGETTYPE),plugin3)
UID2:=10009D93
POSTLINKTARGETTYPE:=PLUGIN3
endif


RESOURCEPATH:=Resource/Plugins

# Use the general EABI FLM 
# We are appending to CDEFS but we don't want this to affect
# other invocations so we are going to save it on a stack
# and restore it afterwards
$(call vsave,CDEFS)
CDEFS:=$(CDEFS) __DLL__
include $(FLMHOME)/e32abiv2.flm
$(call vrestore)

else
$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' or 'plugin3' but is '$(TARGETTYPE)'))
endif