Shiro Soga
shiro****@sogas*****
2002年 9月 25日 (水) 00:15:19 JST
曽我と言います。 exerb 2.0.0 にて Cygwin 環境の gcc(とmake)を使って Mingw なコアなコ ンパイルをする(要するに gcc -mno-cygwinです) Makefile のサンプルです。 (一気に Mingw と Cygwin 用とそれぞれの GUI向け CUI向け を作ります) # かなり安直です。参考程度にお考えてください。。。 実際にお使いになる場合は、Makefileの先頭の librubys へのライブラリパス のところと、-lxxx-rubysのところに修正の必要があります。 ちなみにこれで1.7のコアを作ると.soなライブラリのrequireでこけてしまい ます。。。1.7のコアのVC版はどこかで提供されてませんか? ------------------------------ ここから ------------------------------ PROJDIR1 = /usr/src/ruby-1.6-mingw PROJDIR2 = /usr/src/ruby-1.6-cygwin PROJDIR3 = /usr/src/ruby-mingw PROJDIR4 = /usr/src/ruby-cygwin INCLUDES1 = -I$(PROJDIR1) -I../../res INCLUDES2 = -I$(PROJDIR2) -I../../res INCLUDES3 = -I$(PROJDIR3) -I../../res INCLUDES4 = -I$(PROJDIR4) -I../../res LIBS1 = -L$(PROJDIR1) -li386-mingw32-rubys -lgdi32 -lwsock32 -lmingwex -lcrypt LIBS2 = -L$(PROJDIR2) -lrubys -lgdi32 -lcrypt LIBS3 = -L$(PROJDIR3) -li386-mingw32-rubys -lgdi32 -lwsock32 -lmingwex -lcrypt LIBS4 = -L$(PROJDIR4) -li386-cygwin-rubys -lgdi32 -lcrypt VPATH = ../../res .SUFFIXES: .rbx .o .cpp .c .h all: \ ruby167c-mingw32.rbx \ ruby167g-mingw32.rbx \ ruby167c-cygwin.rbx \ ruby167g-cygwin.rbx \ ruby17c-mingw32.rbx \ ruby17g-mingw32.rbx \ ruby17c-cygwin.rbx \ ruby17g-cygwin.rbx clean: rm *.rbx *.exe *.o *.res *~ resource.res: resource.rc resource.h windres $< -O coff -o $@ --include-dir=../../res ruby167c-mingw32.rbx: Makefile resource.res exerb-167.cpp dllwrap --target=i386-mingw32 -mno-cygwin --output-exp=ruby.exp \ --def=exerb-mingw.def $(LIBS1) -o $@ gcc -mno-cygwin -D_CONSOLE -DNT -D__NO_ISOCEXT $(INCLUDES1) -c exerb-167.cpp gcc -s -mno-cygwin ruby.exp exerb-167.o resource.res -o $@ $(LIBS1) ruby167g-mingw32.rbx: Makefile resource.res exerb-167.cpp dllwrap --target=i386-mingw32 -mno-cygwin --output-exp=ruby.exp \ --def=exerb-mingw.def $(LIBS1) -o $@ gcc -mno-cygwin -D_WINDOWS -DNT -D__NO_ISOCEXT $(INCLUDES1) -c exerb-167.cpp gcc -s -mwindows -mno-cygwin ruby.exp exerb-167.o resource.res -o $@ $(LIBS1) ruby167c-cygwin.rbx: Makefile resource.res exerb-167.cpp dllwrap --target=i386-cygwin --output-exp=ruby.exp \ --def=exerb-cygwin.def $(LIBS2) -o $@ gcc -D_CONSOLE $(INCLUDES2) -c exerb-167.cpp gcc -s ruby.exp exerb-167.o resource.res -o $@ $(LIBS2) ruby167g-cygwin.rbx: Makefile resource.res exerb-167.cpp dllwrap --target=i386-cygwin --output-exp=ruby.exp \ --def=exerb-cygwin.def $(LIBS2) -o $@ gcc -D_WINDOWS $(INCLUDES2) -c exerb-167.cpp gcc -s -mwindows ruby.exp exerb-167.o resource.res -o $@ $(LIBS2) ruby17c-mingw32.rbx: Makefile resource.res exerb.cpp dllwrap --target=i386-mingw32 -mno-cygwin --output-exp=ruby.exp \ --def=exerb-mingw17.def $(LIBS3) -o $@ gcc -mno-cygwin -D_CONSOLE -DNT -D__NO_ISOCEXT $(INCLUDES3) -c exerb.cpp gcc -s -mno-cygwin ruby.exp exerb.o resource.res -o $@ $(LIBS3) ruby17g-mingw32.rbx: Makefile resource.res exerb.cpp dllwrap --target=i386-mingw32 -mno-cygwin --output-exp=ruby.exp \ --def=exerb-mingw17.def $(LIBS3) -o $@ gcc -mno-cygwin -D_WINDOWS -DNT -D__NO_ISOCEXT $(INCLUDES3) -c exerb.cpp gcc -s -mwindows -mno-cygwin ruby.exp exerb.o resource.res -o $@ $(LIBS3) ruby17c-cygwin.rbx: Makefile resource.res exerb.cpp dllwrap --target=i386-cygwin --output-exp=ruby.exp \ --def=exerb-cygwin17.def $(LIBS4) -o $@ gcc -D_CONSOLE $(INCLUDES4) -c exerb.cpp gcc -s ruby.exp exerb.o resource.res -o $@ $(LIBS4) ruby17g-cygwin.rbx: Makefile resource.res exerb.cpp dllwrap --target=i386-cygwin --output-exp=ruby.exp \ --def=exerb-cygwin17.def $(LIBS4) -o $@ gcc -D_WINDOWS $(INCLUDES4) -c exerb.cpp gcc -s -mwindows ruby.exp exerb.o resource.res -o $@ $(LIBS4) .cpp.o: $(CC) $(CFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< ------------------------------ ここまで ------------------------------ ---------------------------------------------------------------------- そがし(曽我 四郎) E-Mail: shiro****@sogas*****