diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:02:05 +0000 |
commit | 0dc342de848a642ecce8db697b8fecd83a63e117 (patch) | |
tree | 2b7ed4724aff1f86073e4740134bda9c4aac1a39 /trunk/cygwin/GNUmakefile.in | |
parent | ef70cf7138ab8034b5b806f466e4b484b24f0f88 (diff) |
added tag v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/cygwin/GNUmakefile.in')
-rw-r--r-- | trunk/cygwin/GNUmakefile.in | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/trunk/cygwin/GNUmakefile.in b/trunk/cygwin/GNUmakefile.in new file mode 100644 index 0000000000..f6883492b7 --- /dev/null +++ b/trunk/cygwin/GNUmakefile.in @@ -0,0 +1,88 @@ +include Makefile +include uncommon.mk + +ENABLE_SHARED=@ENABLE_SHARED@ +DLLWRAP = @DLLWRAP@ --target=@target_os@ + +ifeq (@target_os@,cygwin) + DLL_BASE_NAME := $(subst .dll,,$(LIBRUBY_SO)) +else + DLL_BASE_NAME := $(RUBY_SO_NAME) + DLLWRAP += -mno-cygwin + VPATH += $(srcdir)/win32 +endif + +ifneq ($(ENABLE_SHARED),yes) + RUBY_EXP = $(RUBY_INSTALL_NAME).exp + EXTOBJS = $(RUBY_EXP) + LIBRUBYARG = $(LIBRUBY_A) + LIBRUBY_SO = +endif + +ifeq ($(RUBY_INSTALL_NAME),ruby) + RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w +else + RUBYW_INSTALL_NAME = $(subst ruby,rubyw,$(RUBY_INSTALL_NAME)) +endif + +WPROGRAM = $(RUBYW_INSTALL_NAME)$(EXEEXT) +SOLIBS := $(DLL_BASE_NAME).res.@OBJEXT@ $(SOLIBS) +EXTOBJS += $(if $(filter-out $(RUBYW_INSTALL_NAME),$(@:$(EXEEXT)=)),$(RUBY_INSTALL_NAME),$(@:$(EXEEXT)=)).res.$(OBJEXT) +RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc +RUBYDEF = $(RUBY_SO_NAME).def + +ruby: $(PROGRAM) +rubyw: $(WPROGRAM) + +$(LIBRUBY): $(RUBY_EXP) $(LIBRUBY_SO) +$(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.@OBJEXT@ + +%.res.@OBJEXT@: %.rc + @WINDRES@ --include-dir . --include-dir $(<D) --include-dir $(srcdir)/win32 $< $@ + +$(RCFILES): $(RBCONFIG) + @$(MINIRUBY) $(srcdir)/win32/resource.rb \ + -ruby_name=$(RUBY_INSTALL_NAME) -rubyw_name=$(RUBYW_INSTALL_NAME) \ + -so_name=$(DLL_BASE_NAME) \ + . $(icondirs) $(srcdir)/win32 + +$(PROGRAM): $(RUBY_INSTALL_NAME).res.@OBJEXT@ +$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.@OBJEXT@ + @rm -f $@ + $(PURIFY) $(CC) -mwindows -e _mainCRTStartup $(LDFLAGS) $(XLDFLAGS) \ + $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@ + +$(RUBY_EXP): $(LIBRUBY_A) + $(DLLWRAP) \ + --output-exp=$(RUBY_EXP) \ + --export-all $(LIBRUBY_A) $(LIBS) -o $(PROGRAM) + $(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM) + @rm -f $(PROGRAM) + +GNUmakefile: $(srcdir)/cygwin/GNUmakefile.in + +ifeq (@target_os@,mingw32) +$(OBJS) $(MAINOBJ): win32.h + +$(LIBRUBY_SO): $(RUBYDEF) + +$(RUBYDEF): $(LIBRUBY_A) $(PREP) $(RBCONFIG) + $(MINIRUBY) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A) + +clean-local:: + @$(RM) $(RUBYDEF) +endif + +ifeq (@target_os@,cygwin) +cygwin-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)$(TEENY).dll: $(LIBRUBY_A) + @NM@ --extern --defined $(LIBRUBY_A) | \ + $(MINIRUBY) -ne 'BEGIN{puts "EXPORTS"}; puts $$1+"=$(@F)."+$$1 if / [CDT] _(.*)$$/' >rubydll.def + @DLLWRAP@ -s --def=rubydll.def -o $@ + @rm -f rubydll.def +endif + +clean-local:: + @$(RM) $(RUBY_EXP) $(RCFILES:.rc=.res.@OBJEXT@) + +distclean-local:: + @$(RM) $(RCFILES) |