1 |
# Ruby Installer |
2 |
# |
3 |
# Douglas Thrift |
4 |
# |
5 |
# $Id$ |
6 |
|
7 |
ifeq ($(OS),Windows_NT) |
8 |
CP := C:\cygwin\bin\cp.exe |
9 |
GEMS_INSTALL := gems-install.cmd |
10 |
RM_F := del /F /A |
11 |
RM_RF := rmdir /Q /S |
12 |
TOUCH := touch.cmd |
13 |
else |
14 |
CP := cp |
15 |
GEMS_INSTALL := ./gems-install.sh |
16 |
RM_F := rm -f |
17 |
RM_RF := rm -rf |
18 |
TOUCH := touch |
19 |
endif |
20 |
|
21 |
RUBY_ZIP := $(lastword $(wildcard ruby-*-i386-mswin32.zip)) |
22 |
RUBY_VERSION := $(patsubst ruby-%-i386-mswin32.zip,%,$(RUBY_ZIP)) |
23 |
GEMS_ZIP := $(lastword $(wildcard rubygems-*.zip)) |
24 |
GEMS_VERSION := $(patsubst rubygems-%.zip,%,$(GEMS_ZIP)) |
25 |
GEMS_DIR := rubygems-$(GEMS_VERSION) |
26 |
INSTALLER := ruby-$(RUBY_VERSION)-rubygems-$(GEMS_VERSION).exe |
27 |
|
28 |
.PHONY: all clean |
29 |
|
30 |
all: $(INSTALLER) |
31 |
|
32 |
.gems: $(GEMS_ZIP) .ruby-install |
33 |
-$(RM_RF) $(GEMS_DIR) |
34 |
unzip $(GEMS_ZIP) |
35 |
$(TOUCH) $@ |
36 |
|
37 |
.gems-install: .gems |
38 |
$(GEMS_INSTALL) $(GEMS_DIR) |
39 |
$(TOUCH) $@ |
40 |
|
41 |
.ruby: $(RUBY_ZIP) |
42 |
-$(RM_RF) ruby |
43 |
unzip $(RUBY_ZIP) -d ruby |
44 |
$(TOUCH) $@ |
45 |
|
46 |
.ruby-install: ruby/bin/libeay32.dll ruby/bin/ssleay32.dll ruby/bin/zlib.dll |
47 |
$(TOUCH) $@ |
48 |
|
49 |
$(INSTALLER): .gems-install |
50 |
echo $(CURDIR) |
51 |
|
52 |
ruby/bin/%.dll: %.dll .ruby |
53 |
$(CP) $< $@ |
54 |
|
55 |
ruby/bin/zlib.dll: zlib1.dll .ruby |
56 |
$(CP) $< $@ |
57 |
|
58 |
clean: |
59 |
-$(RM_F) .* $(INSTALLER) |
60 |
-$(RM_RF) ruby $(GEMS_DIR) |