Use a .rbuild file instead of a .make file to describe cdmake compilation

svn path=/trunk/; revision=32592
This commit is contained in:
Hervé Poussineau 2008-03-07 08:15:23 +00:00
parent c99d04c093
commit 57640e2c83
6 changed files with 30 additions and 62 deletions

View file

@ -63,5 +63,8 @@
<directory name="subsystems">
<xi:include href="subsystems/subsystems.rbuild" />
</directory>
<directory name="tools">
<xi:include href="tools/tools.rbuild" />
</directory>
</group>

View file

@ -1,51 +0,0 @@
CDMAKE_BASE = $(TOOLS_BASE_)cdmake
CDMAKE_BASE_ = $(CDMAKE_BASE)$(SEP)
CDMAKE_INT = $(INTERMEDIATE_)$(CDMAKE_BASE)
CDMAKE_INT_ = $(CDMAKE_INT)$(SEP)
CDMAKE_OUT = $(OUTPUT_)$(CDMAKE_BASE)
CDMAKE_OUT_ = $(CDMAKE_OUT)$(SEP)
$(CDMAKE_INT): | $(TOOLS_INT)
$(ECHO_MKDIR)
${mkdir} $@
ifneq ($(INTERMEDIATE),$(OUTPUT))
$(CDMAKE_OUT): | $(TOOLS_OUT)
$(ECHO_MKDIR)
${mkdir} $@
endif
CDMAKE_TARGET = \
$(CDMAKE_OUT_)cdmake$(EXEPOSTFIX)
CDMAKE_SOURCES = $(addprefix $(CDMAKE_BASE_), \
cdmake.c \
llmosrt.c \
)
CDMAKE_OBJECTS = \
$(addprefix $(INTERMEDIATE_), $(CDMAKE_SOURCES:.c=.o))
CDMAKE_HOST_CFLAGS = -Iinclude $(TOOLS_CFLAGS)
CDMAKE_HOST_LFLAGS = $(TOOLS_LFLAGS)
.PHONY: cdmake
cdmake: $(CDMAKE_TARGET)
$(CDMAKE_TARGET): $(CDMAKE_OBJECTS) | $(CDMAKE_OUT)
$(ECHO_LD)
${host_gcc} $(CDMAKE_OBJECTS) $(CDMAKE_HOST_LFLAGS) -o $@
$(CDMAKE_INT_)cdmake.o: $(CDMAKE_BASE_)cdmake.c | $(CDMAKE_INT)
$(ECHO_CC)
${host_gcc} $(CDMAKE_HOST_CFLAGS) -c $< -o $@
$(CDMAKE_INT_)llmosrt.o: $(CDMAKE_BASE_)llmosrt.c | $(CDMAKE_INT)
$(ECHO_CC)
${host_gcc} $(CDMAKE_HOST_CFLAGS) -c $< -o $@
.PHONY: cdmake_clean
cdmake_clean:
-@$(rm) $(CDMAKE_TARGET) $(CDMAKE_OBJECTS) 2>$(NUL)
clean: cdmake_clean

View file

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
<module name="cdmake" type="buildtool">
<file>cdmake.c</file>
<file>llmosrt.c</file>
</module>

View file

@ -211,18 +211,22 @@ Directory::CreateRule ( FILE* f,
if ( escapedName.size() > 0 )
{
fprintf ( f,
"%s%c%s: | %s\n",
parent.c_str (),
cSep,
escapedName.c_str (),
parent.c_str () );
if ( ! (escapedName == "tools" &&
( parent == "$(OUTPUT)" || parent == "$(INTERMEDIATE)" ) ) )
{
fprintf ( f,
"%s%c%s: | %s\n",
parent.c_str (),
cSep,
escapedName.c_str (),
parent.c_str () );
fprintf ( f,
"\t$(ECHO_MKDIR)\n" );
fprintf ( f,
"\t$(ECHO_MKDIR)\n" );
fprintf ( f,
"\t${mkdir} $@\n" );
fprintf ( f,
"\t${mkdir} $@\n" );
}
path = parent + sSep + escapedName;
}

View file

@ -43,7 +43,6 @@ $(TOOLS_INT_)xml.o: $(TOOLS_BASE_)xml.cpp $(XML_SSPRINTF_HEADERS) | $(TOOLS_INT)
include tools/bin2c.mak
include tools/buildno/buildno.mak
include tools/cabman/cabman.mak
include tools/cdmake/cdmake.mak
include tools/gendib/gendib.mak
ifeq ($(ARCH),powerpc)
include tools/ofw_interface/ofw_interface.mak

View file

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE group SYSTEM "../tools/rbuild/project.dtd">
<group xmlns:xi="http://www.w3.org/2001/XInclude">
<directory name="cdmake">
<xi:include href="cdmake/cdmake.rbuild" />
</directory>
</group>