toolsandutils/buildsystem/extension/syslibs/test/ecom3_relocatetarget.mk
changeset 0 83f4b4db085c
child 1 d4b442d23379
equal deleted inserted replaced
-1:000000000000 0:83f4b4db085c
       
     1 # Copyright (c) 2008-2009 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 "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 # Different from ecom3_postbuild.mk in that on armv5 the RAMONLYTARGETDIR
       
    15 # is not \epoc32\data\z\ramonly. It is \epoc32\release\armv5\<CFG>\z\ramonly.
       
    16 # This template has to preserve the udeb/urel targets.
       
    17 # Params:
       
    18 # SOURCES - list of .exe and .dll files to relocate
       
    19 # TARGET - not used
       
    20 # OPTION TARGETDIR - mandatory, it is "ramonly" for ecom testing.
       
    21 # OPTION TARGETBASE - optional, overrides \epoc32\release\<platform>\<cfg>\z 
       
    22 # OPTION SOURCEDIR -  optional, overrides \epoc32\release\<platform>\<cfg> 
       
    23 # 
       
    24 #
       
    25 
       
    26 TMPROOT:=$(subst \,/,$(EPOCROOT))
       
    27 EPOCROOT:=$(patsubst %/,%,$(TMPROOT))/
       
    28 
       
    29 include $(EPOCROOT)epoc32/tools/shell/$(notdir $(basename $(SHELL))).mk
       
    30 
       
    31 # $(/) is actually back slash in Windows environment. Since bld.inf are written
       
    32 # with forward slashes and $(CP) is "copy", this substitution is important.
       
    33 TARGETDIR := $(subst /,$(/),$(TARGETDIR))
       
    34 
       
    35 ifdef TARGETBASE
       
    36 TARGETBASE := $(subst PLATFORM,$(PLATFORM_PATH),$(TARGETBASE))
       
    37 TARGETBASE := $(subst CFG,$(CFG_PATH),$(TARGETBASE))
       
    38 TARGETBASE := $(subst /,$(/),$(TARGETBASE))
       
    39 DESTDIR:=$(TARGETBASE)/$(TARGETDIR)
       
    40 else
       
    41 DESTDIR:=$(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/z/$(TARGETDIR)
       
    42 endif
       
    43 
       
    44 ifdef SOURCEDIR
       
    45 SOURCEDIR := $(subst PLATFORM,$(PLATFORM_PATH),$(SOURCEDIR))
       
    46 SOURCEDIR := $(subst CFG,$(CFG_PATH),$(SOURCEDIR))
       
    47 SOURCEDIR := $(subst /,$(/),$(SOURCEDIR))
       
    48 else
       
    49 SOURCEDIR := $(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)
       
    50 endif
       
    51 
       
    52 TARGET_COPY := $(foreach f,$(SOURCES),$(DESTDIR)/$(f) )
       
    53 
       
    54 $(DESTDIR) :
       
    55 	$(call createdir,"$@")
       
    56 
       
    57 $(TARGET_COPY) :
       
    58 	$(CP) $(call slash2generic, $(SOURCEDIR)/$(notdir $@) $@)
       
    59 	-$(ERASE) $(call slash2generic, $(SOURCEDIR)/$(notdir $@))
       
    60 
       
    61 #
       
    62 # The targets invoked by abld...
       
    63 #
       
    64 BLD : $(DESTDIR) $(TARGET_COPY)
       
    65 
       
    66 MAKMAKE SAVESPACE FREEZE LIB CLEANLIB RESOURCE FINAL :
       
    67 	@echo do nothing
       
    68 
       
    69 CLEAN : 
       
    70 	-$(ERASE) $(TARGET_COPY)
       
    71 
       
    72 RELEASABLES : 
       
    73 	@echo $(TARGET_COPY)
       
    74