# Ruby Installer # # Douglas Thrift # # $Id$ ifeq ($(OS),Windows_NT) BASE := $(CURDIR)/ruby CP := C:\cygwin\bin\cp.exe GEMS_INSTALL := gems-install.cmd RM_F := del /F /A RM_RF := rmdir /Q /S TOUCH := touch.cmd else BASE := Z:$(CURDIR)/ruby CP := cp GEMS_INSTALL := ./gems-install.sh RM_F := rm -f RM_RF := rm -rf TOUCH := touch endif RUBY_ZIP := $(lastword $(wildcard ruby-*-i386-mswin32.zip)) RUBY_VERSION := $(patsubst ruby-%-i386-mswin32.zip,%,$(RUBY_ZIP)) GEMS_ZIP := $(lastword $(wildcard rubygems-*.zip)) GEMS_VERSION := $(patsubst rubygems-%.zip,%,$(GEMS_ZIP)) GEMS_DIR := rubygems-$(GEMS_VERSION) INSTALLER := ruby-$(RUBY_VERSION)-rubygems-$(GEMS_VERSION).exe .PHONY: all clean all: $(INSTALLER) .gems: $(GEMS_ZIP) .ruby-install -$(RM_RF) $(GEMS_DIR) unzip $(GEMS_ZIP) $(TOUCH) $@ .gems-install: .gems $(GEMS_INSTALL) $(GEMS_DIR) $(TOUCH) $@ .ruby: $(RUBY_ZIP) -$(RM_RF) ruby unzip $(RUBY_ZIP) -d ruby $(TOUCH) $@ .ruby-install: ruby/bin/history.dll ruby/bin/libeay32.dll ruby/bin/history.dll \ ruby/bin/readline.dll ruby/bin/ssleay32.dll ruby/bin/zlib.dll $(TOUCH) $@ $(INSTALLER): ruby-installer.nsi .gems-install makensis -DRUBY_VERSION=$(RUBY_VERSION) -DGEMS_VERSION=$(GEMS_VERSION) \ -DRUBY_LICENSE=$(wildcard ruby/doc/ruby/ruby-*/COPYING) -DBASE=$(BASE) \ $< ruby/bin/%.dll: %.dll .ruby $(CP) $< $@ ruby/bin/history.dll: history5.dll .ruby $(CP) $< $@ ruby/bin/readline.dll: readline5.dll .ruby $(CP) $< $@ ruby/bin/zlib.dll: zlib1.dll .ruby $(CP) $< $@ clean: -$(RM_F) .gems* .ruby* $(INSTALLER) -$(RM_RF) ruby $(GEMS_DIR)