C#最強伝説

このエントリーをはてなブックマークに追加
.NETフレームワークSDKでC#使っています。これ、分割コンパイルできないのでしょうか?
Cとかだと、

cc -c sub1.c
cc -c sub2.c
cc -c sub3.c
cc sub1.o sub2.o sub3.o -o app.exe

で一つの実行ファイルが作れますが、C#コンパイラででこれに相当する方法がわかりません。
/t:library や /t:module を使うと、実行用ファイルがばらばらに分かれてしまいますし・・・
皆様、どのように対処なさってるのでしょうか。
>>306
いったいどうしたいのかわからん
308306:03/09/15 13:32
すみません、説明不足でした。

・複数のソースファイル(*.cs)から成るプロジェクトで、
 毎回全部のソースファイルをコンパイルするのではなく、
 変更のあったソースファイルだけをコンパイルしたい。

・生成される実行ファイルは、EXEと複数のDLLではなく、
 EXE一つだけにしたい。

この二つを同時に満たす方法はあるでしょうか?
(C言語等の開発ではごく普通だと思うのですが・・・)
アドバイスよろしくお願いいたします。
309デフォルトの名無しさん:03/09/15 13:52
>>308
できるに決まってるだろ
頭悪いな。

もしひとつのクラスを分割したいという話なら次まで待て
できますかと聞かれてただできますと答えるやつも
相当頭悪いな。
311306:03/09/15 14:30
すみません、数ヶ月以上探しているのですが方法が見つけられません。
できて当然だとは思うのですが・・・
お手数ですが、Makefileの書き方の一例など教えていただけませんか?
312306:03/09/15 14:46
例えば、Cだとこんなふうに分割コンパイルしますよね。

=== sub1.c ===
extern void subroutine();
int main() { subroutine(); return 0; }

=== sub2.c ===
void subroutine() { puts("OK"); }

=== Makefile ===
all: app.exe
app.exe: sub1.o sub2.o
  cc sub1.o sub2.o -o app.exe
sub1.o: sub1.c
  cc -c sub1.c
sub2.o: sub2.c
  cc -c sub2.c
313306:03/09/15 14:46
C#ではどんなMakefileを書けば分割コンパイルできるのでしょうか。

=== sub1.cs ===
public class Sub1 { public static int Main() { Sub2.Subroutine(); return 0; } }

=== sub2.cs ===
public class Sub2 { public static void Subroutine() { Console.WriteLine("OK"); } }

=== Makefile ===
???

いまのところ、これしか思いつきません。
これでは分割コンパイルになってないので、困っています。

=== Makefile ===
all: app.exe
app.exe: sub1.cs sub2.cs
  csc /out:app.exe sub1.cs sub2.cs

かさねがさね、よろしくお願いいたします。