hostsupport/hostbuild/flm/hostbuild.flm
branchbug235_bringup_0
changeset 69 3f914c77c2e9
parent 68 8d4efe9fa1cf
equal deleted inserted replaced
68:8d4efe9fa1cf 69:3f914c77c2e9
    89 TARGET_DIR:=$(EPOCROOT)/epoc32/release/tools2$(TOOLPLATFORMDIR)/$(CFG_PATH)/
    89 TARGET_DIR:=$(EPOCROOT)/epoc32/release/tools2$(TOOLPLATFORMDIR)/$(CFG_PATH)/
    90 OUTPUTPATH:=$(EPOCROOT)/epoc32/build/x86tools/$(CFG_PATH)/$(TARGET_NAME)/
    90 OUTPUTPATH:=$(EPOCROOT)/epoc32/build/x86tools/$(CFG_PATH)/$(TARGET_NAME)/
    91 
    91 
    92 # Target names differ depending on what we're building
    92 # Target names differ depending on what we're building
    93 ifeq ($(TARGET_TYPE),lib)
    93 ifeq ($(TARGET_TYPE),lib)
    94   TARGET_FULLNAME:=$(TARGET_DIR)lib$(TARGET_NAME)$(if $(findstring .,$(TARGET_NAME)),,.a)
    94   TARGET_FULLNAME:=$(TARGET_DIR)$(TARGET_NAME)$(if $(findstring .,$(TARGET_NAME)),,.a)
    95 endif
    95 endif
    96 ifeq ($(TARGET_TYPE),exe)
    96 ifeq ($(TARGET_TYPE),exe)
    97   TARGET_FULLNAME:=$(TARGET_DIR)$(TARGET_NAME)$(if $(findstring .,$(TARGET_NAME)),,$(DOTEXE))
    97   TARGET_FULLNAME:=$(TARGET_DIR)$(TARGET_NAME)$(if $(findstring .,$(TARGET_NAME)),,$(DOTEXE))
    98 endif
    98 endif
    99 ifeq ($(TARGET_TYPE),dll)
    99 ifeq ($(TARGET_TYPE),dll)
   100   TARGET_FULLNAME:=$(TARGET_DIR)lib$(TARGET_NAME)$(if $(findstring .,$(TARGET_NAME)),,$(DOTDLL))
   100   TARGET_FULLNAME:=$(TARGET_DIR)$(TARGET_NAME)$(if $(findstring .,$(TARGET_NAME)),,$(DOTDLL))
   101 endif
   101 endif
   102 
   102 
   103 # Object files are the same name as the source files with a .o extension
   103 # Object files are the same name as the source files with a .o extension
   104 OBJECTFILES:=$(foreach src,$(SOURCE_FILES),$(OUTPUTPATH)$(subst $(EPOCROOT),,$(src)).o)
   104 OBJECTFILES:=$(foreach src,$(SOURCE_FILES),$(OUTPUTPATH)$(subst $(EPOCROOT),,$(src)).o)
   105 
   105 
   121 		$(call startrule,compile) \
   121 		$(call startrule,compile) \
   122 		$(CXX) $(CXXDEFS) $(CXXINC) -I$(EPOCROOT)$$(subst $(OUTPUTPATH),,$$(dir $$@)) $(CXXOPT) $$(if $$(findstring .cia,$$@),$(ASMOPT),$(if $(CODE_COVERAGE),-fprofile-arcs -ftest-coverage)) $(COMPILE_OPTIONS) -o$$@ $(EPOCROOT)$$(subst $(OUTPUTPATH),,$$(basename $$@)) \
   122 		$(CXX) $(CXXDEFS) $(CXXINC) -I$(EPOCROOT)$$(subst $(OUTPUTPATH),,$$(dir $$@)) $(CXXOPT) $$(if $$(findstring .cia,$$@),$(ASMOPT),$(if $(CODE_COVERAGE),-fprofile-arcs -ftest-coverage)) $(COMPILE_OPTIONS) -o$$@ $(EPOCROOT)$$(subst $(OUTPUTPATH),,$$(basename $$@)) \
   123 		$(call endrule,compile)
   123 		$(call endrule,compile)
   124 
   124 
   125   # Link
   125   # Link
   126   $(TARGET_FULLNAME) : $(OBJECTFILES) $(foreach lib,$(LIBS),$(TARGET_DIR)lib$(lib).a) $(foreach lib,$(SHARED_LIBS),$(TARGET_DIR)lib$(lib)$(DOTDLL))
   126   $(TARGET_FULLNAME) : $(OBJECTFILES) $(foreach lib,$(LIBS),$(TARGET_DIR)$(lib).a) $(foreach lib,$(SHARED_LIBS),$(TARGET_DIR)$(lib)$(DOTDLL))
   127   ifeq ($(TARGET_TYPE),lib)
   127   ifeq ($(TARGET_TYPE),lib)
   128 		$(call startrule,linklib) \
   128 		$(call startrule,linklib) \
   129 		$(AR) -r $$@ $(OBJECTFILES) \
   129 		$(AR) -r $$@ $(OBJECTFILES) \
   130 		$(call endrule,linklib)
   130 		$(call endrule,linklib)
   131   endif
   131   endif
   132   ifeq ($(TARGET_TYPE),exe)
   132   ifeq ($(TARGET_TYPE),exe)
   133 		$(call startrule,linkexe) \
   133 		$(call startrule,linkexe) \
   134 		$(CXX) -L$(TARGET_DIR) $(if $(GCOVDIR),-L$(GCOVDIR)) -o$$@ $(OBJECTFILES) $(foreach lib,$(LIBS) $(SHARED_LIBS),-l$(lib)) $(if $(CODE_COVERAGE),-lgcov) $(if $(WIN32),-Wl$(CHAR_COMMA)--enable-auto-import,-ldl) \
   134 		$(CXX) -L$(TARGET_DIR) $(if $(GCOVDIR),-L$(GCOVDIR)) -o$$@ $(OBJECTFILES) $(foreach lib,$(LIBS),$(TARGET_DIR)$(lib).a) $(foreach slib,$(SHARED_LIBS),$(TARGET_DIR)$(slib)$(DOTDLL)) $(if $(CODE_COVERAGE),-lgcov) $(if $(WIN32),-Wl$(CHAR_COMMA)--enable-auto-import,-ldl) \
   135 		$(call endrule,linkexe)
   135 		$(call endrule,linkexe)
   136   endif
   136   endif
   137   ifeq ($(TARGET_TYPE),dll)
   137   ifeq ($(TARGET_TYPE),dll)
   138 		$(call startrule,linkdll) \
   138 		$(call startrule,linkdll) \
   139 		$(CXX) -L$(TARGET_DIR) $(if $(GCOVDIR),-L$(GCOVDIR)) -shared -o$$@ $(OBJECTFILES) $(foreach lib,$(LIBS) $(SHARED_LIBS), -l$(lib)) $(if $(WIN32),$(DLL_WIN_LINKER_OPTS),$(DLL_LIN_LINKER_OPTS)) \
   139 		$(CXX) -L$(TARGET_DIR) $(if $(GCOVDIR),-L$(GCOVDIR)) -shared -o$$@ $(OBJECTFILES) $(foreach lib,$(LIBS),$(TARGET_DIR)$(lib).a) $(foreach slib,$(SHARED_LIBS),$(TARGET_DIR)$(slib)$(DOTDLL)) $(if $(WIN32),$(DLL_WIN_LINKER_OPTS),$(DLL_LIN_LINKER_OPTS)) \
   140 		$(call endrule,linkdll)
   140 		$(call endrule,linkdll)
   141   endif
   141   endif
   142 endef
   142 endef
   143 
   143 
   144 # Generate the rules
   144 # Generate the rules