6 ifeq ($(DLEXT
),) # "so" for Linux
7 DLEXT
:= $(shell $(ruby
) -rrbconfig
-e
'puts Config::CONFIG["DLEXT"]')
10 ifeq ($(RUBY_VERSION
),)
11 RUBY_VERSION
:= $(shell $(ruby
) -e
'puts RUBY_VERSION')
14 ext
/clogger_ext
/Makefile
: ext
/clogger_ext
/clogger.c ext
/clogger_ext
/extconf.rb
15 cd ext
/clogger_ext
&& $(ruby
) extconf.rb
17 ext
/clogger_ext
/clogger.
$(DLEXT
): ext
/clogger_ext
/Makefile
18 $(MAKE
) -C ext
/clogger_ext
21 -$(MAKE
) -C ext
/clogger_ext
clean
22 $(RM
) ext
/clogger_ext
/Makefile lib
/clogger_ext.
$(DLEXT
)
24 test-ext
: ext
/clogger_ext
/clogger.
$(DLEXT
)
25 $(ruby
) -Iext
/clogger_ext
:lib
test/test_clogger.rb
28 $(ruby
) -Ilib
test/test_clogger.rb
30 test: test-ext test-pure
34 cmp
$@
+ $@ || mv
$@
+ $@
37 VERSION
:= $(shell git describe
2>/dev
/null | sed
's/^v//')
41 vPREV
:= $(shell git tag
-l
2>/dev
/null | sed
-n
-e
'$(v)!h' -e
'$(v){x;p;q}')
42 release_notes
:= release_notes-
$(VERSION
).txt
43 release_changes
:= release_changes-
$(VERSION
).txt
44 $(release_changes
): verify
45 git diff
--stat
$(vPREV
) v
$(VERSION
) > $@
+
47 git log
$(vPREV
)..v
$(VERSION
) >> $@
+
48 $(VISUAL
) $@
+ && test -s
$@
+ && mv
$@
+ $@
49 $(release_notes
): verify package
50 gem spec pkg
/clogger-
$(VERSION
).gem description | sed
-ne
'/\w/p' > $@
+
52 git cat-file tag v
$(VERSION
) | awk
'p>1{print $$0}/^$$/{++p}' >> $@
+
53 $(VISUAL
) $@
+ && test -s
$@
+ && mv
$@
+ $@
55 @
test -n
"$(VERSION)" ||
{ echo
>&2 VERSION
= not defined
; exit
1; }
56 git rev-parse
--verify refs
/tags/v
$(VERSION
)^
{}
57 @
test -n
"$(VISUAL)" ||
{ echo
>&2 VISUAL
= not defined
; exit
1; }
60 git diff-index
--quiet HEAD^
0
61 test `git rev-parse --verify HEAD^0` = \
62 `git rev-parse --verify refs/tags/v$(VERSION)^{}`
64 unset CLOGGER_EXT
; rake package VERSION
=$(VERSION
)
65 CLOGGER_EXT
=1 rake package VERSION
=$(VERSION
)
67 # not using Hoe's release system since we release 2 gems but only one tgz
68 release
: package Manifest.txt
$(release_notes
) $(release_changes
)
69 rubyforge add_release
-f
-n
$(release_notes
) -a
$(release_changes
) \
70 clogger clogger
$(VERSION
) pkg
/clogger-
$(VERSION
).gem
72 clogger clogger
$(VERSION
) pkg
/clogger-
$(VERSION
).tgz
73 rubyforge add_release
-f
-n
$(release_notes
) -a
$(release_changes
) \
74 clogger clogger_ext
$(VERSION
) pkg
/clogger_ext-
$(VERSION
).gem
78 .PHONY
: test doc Manifest.txt release