e32abiv2kdll.flm 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  2. # All rights reserved.
  3. # This component and the accompanying materials are made available
  4. # under the terms of the License "Eclipse Public License v1.0"
  5. # which accompanies this distribution, and is available
  6. # at the URL "http://www.eclipse.org/legal/epl-v10.html".
  7. #
  8. # Initial Contributors:
  9. # Nokia Corporation - initial contribution.
  10. #
  11. # Contributors:
  12. #
  13. # Description:
  14. # ARMv5 KDLL ABIv2 Function Like Makefile (FLM)
  15. # Build an e32 KDLL (Kernel DLL)
  16. #
  17. #
  18. ifeq ($(TARGETTYPE),kdll)
  19. include $(FLMHOME)/e32abiv2defaults.mk
  20. # What we need to build a Kernel DLL
  21. CANHAVEEXPORTS:=1
  22. POSTLINKTARGETTYPE:=DLL
  23. POSTLINKFILETYPE:=dll
  24. DOPOSTLINK:=1
  25. # Determine what kind of entrypoint option to set
  26. LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/ekll.lib
  27. LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  28. LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
  29. STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
  30. RUNTIME_LIBS_LIST:=
  31. # Kernel code builds as arm
  32. ALWAYS_BUILD_AS_ARM:=1
  33. # No dedicated library for operator new/delete functions.
  34. HAS_DEDICATED_OP_NEWDEL_LIB:=
  35. BASELIBS:=ekll.lib
  36. ifeq ($(NOEXPORTLIBRARY),)
  37. IMPORTLIBRARYREQUIRED:=1
  38. endif
  39. POSTLINKDEFFILE:=$(DEFFILE)
  40. SUPPORT_FREEZE:=1
  41. # No exception support for kernel code?
  42. EXCEPTIONS:=$(NO_EXCEPTIONS)
  43. # We are appending to CDEFS but we don't want this to affect
  44. # other invocations so we are going to save it on a stack
  45. # and restore it afterwards
  46. $(call vsave,CDEFS SYSTEMINCLUDE)
  47. SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(EPOCROOT)/epoc32/include/nkern $(EPOCROOT)/epoc32/include/kernel/arm $(EPOCROOT)/epoc32/include/memmodel/epoc $(EPOCROOT)/epoc32/include/kernel $(EPOCROOT)/epoc32/include/nkern/arm
  48. CDEFS:=$(CDEFS) __DLL__ __KERNEL_MODE__
  49. include $(FLMHOME)/e32abiv2.flm
  50. $(call vrestore)
  51. else
  52. $(error $e32abiv2kdll.flm called with wrong TARGETTYPE (should be 'kdll' but is '$(TARGETTYPE)'))
  53. endif