# 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 pdd ABIv2 Function Like Makefile (FLM)# Build an e32 pdd (Physical Device Driver)# #ifeq ($(TARGETTYPE),pdd)include $(FLMHOME)/e32abiv2defaults.mk# What we need to build a Logical Device DriverCANHAVEEXPORTS:=1POSTLINKTARGETTYPE:=PDDPOSTLINKFILETYPE:=pddDOPOSTLINK:=1AUTOEXPORTS:=_Z20CreatePhysicalDevicev,1;# Determine what kind of entrypoint option to setLINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edev.libLINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)endifLINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.libSTATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)RUNTIME_LIBS_LIST:=CANIGNORENONCALLABLE:=1# Kernel code builds as armALWAYS_BUILD_AS_ARM:=1# No dedicated library for operator new/delete functions.HAS_DEDICATED_OP_NEWDEL_LIB:=# Fixed export TARGETTYPEs should only reference a .def file if an explicit DEFFILE statement is present in the .mmp fileifneq ($(DEFFILEKEYWORD),)POSTLINKDEFFILE:=$(DEFFILE)SUPPORT_FREEZE:=1ifeq ($(NOEXPORTLIBRARY),)IMPORTLIBRARYREQUIRED:=1endifendifBASELIBS:=edevUID2:=100039d0IMPORTLIBRARYREQUIRED:=# This is basically a DLL with some tweaksifneq ($(DEFFILE),)IMPORTLIBRARYREQUIRED:=1endifPOSTLINKDEFFILE:=$(DEFFILE)SUPPORT_FREEZE:=1# No exception support for kernel code?EXCEPTIONS:=$(NO_EXCEPTIONS)# 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 SYSTEMINCLUDE)SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(EPOCROOT)/epoc32/include/nkern $(EPOCROOT)/epoc32/include/kernel/arm $(EPOCROOT)/epoc32/include/memmodel/epoc $(EPOCROOT)/epoc32/include/kernel $(EPOCROOT)/epoc32/include/nkern/armCDEFS:=$(CDEFS) __DLL__ __KERNEL_MODE__include $(FLMHOME)/e32abiv2.flm$(call vrestore)else$(error $e32abiv2pdd.flm called with wrong TARGETTYPE (should be 'pdd' but is '$(TARGETTYPE)'))endif