--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
+<module name="vgafonts" type="cabinet">
+ <bootstrap installbase="$(CDOUTPUT)" />
+ <file>437-8x8.bin</file>
+ <file>737-8x8.bin</file>
+ <file>775-8x8.bin</file>
+ <file>850-8x8.bin</file>
+ <file>852-8x8.bin</file>
+ <file>865-8x8.bin</file>
+ <file>866-8x8.bin</file>
+</module>
\ No newline at end of file
case IdlHeader:
handler = new MingwIdlHeaderModuleHandler ( module );
break;
+ case Cabinet:
+ handler = new MingwCabinetModuleHandler ( module );
+ break;
case EmbeddedTypeLib:
handler = new MingwEmbeddedTypeLibModuleHandler ( module );
break;
"\t$(ECHO_CC)\n"
"\t${host_gpp} -c $< -o $@ $($(module_name)_CFLAGS)$(compiler_flags)\n",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).o", NULL );
+Rule emptyRule ( "", NULL );
void
MingwModuleHandler::GenerateGccCommand (
{ HostFalse, TypeDontCare, ".cc", &gppRule },
{ HostFalse, TypeDontCare, ".cpp", &gppRule },
{ HostFalse, TypeDontCare, ".cxx", &gppRule },
+ { HostFalse, Cabinet, ".*", &emptyRule }
};
size_t i;
Rule *customRule = NULL;
continue;
if ( rules[i].type != TypeDontCare && rules[i].type != module.type )
continue;
- if ( rules[i].extension != extension )
+ if ( rules[i].extension != extension && rules[i].extension != ".*")
continue;
customRule = rules[i].rule;
break;
FileLocation reactosInf ( bootcdReactos.directory,
bootcdReactos.relative_path,
"reactos.inf" );
- FileLocation vgafontsCab( bootcdReactos.directory,
- bootcdReactos.relative_path,
- "vgafonts.cab");
- FileLocation vgafontsDir( SourceDirectory,
- "media" + sSep + "vgafonts",
- "" );
vSourceFiles.push_back ( reactosDff );
sourceFiles.c_str (),
cdFiles.c_str (),
cdDirectories.c_str () );
- fprintf ( fMakefile, "\t$(ECHO_CABMAN)\n" );
- fprintf ( fMakefile,
- "\t$(Q)$(CABMAN_TARGET) -M raw -S %s %s\\*.bin\n", // Escape the asterisk for Make
- backend->GetFullName ( vgafontsCab ).c_str (),
- backend->GetFullName ( vgafontsDir ).c_str ());
fprintf ( fMakefile,
"\t$(Q)$(CABMAN_TARGET) -C %s -L %s -I -P $(OUTPUT)\n",
backend->GetFullName ( reactosDff ).c_str (),
GenerateRules ();
}
+MingwCabinetModuleHandler::MingwCabinetModuleHandler (
+ const Module& module_ )
+
+ : MingwModuleHandler ( module_ )
+{
+}
+
+void
+MingwCabinetModuleHandler::Process ()
+{
+ string targetMacro ( GetTargetMacro (module) );
+
+ GenerateRules ();
+
+ const FileLocation *target_file = GetTargetFilename ( module, NULL );
+ fprintf ( fMakefile, "%s: | %s\n",
+ targetMacro.c_str (),
+ backend->GetFullPath ( *target_file ).c_str () );
+
+ fprintf ( fMakefile, "\t$(ECHO_CABMAN)\n" );
+ fprintf ( fMakefile,
+ "\t$(Q)$(CABMAN_TARGET) -M raw -S %s $(%s_SOURCES)\n", // Escape the asterisk for Make
+ targetMacro.c_str (),
+ module.name.c_str());
+}
+
MingwElfExecutableModuleHandler::MingwElfExecutableModuleHandler (
const Module& module_ )