diff options
Diffstat (limited to 'ruby_1_8_5/cygwin/GNUmakefile.in')
-rw-r--r-- | ruby_1_8_5/cygwin/GNUmakefile.in | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/ruby_1_8_5/cygwin/GNUmakefile.in b/ruby_1_8_5/cygwin/GNUmakefile.in new file mode 100644 index 0000000000..03208df11c --- /dev/null +++ b/ruby_1_8_5/cygwin/GNUmakefile.in @@ -0,0 +1,78 @@ +include Makefile + +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 += $(@:$(EXEEXT)=.res.@OBJEXT@) +RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc + +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/win32.h +endif + +ifeq (@target_os@,cygwin) +cygwin-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR).dll: $(LIBRUBY_A) + @NM@ --extern --defined $(LIBRUBY_A) | \ + $(MINIRUBY) -ne 'BEGIN{puts "EXPORTS"}; puts $$1+"=cyg$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)."+$$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) |