[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
!endif
CSC=csc
CSCFLAGS=/nologo
!if defined(RELEASE)
CSCFLAGS=$(CSCFLAGS) /optimize+ /d:TRACE
!else
CSCFLAGS=$(CSCFLAGS) /debug+ /d:TRACE,DEBUG
!endif
# common targets
all:
clean:
# project names as targets
>
I think I have to specify a 'target', but HOW?
thx
Scott Blomfield wrote:
>>>>How can I compile a vb.net solution in mono?
>>>
>>>Some weeks ago, someone contributed a package that would convert the
>>>solution.
>>>
>>
>>Do you mean convert it to C#? In that case where can I get this package?
>>
>>Regards,
>>- 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
>