Clean object files for static libraries Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h Added: branches/xmlbuildsystem/reactos/tools/rsym.mak Modified: branches/xmlbuildsystem/reactos/tools/tools.mak _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-04-21 21:01:05 UTC (rev 14735) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-04-22 09:19:18 UTC (rev 14736) @@ -427,6 +427,7 @@
GenerateGlobalCFlagsAndProperties ( "=", ProjectNode.non_if_data ); + fprintf ( fMakefile, "PROJECT_RCFLAGS := $(PROJECT_CFLAGS)\n" ); fprintf ( fMakefile, "PROJECT_WIDLFLAGS := $(PROJECT_CFLAGS)\n" ); fprintf ( fMakefile, "PROJECT_LFLAGS := %s\n", _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-04-21 21:01:05 UTC (rev 14735) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-04-22 09:19:18 UTC (rev 14736) @@ -429,11 +429,11 @@
if ( 0 == clean_files.size() ) return; fprintf ( fMakefile, ".PHONY: %s_clean\n", module.name.c_str() ); - fprintf ( fMakefile, "%s_clean:\n\t-@$(rm)", module.name.c_str() ); + fprintf ( fMakefile, "%s_clean:\n\t-@${rm}", module.name.c_str() ); for ( size_t i = 0; i < clean_files.size(); i++ ) { if ( 9==((i+1)%10) ) - fprintf ( fMakefile, " 2>$(NUL)\n\t-@$(rm)" ); + fprintf ( fMakefile, " 2>$(NUL)\n\t-@${rm}" ); fprintf ( fMakefile, " %s", clean_files[i].c_str() ); } fprintf ( fMakefile, " 2>$(NUL)\n" ); @@ -1147,13 +1147,58 @@ }
void -MingwModuleHandler::GenerateCleanObjectsAsYouGoCode ( const string& files ) +MergeStringVector ( const vector<string>& input, + vector<string>& output ) { + int wrap_at = 25; + string s; + int wrap_count = -1; + for ( size_t i = 0; i < input.size (); i++ ) + { + if ( input[i].size () == 0 ) + continue; + if ( wrap_count++ == wrap_at ) + { + output.push_back ( s ); + s = ""; + wrap_count = 0; + } + else if ( s.size () > 0) + s += " "; + s += input[i]; + } + if ( s.length () > 0 ) + output.push_back ( s ); +} + +void +MingwModuleHandler::GetObjectsVector ( const IfableData& data, + vector<string>& objectFiles ) const +{ + for ( size_t i = 0; i < data.files.size (); i++ ) + { + File& file = *data.files[i]; + objectFiles.push_back ( GetObjectFilename ( file.name, NULL ) ); + } +} + +void +MingwModuleHandler::GenerateCleanObjectsAsYouGoCode () const +{ if ( backend->cleanAsYouGo ) { - fprintf ( fMakefile, - "\t-@${rm} %s 2>$(NUL)\n", - files.c_str () ); + vector<string> objectFiles; + GetObjectsVector ( module.non_if_data, + objectFiles ); + vector<string> lines; + MergeStringVector ( objectFiles, + lines ); + for ( size_t i = 0; i < lines.size (); i++ ) + { + fprintf ( fMakefile, + "\t-@${rm} %s 2>$(NUL)\n", + lines[i].c_str () ); + } } }
@@ -1226,7 +1271,7 @@ "\t-@${rm} %s 2>$(NUL)\n", temp_exp.c_str () ); - GenerateCleanObjectsAsYouGoCode ( objectsMacro ); + GenerateCleanObjectsAsYouGoCode (); } else { @@ -1239,7 +1284,7 @@ libsMacro.c_str (), GetLinkerMacro ().c_str () );
- GenerateCleanObjectsAsYouGoCode ( objectsMacro ); + GenerateCleanObjectsAsYouGoCode (); }
GenerateBuildMapCode (); @@ -1362,6 +1407,8 @@ ar.c_str (), objs_macro.c_str ());
+ GenerateCleanObjectsAsYouGoCode (); + return archiveFilename; }
_____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h 2005-04-21 21:01:05 UTC (rev 14735) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h 2005-04-22 09:19:18 UTC (rev 14736) @@ -38,6 +38,8 @@
string_list* pclean_files );
std::string GetModuleTargets ( const Module& module ); + void GetObjectsVector ( const IfableData& data, + std::vectorstd::string& objectFiles ) const; void GenerateObjectMacro(); void GenerateTargetMacro(); void GenerateOtherMacros(); @@ -77,7 +79,7 @@ std::string GetLinkingDependenciesMacro () const; std::string GetLibsMacro () const; std::string GetLinkerMacro () const; - void GenerateCleanObjectsAsYouGoCode ( const std::string& files ); + void GenerateCleanObjectsAsYouGoCode () const; void GenerateLinkerCommand ( const std::string& dependencies, const std::string& linker, const std::string& linkerParameters, _____
Added: branches/xmlbuildsystem/reactos/tools/rsym.mak --- branches/xmlbuildsystem/reactos/tools/rsym.mak 2005-04-21 21:01:05 UTC (rev 14735) +++ branches/xmlbuildsystem/reactos/tools/rsym.mak 2005-04-22 09:19:18 UTC (rev 14736) @@ -0,0 +1,41 @@
+RSYM_BASE = $(TOOLS_BASE) +RSYM_BASE_ = $(RSYM_BASE)$(SEP) + +RSYM_INT = $(INTERMEDIATE_)$(RSYM_BASE) +RSYM_INT_ = $(RSYM_INT)$(SEP) +RSYM_OUT = $(OUTPUT_)$(RSYM_BASE) +RSYM_OUT_ = $(RSYM_OUT)$(SEP) + +RSYM_TARGET = \ + $(EXEPREFIX)$(RSYM_OUT_)rsym$(EXEPOSTFIX) + +RSYM_SOURCES = \ + $(RSYM_BASE_)rsym.c \ + $(RSYM_BASE_)rsym_common.c + +RSYM_OBJECTS = \ + $(addprefix $(INTERMEDIATE_), $(RSYM_SOURCES:.c=.o)) + +RSYM_HOST_CFLAGS = -g -Werror -Wall + +RSYM_HOST_LFLAGS = -g + +.PHONY: rsym +rsym: $(RSYM_TARGET) + +$(RSYM_TARGET): $(RSYM_OBJECTS) | $(RSYM_OUT) + $(ECHO_LD) + ${host_gcc} $(RSYM_OBJECTS) $(RSYM_HOST_LFLAGS) -o $@ + +$(RSYM_INT_)rsym.o: $(RSYM_BASE_)rsym.c | $(RSYM_INT) + $(ECHO_CC) + ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ + +$(RSYM_INT_)rsym_common.o: $(RSYM_BASE_)rsym_common.c | $(RSYM_INT) + $(ECHO_CC) + ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ + +.PHONY: rsym_clean +rsym_clean: + -@$(nrm) $(RSYM_TARGET) $(RSYM_OBJECTS) 2>$(NUL) +clean: rsym_clean Property changes on: branches/xmlbuildsystem/reactos/tools/rsym.mak ___________________________________________________________________ Name: svn:eol-style + native _____
Modified: branches/xmlbuildsystem/reactos/tools/tools.mak --- branches/xmlbuildsystem/reactos/tools/tools.mak 2005-04-21 21:01:05 UTC (rev 14735) +++ branches/xmlbuildsystem/reactos/tools/tools.mak 2005-04-22 09:19:18 UTC (rev 14736) @@ -15,49 +15,8 @@
${mkdir} $@ endif
-RSYM_BASE = $(TOOLS_BASE) -RSYM_BASE_ = $(RSYM_BASE)$(SEP)
-RSYM_INT = $(INTERMEDIATE_)$(RSYM_BASE) -RSYM_INT_ = $(RSYM_INT)$(SEP) -RSYM_OUT = $(OUTPUT_)$(RSYM_BASE) -RSYM_OUT_ = $(RSYM_OUT)$(SEP) - -RSYM_TARGET = \ - $(EXEPREFIX)$(RSYM_OUT_)rsym$(EXEPOSTFIX) - -RSYM_SOURCES = \ - $(RSYM_BASE_)rsym.c \ - $(RSYM_BASE_)rsym_common.c - -RSYM_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(RSYM_SOURCES:.c=.o)) - -RSYM_HOST_CFLAGS = -g -Werror -Wall - -RSYM_HOST_LFLAGS = -g - -.PHONY: rsym -rsym: $(RSYM_TARGET) - -$(RSYM_TARGET): $(RSYM_OBJECTS) | $(RSYM_OUT) - $(ECHO_LD) - ${host_gcc} $(RSYM_OBJECTS) $(RSYM_HOST_LFLAGS) -o $@ - -$(RSYM_INT_)rsym.o: $(RSYM_BASE_)rsym.c | $(RSYM_INT) - $(ECHO_CC) - ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ - -$(RSYM_INT_)rsym_common.o: $(RSYM_BASE_)rsym_common.c | $(RSYM_INT) - $(ECHO_CC) - ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ - -.PHONY: rsym_clean -rsym_clean: - -@$(rm) $(RSYM_TARGET) $(RSYM_OBJECTS) 2>$(NUL) -clean: rsym_clean - - +include tools/rsym.mak include tools/bin2res/bin2res.mak include tools/buildno/buildno.mak include tools/cabman/cabman.mak