1# -*- makefile -*- 2 3!if "$(srcdir)" != "" 4WIN32DIR = $(srcdir)/win32 5!elseif "$(WIN32DIR)" == "win32" 6srcdir = . 7!elseif "$(WIN32DIR)" == "$(WIN32DIR:/win32=)/win32" 8srcdir = $(WIN32DIR:/win32=) 9!else 10srcdir = $(WIN32DIR)/.. 11!endif 12!ifndef prefix 13prefix = /usr 14!endif 15BANG = ! 16APPEND = echo.>>$(MAKEFILE) 17!ifdef MAKEFILE 18MAKE = $(MAKE) -f $(MAKEFILE) 19!else 20MAKEFILE = Makefile 21!endif 22ARCH = PROCESSOR_ARCHITECTURE 23CPU = PROCESSOR_LEVEL 24CC = cl -nologo 25CPP = $(CC) -EP 26 27all: -prologue- -generic- -epilogue- 28i386-mswin32: -prologue32- -i386- -epilogue- 29i486-mswin32: -prologue32- -i486- -epilogue- 30i586-mswin32: -prologue32- -i586- -epilogue- 31i686-mswin32: -prologue32- -i686- -epilogue- 32alpha-mswin32: -prologue32- -alpha- -epilogue- 33x64-mswin64: -prologue64- -x64- -epilogue- 34ia64-mswin64: -prologue64- -ia64- -epilogue- 35 36-prologue-: -basic-vars- -system-vars- -version- -program-name- 37 38-prologue32-: -basic-vars- -system-vars32- -version- -program-name- 39 40-prologue64-: -basic-vars- -system-vars64- -version- -program-name- 41 42-basic-vars-: nul 43 @type << > $(MAKEFILE) 44### Makefile for ruby $(TARGET_OS) ### 45MAKE = nmake 46srcdir = $(srcdir:\=/) 47prefix = $(prefix:\=/) 48EXTSTATIC = $(EXTSTATIC) 49!if defined(RDOCTARGET) 50RDOCTARGET = $(RDOCTARGET) 51!endif 52!if defined(EXTOUT) 53EXTOUT = $(EXTOUT) 54!endif 55!if defined(BASERUBY) 56BASERUBY = $(BASERUBY:/=\) 57!endif 58!if defined(NTVER) 59NTVER = $(NTVER) 60!endif 61!if defined(USE_RUBYGEMS) 62USE_RUBYGEMS = $(USE_RUBYGEMS) 63!endif 64 65<< 66!if !defined(BASERUBY) 67 @for %I in (ruby.exe) do @echo BASERUBY = %~s$$PATH:I>> $(MAKEFILE) 68 @echo !if "$$(BASERUBY)" == "">> $(MAKEFILE) 69 @echo BASERUBY = echo executable host ruby is required. use --with-baseruby option.^& exit 1 >> $(MAKEFILE) 70 @echo !endif>> $(MAKEFILE) 71!endif 72 73-system-vars-: -osname- -runtime- 74 75-system-vars32-: -osname32- -runtime- 76 77-system-vars64-: -osname64- -runtime- 78 79-osname32-: nul 80 @echo TARGET_OS = mswin32>>$(MAKEFILE) 81 82-osname64-: nul 83 @echo TARGET_OS = mswin64>>$(MAKEFILE) 84 85-osname-: nul 86 @echo !ifndef TARGET_OS>>$(MAKEFILE) 87 @($(CC) -c <<conftest.c > nul && (echo TARGET_OS = mswin32) || (echo TARGET_OS = mswin64)) >>$(MAKEFILE) 88#ifdef _WIN64 89#error 90#endif 91<< 92 @echo !endif>>$(MAKEFILE) 93 @$(WIN32DIR:/=\)\rm.bat conftest.* 94 95-runtime-: nul 96 @$(CC) -MD <<conftest.c user32.lib -link > nul 97#include <stdio.h> 98int main(void) {FILE *volatile f = stdin; return 0;} 99<< 100 @$(WIN32DIR:/=\)\rtname conftest.exe >>$(MAKEFILE) 101 @$(WIN32DIR:/=\)\rm.bat conftest.* 102 103-version-: nul 104 @$(APPEND) 105 @$(CPP) -I$(srcdir) -I$(srcdir)/include <<"Creating $(MAKEFILE)" | findstr "=" >>$(MAKEFILE) 106#define RUBY_REVISION 0 107#include "version.h" 108MAJOR = RUBY_API_VERSION_MAJOR 109MINOR = RUBY_API_VERSION_MINOR 110TEENY = RUBY_API_VERSION_TEENY 111MSC_VER = _MSC_VER 112<< 113 114-program-name-: 115 @type << >>$(MAKEFILE) 116!ifdef PROGRAM_PREFIX 117PROGRAM_PREFIX = $(PROGRAM_PREFIX) 118!endif 119!ifdef PROGRAM_SUFFIX 120PROGRAM_SUFFIX = $(PROGRAM_SUFFIX) 121!endif 122!ifdef RUBY_INSTALL_NAME 123RUBY_INSTALL_NAME = $(RUBY_INSTALL_NAME) 124!endif 125!ifdef RUBY_SO_NAME 126RUBY_SO_NAME = $(RUBY_SO_NAME) 127!endif 128<< 129 130-generic-: nul 131!if defined($(ARCH)) || defined($(CPU)) 132 @type << >>$(MAKEFILE) 133!if defined($(ARCH)) 134!if "$(PROCESSOR_ARCHITECTURE)" == "AMD64" 135$(ARCH) = x64 136!elseif "$(PROCESSOR_ARCHITECTURE)" == "IA64" 137$(ARCH) = ia64 138!elseif defined(PROCESSOR_ARCHITEW6432) 139$(BANG)if "$$(TARGET_OS)" == "mswin64" 140!if "$(PROCESSOR_ARCHITECTURE)" == "IA64" 141$(ARCH) = ia64 142!else 143$(ARCH) = x64 144!endif 145$(BANG)else 146$(ARCH) = $(PROCESSOR_ARCHITECTURE) 147$(BANG)endif 148!else 149$(ARCH) = $(PROCESSOR_ARCHITECTURE) 150!endif 151!endif 152!if defined($(CPU)) 153$(CPU) = $(PROCESSOR_LEVEL) 154!endif 155 156<< 157!endif 158 159-alpha-: nul 160 @echo $(ARCH) = alpha>>$(MAKEFILE) 161-x64-: nul 162 @echo $(ARCH) = x64>>$(MAKEFILE) 163-ia64-: nul 164 @echo $(ARCH) = ia64>>$(MAKEFILE) 165-ix86-: nul 166 @echo $(ARCH) = x86>>$(MAKEFILE) 167 168-i386-: -ix86- 169 @echo $(CPU) = 3>>$(MAKEFILE) 170-i486-: -ix86- 171 @echo $(CPU) = 4>>$(MAKEFILE) 172-i586-: -ix86- 173 @echo $(CPU) = 5>>$(MAKEFILE) 174-i686-: -ix86- 175 @echo $(CPU) = 6>>$(MAKEFILE) 176 177-epilogue-: -encs- 178 179-encs-: nul 180 @$(MAKE) -l -f $(srcdir)/win32/enc-setup.mak srcdir="$(srcdir)" MAKEFILE=$(MAKEFILE) 181 182-epilogue-: nul 183!if exist(confargs.c) 184 @$(APPEND) 185 @$(CPP) confargs.c 2>&1 | findstr "! =" >> $(MAKEFILE) 186 @del confargs.c 187!endif 188 @type << >>$(MAKEFILE) 189 190# RUBY_INSTALL_NAME = ruby 191# RUBY_SO_NAME = $$(RT)-$$(RUBY_INSTALL_NAME)$$(MAJOR)$$(MINOR) 192# CFLAGS = -nologo -MD $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG) 193# CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -DLIBRUBY_SO=\"$$(LIBRUBY_SO)\" 194# STACK = 0x2000000 195# LDFLAGS = $$(CFLAGS) -Fm 196# XLDFLAGS = 197# RFLAGS = -r 198# EXTLIBS = 199 200$(BANG)include $$(srcdir)/win32/Makefile.sub 201<< 202 @$(COMSPEC) /C $(srcdir:/=\)\win32\rm.bat config.h config.status 203 @echo "type `nmake' to make ruby." 204