[Mono-list] Write & Compile

SiD` sid@darkstars.org
Thu, 13 Feb 2003 18:29:25 +0100

i've tryed to use as following:

USAGE: SlnToMake.exe [-u (unix mode)|-w (windows mode)] [-t (no project 
targets)] filename.sln

but, specifing only filename.sln
C:\net\IMAServer\IMAserver>make -w IMAserver.sln
!if !defined(TARGET)
!error You must provide TARGET when making


!if defined(RELEASE)

# common targets



# project names as targets
I think I have to specify a 'target', but HOW?

Scott Blomfield wrote:
>>>>How can I compile a vb.net solution in mono?
>>>Some weeks ago, someone contributed a package that would convert the 
>>Do you mean convert it to C#? In that case where can I get this package?
>>- Levi
> I think he was referring to the 01/03/2003 email from Jarek about converting
> VS.NET solutions to makefiles. Original email below. File attached.
> Original Email
> --------
> From: Jaroslaw Kowalski [jarek@atm.com.pl]
> To: mono-list@ximian.com
> Date: 01/03/2003
> Subject: Re: Dealing with csproj files was Re: [mono-list] Compiling C#
> cc...
> I have created a tool (attached) that converts VS.NET solutions to
> Makefiles. It's quick and dirty, definitely not finished but works for me by
> generating Windows makefiles from SLN (solution) files. Unix makefiles
> should work too. Windows makefiles are for nmake and unix makefiles are for
> GNU make.
> You feed it with the name of solution file (.sln) and some options and it
> prints out the makefile to stdout.
> The options are:
> -u    generate Unix version of the makefile (slashes instead of backslashes)
> -w    generate Windows version
> -c    don't generate "all" and "clean" targets
> -t    don't generate project targets (i.e. targets named after project
> names)
> -f    don't generate default values for CSC and CSCFLAGS.
> For each project in the solution it generates the following (so you need to
> specify TARGET) when making:
> PROJECT_NAME_EXE=$(TARGET)/ProjectName.exe
> PROJECT_NAME_PDB=$(TARGET)/ProjectName.pdb
> PROJECT_NAME_SRC=... source files that make up the project
> plus the rule to compile it using $(CSC) as the compiler with $(CSCFLAGS) as
> options to it. The rule contains dependencies on other DLLs in the solution.
> Dependencies on DLLs not found in the solution are not written out. They are
> instead just referenced.
> The whole idea is to have the generated makefile included from some other
> makefile, so you can just emit the rules to build projects, but nothing
> else. Or you can just invoke make like this:
> "make -f generated_makefile.mak CSC=mcs CSCFLAGS=--optimize TARGET=/tmp"
> Feel free to work on this tool, make it a full-blown application. You may
> also include it in mono/mcs if you like. The license is kind of BSD one.
> Jarek