Generate map files

svn path=/branches/xmlbuildsystem/; revision=14461
This commit is contained in:
Casper Hornstrup
2005-04-02 21:45:16 +00:00
parent 8d784c14d4
commit d7fdb5701e
3 changed files with 43 additions and 4 deletions
@@ -937,6 +937,41 @@ MingwModuleHandler::GenerateCommands (
sourceFilename.c_str () );
}
void
MingwModuleHandler::GenerateBuildMapCode ()
{
fprintf ( fMakefile,
"ifeq ($(ROS_BUILDMAP),full)\n" );
string mapFilename = PassThruCacheDirectory (
GetBasename ( module.GetPath () ) + ".map",
true );
CLEAN_FILE ( mapFilename );
fprintf ( fMakefile,
"\t$(ECHO_OBJDUMP)\n" );
fprintf ( fMakefile,
"\t$(Q)${objdump} -d -S $@ > %s\n",
mapFilename.c_str () );
fprintf ( fMakefile,
"else\n" );
fprintf ( fMakefile,
"ifeq ($(ROS_BUILDMAP),yes)\n" );
fprintf ( fMakefile,
"\t$(ECHO_NM)\n" );
fprintf ( fMakefile,
"\t$(Q)${nm} --numeric-sort $@ > %s\n",
mapFilename.c_str () );
fprintf ( fMakefile,
"endif\n" );
fprintf ( fMakefile,
"endif\n" );
}
void
MingwModuleHandler::GenerateLinkerCommand (
const string& dependencies,
@@ -1018,7 +1053,10 @@ MingwModuleHandler::GenerateLinkerCommand (
GetLinkerMacro ().c_str () );
}
fprintf ( fMakefile, "\t$(ECHO_RSYM)\n" );
GenerateBuildMapCode ();
fprintf ( fMakefile,
"\t$(ECHO_RSYM)\n" );
fprintf ( fMakefile,
"\t$(Q)$(RSYM_TARGET) $@ $@\n\n" );
}
@@ -1242,7 +1280,7 @@ MingwModuleHandler::GenerateOtherMacros ()
fprintf (
fMakefile,
"%s += $(PROJECT_CFLAGS)\n",
"%s += $(PROJECT_CFLAGS) -g\n",
cflagsMacro.c_str () );
fprintf (
@@ -1252,7 +1290,7 @@ MingwModuleHandler::GenerateOtherMacros ()
fprintf (
fMakefile,
"%s_LFLAGS += $(PROJECT_LFLAGS)\n",
"%s_LFLAGS += $(PROJECT_LFLAGS) -g\n",
module.name.c_str () );
fprintf (
@@ -147,6 +147,7 @@ private:
bool IsWineModule () const;
std::string GetDefinitionFilename () const;
static std::string RemoveVariables ( std::string path);
void GenerateBuildMapCode ();
public:
const Module& module;
string_list clean_files;
+1 -1
View File
@@ -12,7 +12,7 @@ $(WINEBUILD_INT): $(TOOLS_INT)
ifneq ($(INTERMEDIATE),$(OUTPUT))
$(WINEBUILD_OUT): $(TOOLS_OUT)
$(ECHO_MKDIR)
@{mkdir} $@
${mkdir} $@
endif
WINEBUILD_TARGET = \