sbsv2/raptor/lib/flm/msvctools.flm
changeset 13 c327db0664bb
parent 2 39c28ec933dd
equal deleted inserted replaced
12:5e7562f67577 13:c327db0664bb
     1 # Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 # Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 # All rights reserved.
     2 # All rights reserved.
     3 # This component and the accompanying materials are made available
     3 # This component and the accompanying materials are made available
     4 # under the terms of the License "Eclipse Public License v1.0"
     4 # under the terms of the License "Eclipse Public License v1.0"
     5 # which accompanies this distribution, and is available
     5 # which accompanies this distribution, and is available
     6 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
    26 
    26 
    27 # make the output directories while reading makefile - some build engines prefer this
    27 # make the output directories while reading makefile - some build engines prefer this
    28 $(call makepath,$(RELEASEPATH))
    28 $(call makepath,$(RELEASEPATH))
    29 $(call makepath,$(BUILDPATH))
    29 $(call makepath,$(BUILDPATH))
    30 
    30 
    31 CLEANTARGETS:=$(CLEANTARGETS) $(RELEASETARGET)
    31 RELEASABLES:=$(RELEASABLES) $(RELEASETARGET)
    32 RELEASEABLES:=$(RELEASEABLES) $(RELEASETARGET)
       
    33 
    32 
    34 GENDEBUGINFO:=$(if $(findstring deb,$(VARIANTTYPE)),1,)
    33 GENDEBUGINFO:=$(if $(findstring deb,$(VARIANTTYPE)),1,)
    35 
    34 
    36 # MSVC "no space" arguments must take the form /<ARG><PATH_WITH_DOS_SLASHES> e.g.
    35 # MSVC "no space" arguments must take the form /<ARG><PATH_WITH_DOS_SLASHES> e.g.
    37 # 	/FoF:\object\file\to\be\created.obj
    36 # 	/FoF:\object\file\to\be\created.obj
    56 PINCLUDE:=$(OPT.PREINCLUDE)$(notdir $(PRODUCT_INCLUDE))
    55 PINCLUDE:=$(OPT.PREINCLUDE)$(notdir $(PRODUCT_INCLUDE))
    57 INCLUDES:=$(PINCLUDE) $(UINCLUDE) $(SINCLUDE)
    56 INCLUDES:=$(PINCLUDE) $(UINCLUDE) $(SINCLUDE)
    58 
    57 
    59 # macros
    58 # macros
    60 DEFINES:=$(call makemacrodef,$(OPT.DEFINE),$(CDEFS) $(BASE_MACRO) $(CFLAGS.ADD))
    59 DEFINES:=$(call makemacrodef,$(OPT.DEFINE),$(CDEFS) $(BASE_MACRO) $(CFLAGS.ADD))
    61 
       
    62 # other
       
    63 PDBFILE:=$(if $(GENDEBUGINFO),$(RELEASEPATH)/$(TARGET).pdb,)
       
    64 CLEANTARGETS:=$(CLEANTARGETS) $(PDBFILE)
       
    65 
    60 
    66 #compile
    61 #compile
    67 define msvctoolscompile
    62 define msvctoolscompile
    68   $(BUILDPATH)/$(basename $(notdir $(1))).obj: $(1) $(PROJECT_META) $(if $(HAVE_ORDERONLY),|,)  EXPORT
    63   $(BUILDPATH)/$(basename $(notdir $(1))).obj: $(1) $(PROJECT_META) $(if $(HAVE_ORDERONLY),|,)  EXPORT
    69 	$(call startrule,msvctoolscompile,,$(1)) \
    64 	$(call startrule,msvctoolscompile,,$(1)) \
    70 	$(CC) \
    65 	$(CC) \
    71 	$(if $(findstring staticlib,$(BASE_TYPE)),,$(CFLAGS.LIB)) \
    66 	$(if $(findstring staticlib,$(BASE_TYPE)),,$(CFLAGS.LIB)) \
    72 	$(CFLAGS) $$(subst /,-,$(OPTION_MSVC)) \
    67 	$(CFLAGS) $$(subst /,-,$(OPTION_MSVC)) \
    73 	$(if $(findstring /W,$(OPTION_MSVC)),,$(CFLAGS.DEFAULT.WARNLEVEL)) \
    68 	$(if $(findstring /W,$(OPTION_MSVC)),,$(CFLAGS.DEFAULT.WARNLEVEL)) \
    74 	$(if $(PDBFILE),$$(call msvcformatarg,$(OPT.PDBFILE),$(PDBFILE)),) \
       
    75 	$(DEFINES) $(INCLUDES) \
    69 	$(DEFINES) $(INCLUDES) \
    76 	$$(call msvcformatarg,$(OPT.BROWSEFILE),$(BUILDPATH)/$(basename $(notdir $(1))).sbr) \
    70 	$$(call msvcformatarg,$(OPT.BROWSEFILE),$(BUILDPATH)/$(basename $(notdir $(1))).sbr) \
    77 	$$(call msvcformatarg,$(OPT.OBJECTFILE),$$@) $(1) \
    71 	$$(call msvcformatarg,$(OPT.OBJECTFILE),$$@) $(1) \
    78 	$(call endrule,msvctoolscompile)
    72 	$(call endrule,msvctoolscompile)
    79 endef
    73 endef
   155 ## INSTALL ##
   149 ## INSTALL ##
   156 #############
   150 #############
   157 
   151 
   158 ifneq ($(INSTALLPATH),)
   152 ifneq ($(INSTALLPATH),)
   159   INSTALLTARGET:=$(INSTALLPATH)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
   153   INSTALLTARGET:=$(INSTALLPATH)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
   160   CLEANTARGETS:=$(CLEANTARGETS) $(INSTALLTARGET)
   154   RELEASABLES:=$(RELEASABLES) $(INSTALLTARGET)
   161   RELEASEABLES:=$(RELEASEABLES) $(INSTALLTARGET)
       
   162 
   155 
   163   define msvctoolsinstall
   156   define msvctoolsinstall
   164     $(INSTALLTARGET): $(RELEASETARGET)
   157     $(INSTALLTARGET): $(RELEASETARGET)
   165 	  $(call startrule,msvctoolsinstall) \
   158 	  $(call startrule,msvctoolsinstall) \
   166 	  $(GNUCP) $$< $$@ && \
   159 	  $(GNUCP) $$< $$@ && \
   178 ##########################
   171 ##########################
   179 
   172 
   180 ifneq ($(GENDEBUGINFO),)
   173 ifneq ($(GENDEBUGINFO),)
   181   BSCFILE:=$(RELEASEPATH)/$(TARGET).bsc
   174   BSCFILE:=$(RELEASEPATH)/$(TARGET).bsc
   182   BSCRESPONSEFILE:=$(BUILDPATH)/$(TARGET).brf
   175   BSCRESPONSEFILE:=$(BUILDPATH)/$(TARGET).brf
   183   CLEANTARGETS:=$(CLEANTARGETS) $(BSCFILE) $(BSCRESPONSEFILE)
   176   CLEANTARGETS:=$(CLEANTARGETS) $(BSCRESPONSEFILE)
   184   RELEASEABLES:=$(RELEASEABLES) $(BSCFILE)
   177   RELEASABLES:=$(RELEASABLES) $(BSCFILE)
   185 
   178 
   186   define msvctoolsgenbrowse  
   179   define msvctoolsgenbrowse  
   187     $(BSCFILE): $(OBJFILES)
   180     $(BSCFILE): $(OBJFILES)
   188 	  @echo "" > $(BSCRESPONSEFILE);
   181 	  @echo "" > $(BSCRESPONSEFILE);
   189 	  $(call groupin10infile,$(BSCRESPONSEFILE),$(SBRFILES)) ;
   182 	  $(call groupin10infile,$(BSCRESPONSEFILE),$(SBRFILES)) ;
   197 endif
   190 endif
   198 
   191 
   199 
   192 
   200 # Global targets
   193 # Global targets
   201 .PHONY:: $(ALLTARGET)
   194 .PHONY:: $(ALLTARGET)
   202 $(ALLTARGET):: $(RELEASEABLES)
   195 $(ALLTARGET):: $(RELEASABLES)
   203 TARGET:: $(RELEASEABLES)
   196 TARGET:: $(RELEASABLES)
   204 
   197 
   205 ifeq ($(BASE_TYPE),staticlib)
   198 ifeq ($(BASE_TYPE),staticlib)
   206   LIBRARY:: $(RELEASETARGET) $(INSTALLTARGET)
   199   LIBRARY:: $(RELEASETARGET) $(INSTALLTARGET)
   207 endif
   200 endif
   208 
   201 
   209 # clean up
   202 # clean up
   210 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),,))
   203 $(call raptor_clean,$(CLEANTARGETS))
   211 # for the abld -what target
   204 # for the --what option and the log file
   212 $(eval $(call whatmacro,$(INSTALLTARGET),WHATTOOLS))
   205 $(call raptor_release,$(INSTALLTARGET))