Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » C / C++ IDE (CDT) » How to implements IManagedBuilderMakefileGenerator
How to implements IManagedBuilderMakefileGenerator [message #119236] Fri, 03 September 2004 07:08 Go to next message
Eclipse UserFriend
Originally posted by: c55jeremy.sina.com.tw

I'm trying implemeting the IManagedBuilderMakefileGenerator supplied by
CDT SDK and hope that my ManagedBuilder can generate a makefile the same
style with Microsoft VC++.
However, I found that even after implmenting every interfaces of
IManagedBuilderMakefileGenerator, I can't generate anything.
I can do it just by extending GnuMakefileGenerator, but it's not easy to
extend.

Is there anyting I should do futher to make my makefile generator work?
Or who will be kindly tell me where I can find more information about it.

Thanks.
Re: How to implements IManagedBuilderMakefileGenerator [message #119759 is a reply to message #119236] Tue, 07 September 2004 14:03 Go to previous messageGo to next message
Sean Evoy is currently offline Sean EvoyFriend
Messages: 195
Registered: July 2009
Senior Member
Jeremy,
You specify the makefile generator in a target definition (you can refer
to the old documentation on the Managed Build Extensibility to get a
sense of what that implies). Until we determine how or if we want to be
able to change generators via the UI, you will have to create a new
target for Win32 and spec the generator there.

Sean

Jeremy wrote:
> I'm trying implemeting the IManagedBuilderMakefileGenerator supplied by
> CDT SDK and hope that my ManagedBuilder can generate a makefile the same
> style with Microsoft VC++.
> However, I found that even after implmenting every interfaces of
> IManagedBuilderMakefileGenerator, I can't generate anything.
> I can do it just by extending GnuMakefileGenerator, but it's not easy to
> extend.
>
> Is there anyting I should do futher to make my makefile generator work?
> Or who will be kindly tell me where I can find more information about it.
>
> Thanks.
>
>
Re: How to implements IManagedBuilderMakefileGenerator [message #120029 is a reply to message #119759] Wed, 08 September 2004 04:32 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: c55jeremy.sina.com.tw

Hi Sean,

Thanks for your response.
I'd done what you mentioned, however the system still doesn't generate
anything.
I've had it in <target>
makefileGenerator="com.compal.tool.builder.MSVCMakefileBuilder "
If the MSVCMakefileBuilder implements IManagedBuilderMakefileGenerator,
the generator has no effect.
If the MSVCMakefileBuilder extends GnuMakefileGenerator, the generator
generates the file exactly the same with gnu make file.

The file below is my plug-in.xml.

Thanks for you time.

<?eclipse version="3.0"?>
<plugin
id="com.compal.tool.builder"
name="Builder Plug-in"
version="1.0.0"
provider-name="COMPAL"
class="com.compal.tool.builder.BuilderPlugin">

<runtime>
<library name="builder.jar">
<export name="*"/>
</library>
</runtime>

<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.cdt.managedbuilder.core"/>
<import plugin="org.eclipse.cdt.managedbuilder.ui"/>
<import plugin="org.eclipse.cdt.core"/>
<import plugin="org.eclipse.cdt.make.ui"/>
<import plugin="org.eclipse.cdt.make.core"/>
</requires>
<extension
id="com.compal.tool.builder.MSVC"
name="com.compal.tool.builder.MSVC"
point="org.eclipse.cdt.managedbuilder.core.ManagedBuildInfo ">
<target
artifactName="test"
defaultExtension="exe"
makeCommand="make"
osList="win32"
isTest="false"
name="MSVC"
makefileGenerator="com.compal.tool.builder.MSVCMakefileBuilder "
id="com.compal.tool.builder.target1"
cleanCommand="rm -f">
<configuration
name="MSVC Win32 Executable"
id="com.compal.tool.builder.MSVC">
<toolReference id="com.compal.tool.builder.MSVC.compiler"/>
<toolReference id="com.compal.tool.builder.MSVC.linker"/>
</configuration>
<tool
command="cl.exe"
sources="c,C"
outputs="obj"
headerExtensions="h,H"
name="MSVC Compiler"
id="com.compal.tool.builder.MSVC.compiler"
outputFlag="/c /out:"
natureFilter="both"/>
<tool
command="link.exe"
sources="obj"
outputs="exe"
name="MSVC Linker"
id="com.compal.tool.builder.MSVC.linker"
outputFlag="/out:"
natureFilter="both"/>
</target>
</extension>

</plugin>
Sean Evoy wrote:

> Jeremy,
> You specify the makefile generator in a target definition (you can refer
> to the old documentation on the Managed Build Extensibility to get a
> sense of what that implies). Until we determine how or if we want to be
> able to change generators via the UI, you will have to create a new
> target for Win32 and spec the generator there.

> Sean

> Jeremy wrote:
> > I'm trying implemeting the IManagedBuilderMakefileGenerator supplied by
> > CDT SDK and hope that my ManagedBuilder can generate a makefile the same
> > style with Microsoft VC++.
> > However, I found that even after implmenting every interfaces of
> > IManagedBuilderMakefileGenerator, I can't generate anything.
> > I can do it just by extending GnuMakefileGenerator, but it's not easy to
> > extend.
> >
> > Is there anyting I should do futher to make my makefile generator work?
> > Or who will be kindly tell me where I can find more information about it.
> >
> > Thanks.
> >
> >
Re: How to implements IManagedBuilderMakefileGenerator [message #120586 is a reply to message #120029] Thu, 09 September 2004 18:35 Go to previous messageGo to next message
Sean Evoy is currently offline Sean EvoyFriend
Messages: 195
Registered: July 2009
Senior Member
Jeremy,
I hope you won't be offended by me pointing this out, but if your class
is implementing the interface, it has to have code for the methods. I
just did a quick test and the empty class I created and specified in the
plugin file is instantiated by the build system. It doesn't do
anything, but I can place a break point in the initialize method and see
that it gets hit. If this isn't happening on your system, then we have a
bug.

Sean

Jeremy wrote:

> Hi Sean,
>
> Thanks for your response.
> I'd done what you mentioned, however the system still doesn't generate
> anything.
> I've had it in <target>
> makefileGenerator="com.compal.tool.builder.MSVCMakefileBuilder "
> If the MSVCMakefileBuilder implements IManagedBuilderMakefileGenerator,
> the generator has no effect.
> If the MSVCMakefileBuilder extends GnuMakefileGenerator, the generator
> generates the file exactly the same with gnu make file.
>
> The file below is my plug-in.xml.
>
> Thanks for you time.
>
> <?eclipse version="3.0"?>
> <plugin
> id="com.compal.tool.builder"
> name="Builder Plug-in"
> version="1.0.0"
> provider-name="COMPAL"
> class="com.compal.tool.builder.BuilderPlugin">
>
> <runtime>
> <library name="builder.jar">
> <export name="*"/>
> </library>
> </runtime>
>
> <requires>
> <import plugin="org.eclipse.ui"/>
> <import plugin="org.eclipse.core.runtime"/>
> <import plugin="org.eclipse.cdt.managedbuilder.core"/>
> <import plugin="org.eclipse.cdt.managedbuilder.ui"/>
> <import plugin="org.eclipse.cdt.core"/>
> <import plugin="org.eclipse.cdt.make.ui"/>
> <import plugin="org.eclipse.cdt.make.core"/>
> </requires>
> <extension
> id="com.compal.tool.builder.MSVC"
> name="com.compal.tool.builder.MSVC"
> point="org.eclipse.cdt.managedbuilder.core.ManagedBuildInfo ">
> <target
> artifactName="test"
> defaultExtension="exe"
> makeCommand="make"
> osList="win32"
> isTest="false"
> name="MSVC"
> makefileGenerator="com.compal.tool.builder.MSVCMakefileBuilder "
> id="com.compal.tool.builder.target1"
> cleanCommand="rm -f">
> <configuration
> name="MSVC Win32 Executable"
> id="com.compal.tool.builder.MSVC">
> <toolReference id="com.compal.tool.builder.MSVC.compiler"/>
> <toolReference id="com.compal.tool.builder.MSVC.linker"/>
> </configuration>
> <tool
> command="cl.exe"
> sources="c,C"
> outputs="obj"
> headerExtensions="h,H"
> name="MSVC Compiler"
> id="com.compal.tool.builder.MSVC.compiler"
> outputFlag="/c /out:"
> natureFilter="both"/>
> <tool
> command="link.exe"
> sources="obj"
> outputs="exe"
> name="MSVC Linker"
> id="com.compal.tool.builder.MSVC.linker"
> outputFlag="/out:"
> natureFilter="both"/>
> </target>
> </extension>
>
> </plugin>
> Sean Evoy wrote:
>
>
>>Jeremy,
>>You specify the makefile generator in a target definition (you can refer
>>to the old documentation on the Managed Build Extensibility to get a
>>sense of what that implies). Until we determine how or if we want to be
>>able to change generators via the UI, you will have to create a new
>>target for Win32 and spec the generator there.
>
>
>>Sean
>
>
>>Jeremy wrote:
>>
>>>I'm trying implemeting the IManagedBuilderMakefileGenerator supplied by
>>>CDT SDK and hope that my ManagedBuilder can generate a makefile the same
>>>style with Microsoft VC++.
>>>However, I found that even after implmenting every interfaces of
>>>IManagedBuilderMakefileGenerator, I can't generate anything.
>>>I can do it just by extending GnuMakefileGenerator, but it's not easy to
>>>extend.
>>>
>>>Is there anyting I should do futher to make my makefile generator work?
>>>Or who will be kindly tell me where I can find more information about it.
>>>
>>>Thanks.
>>>
>>>
>
>
>
Re: How to implements IManagedBuilderMakefileGenerator [message #120611 is a reply to message #120586] Fri, 10 September 2004 04:09 Go to previous message
Eclipse UserFriend
Originally posted by: c55jeremy.sina.com.tw

Not at all Sean, it's a resonable doubt. ^_^
I print something out from IManagedBuilderMakefileGenerator.initialize()
and be sure that my Makefile generator is instanciated.
Actually, I once tested it by just renameing the GnuMakefileGenerator to
MSVCMakefileBuilder from the source code CDT provides, and comiple it,
everything seems OK.
However, you know, the result is not good.
I've solve the problem by modifying the CDT source code for meeting my
project schedule, and it works fine.

Anyway, thanks for your time and help.

Jeremy


Sean Evoy wrote:

> Jeremy,
> I hope you won't be offended by me pointing this out, but if your class
> is implementing the interface, it has to have code for the methods. I
> just did a quick test and the empty class I created and specified in the
> plugin file is instantiated by the build system. It doesn't do
> anything, but I can place a break point in the initialize method and see
> that it gets hit. If this isn't happening on your system, then we have a
> bug.

> Sean

> Jeremy wrote:

> > Hi Sean,
> >
> > Thanks for your response.
> > I'd done what you mentioned, however the system still doesn't generate
> > anything.
> > I've had it in <target>
> > makefileGenerator="com.compal.tool.builder.MSVCMakefileBuilder "
> > If the MSVCMakefileBuilder implements IManagedBuilderMakefileGenerator,
> > the generator has no effect.
> > If the MSVCMakefileBuilder extends GnuMakefileGenerator, the generator
> > generates the file exactly the same with gnu make file.
> >
> > The file below is my plug-in.xml.
> >
> > Thanks for you time.
> >
> > <?eclipse version="3.0"?>
> > <plugin
> > id="com.compal.tool.builder"
> > name="Builder Plug-in"
> > version="1.0.0"
> > provider-name="COMPAL"
> > class="com.compal.tool.builder.BuilderPlugin">
> >
> > <runtime>
> > <library name="builder.jar">
> > <export name="*"/>
> > </library>
> > </runtime>
> >
> > <requires>
> > <import plugin="org.eclipse.ui"/>
> > <import plugin="org.eclipse.core.runtime"/>
> > <import plugin="org.eclipse.cdt.managedbuilder.core"/>
> > <import plugin="org.eclipse.cdt.managedbuilder.ui"/>
> > <import plugin="org.eclipse.cdt.core"/>
> > <import plugin="org.eclipse.cdt.make.ui"/>
> > <import plugin="org.eclipse.cdt.make.core"/>
> > </requires>
> > <extension
> > id="com.compal.tool.builder.MSVC"
> > name="com.compal.tool.builder.MSVC"
> > point="org.eclipse.cdt.managedbuilder.core.ManagedBuildInfo ">
> > <target
> > artifactName="test"
> > defaultExtension="exe"
> > makeCommand="make"
> > osList="win32"
> > isTest="false"
> > name="MSVC"
> > makefileGenerator="com.compal.tool.builder.MSVCMakefileBuilder "
> > id="com.compal.tool.builder.target1"
> > cleanCommand="rm -f">
> > <configuration
> > name="MSVC Win32 Executable"
> > id="com.compal.tool.builder.MSVC">
> > <toolReference id="com.compal.tool.builder.MSVC.compiler"/>
> > <toolReference id="com.compal.tool.builder.MSVC.linker"/>
> > </configuration>
> > <tool
> > command="cl.exe"
> > sources="c,C"
> > outputs="obj"
> > headerExtensions="h,H"
> > name="MSVC Compiler"
> > id="com.compal.tool.builder.MSVC.compiler"
> > outputFlag="/c /out:"
> > natureFilter="both"/>
> > <tool
> > command="link.exe"
> > sources="obj"
> > outputs="exe"
> > name="MSVC Linker"
> > id="com.compal.tool.builder.MSVC.linker"
> > outputFlag="/out:"
> > natureFilter="both"/>
> > </target>
> > </extension>
> >
> > </plugin>
> > Sean Evoy wrote:
> >
> >
> >>Jeremy,
> >>You specify the makefile generator in a target definition (you can refer
> >>to the old documentation on the Managed Build Extensibility to get a
> >>sense of what that implies). Until we determine how or if we want to be
> >>able to change generators via the UI, you will have to create a new
> >>target for Win32 and spec the generator there.
> >
> >
> >>Sean
> >
> >
> >>Jeremy wrote:
> >>
> >>>I'm trying implemeting the IManagedBuilderMakefileGenerator supplied by
> >>>CDT SDK and hope that my ManagedBuilder can generate a makefile the same
> >>>style with Microsoft VC++.
> >>>However, I found that even after implmenting every interfaces of
> >>>IManagedBuilderMakefileGenerator, I can't generate anything.
> >>>I can do it just by extending GnuMakefileGenerator, but it's not easy to
> >>>extend.
> >>>
> >>>Is there anyting I should do futher to make my makefile generator work?
> >>>Or who will be kindly tell me where I can find more information about it.
> >>>
> >>>Thanks.
> >>>
> >>>
> >
> >
> >
Previous Topic:Content Assist?
Next Topic:org.eclipse.cdt.utils- Plugin
Goto Forum:
  


Current Time: Fri Aug 16 22:17:27 GMT 2024

Powered by FUDForum. Page generated in 0.04528 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top