/*
　 GCC(MinGW,Cygwin)によるDLL制作の手順
   　 == 2000.2.15. presented by einguste ==
   　 == 2000.7.10. 追記 Cygwin情報 ==
   　 == 2000.9. 8. 更新 DEFツール ==
   　 == 2002.1.16. 更新 DEFツール & 表現を一部変更 ==
      == 2002.1.22. DEFツールが不要になりました(:- ==
*/

FreeWare、At Your Own Risk です。

readme.txt      本ファイル
repdef.exe      DEFファイル生成支援ソフト repdef ver 1.0 (Mingw製 2000.9.8.)
makedll.txt     VB向けDLL作成の手引き。GCCでDLLを作成する際の手順。
makefile.txt    make用のmakefileの一例。

	1.　GCC 環境の構築
		a) MinGWのインストール
			MinGW: Minimalist GNU For Windows
				http://www.mingw.org/
			SourceFORGE Project: MinGW - Minimalist GNU for Windows
			 http://sourceforge.net/project/showfiles.php?group_id=2435
		をご参考にしてください。
		今(2001/12/27)ならMinGW-1.1.tar.gzを入手して展開。パスを通せばOKですね。
		b) Cygwinのインストール
			Cygwinのミラーサイト一覧
				http://sourceware.cygnus.com/cygwin/mirrors.html
			Snapshot情報が充実している藤枝さんのページ
				http://www.jaist.ac.jp/~fujieda/cygwin/
			をご参考にしてください。
		（latestフォルダのsetup.exeをゲットして実行するだけで構築できました）

	2.　DLLをプログラミングしましょう（＾＾） 
		HSP用ならhspdll.htmlやhspsdkの情報を参考に作成します（＾＾；；

		エクスポートする関数の宣言に工夫をします。
		例えば　__declspec(dllexport) void WINAPI func(argv) のWINAPIは不要です。
		bcc55と共通のソースを使用する場合、例えばこのようにするのはいかがでしょうか。

		#ifdef __MINGW32__
		#define DLLAPI
		#else
		#define DLLAPI WINAPI
		#endif

		__declspec(dllexport) void DLLAPI func(argv)

	//コンパイル
		gcc -c -mrtd -g -O3 -Wall test1.c (-mno-cygwin)
		gcc -c -mrtd -g -O3 -Wall test2.c (-mno-cygwin)
		-mrtdを指定しましょう。
		cygwin環境の場合には、-mno-cygwinオプションを指定してください。
		指定しないとcygwin1.dllが必要になります。

	//DLL作成
		dllwrap -s --export-all --output-def test.def --driver-name gcc -o test.dll test1.o test2.o test3.o (-mwindows) (-mno-cygwin)
		cygwin環境の場合には、-mno-cygwinオプションを指定してください。
		指定しないとcygwin1.dllが必要になります。
		dllwrapのバージョンにより上手く動作しない場合があるようです。

	現在は、makefileを作成してmakeコマンド一回で作成しています。
	makefileの一例としてmakefile.txtを添付しました。

私、eingusteは十分な理解をしていません。(*_*)
試行錯誤によって手順を確立しています。
よって、繰り返しになりますが、At Your Own Risk です。
参考程度に止め、DLL作成は、あなた自身の判断と決断によって行なってください。

※MinGW: Minimalist GNU For Windowsという素晴らしい開発環境を公開、メンテナンスされています諸氏に感謝いたします。