1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
#----------------------------------------------------------------------------
# $Id$
#
# Top-level Makefile for the TAO
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Local macros
#----------------------------------------------------------------------------
INFO = README \
VERSION
DIRS = IIOP
CLONE = Makefile \
IIOP \
TAO_IDL
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------
include $(WRAPPER_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(WRAPPER_ROOT)/include/makeinclude/macros.GNU
include $(WRAPPER_ROOT)/include/makeinclude/rules.common.GNU
include $(WRAPPER_ROOT)/include/makeinclude/rules.nested.GNU
include $(WRAPPER_ROOT)/include/makeinclude/rules.nolocal.GNU
# For the following to work you need to compile the
# $(WRAPPER_ROOT)/bin/clone.cpp file and install it in your ~/bin
# directory (or some place similar).
clone:
@for dir in $(CLONE) ;\
do \
(clone -s $(WRAPPER_ROOT)/$$dir $$dir) \
done
RELEASE_FILES = TAO/ChangeLog \
TAO/COPYING \
TAO/COPYING.sun \
TAO/IIOP \
TAO/LICENSE.sun \
TAO/Makefile \
TAO/README \
TAO/README.sun \
TAO/VERSION
#### If creating the "official" TAO release:
#### 1) Check that the workspace is up-to-date, and bail out if not.
#### 2) Update the timestamp in the VERSION file.
#### 3) Add a ChangeLog entry to the newest ChangeLog plain file.
#### Detect if we are creating the "official" release by looking at the PWD.
#### To disable this feature, add "TIMESTAMP=" to the make command line.
#### NOTE: if the version number in the VERSION file contains three components,
#### e.g., 4.1.5, then the third one will be incremented. This assumes
#### that alpha/beta releases are numbered with three components, and
#### that final releases are not. So, if the version number is, e.g.,
#### 4.2, it will not be modified because it is assumed to be for a
#### final release.
ifeq ($(shell pwd),/project/adaptive/ACE_wrappers/TAO)
TIMESTAMP = (CHANGELOG=`/pkg/gnu/bin/find -name 'ChangeLog*' -maxdepth 1 \
-type f | xargs ls -1t | head -1`; export CHANGELOG; \
if [ -z "$$CHANGELOG" ]; then echo unable to find latest ChangeLog file; exit 1; fi; \
DATE=`/usr/bin/date +"%a %b %d %T %Y"`; export DATE; \
cd ..; UPTODATE=`cvs -nq update $(RELEASE_FILES) | egrep -v '/tests/log/' | perl -pi -e 's%/TAO%%g; s/$$/\\\n /g'`; cd TAO; \
if [ "$$UPTODATE" ]; then /pkg/gnu/bin/echo -e ERROR: workspace must be updated, and/or non-controlled files must be removed or added/committed: $$UPTODATE; exit 1; fi; \
TAO_VERSION=`perl -pi -e \
'BEGIN { $$date=$$ENV{"DATE"} } \
s/(TAO version \d+\.\d+\.)(\d+)/sprintf("$$1%d",$$2+1)/e; \
if (s/(, released ).*/$$1$$date./) { \
($$version = $$_) =~ s/^This is //; } \
END { print $$version } ' VERSION;` export TAO_VERSION; \
perl -i -e \
'BEGIN {($$message = \
$$ENV{"DATE"} . " " . \
$$ENV{"SIGNATURE"} . " <" . \
$$ENV{"LOGNAME"} . "\@cs.wustl.edu>\n\n\t* " . \
$$ENV{"TAO_VERSION"} . "\n"); \
$$message_printed = 0;} \
while (<>) { \
if ( ! $$message_printed++ ) { print "$$message\n"; } \
print; } ' $$CHANGELOG; \
cvs commit -m"$$TAO_VERSION" VERSION $$CHANGELOG; \
chmod 644 VERSION) &&
else
TIMESTAMP =
endif
#### The following tar creation commands assume that cpio supports -H tar.
#### Old versions of cpio might not, but the version that's shipped with
#### Solaris 2.5.1, and gnu cpio 2.3, do support that option.
cleanrelease:
@$(TIMESTAMP) (make realclean; cd ..; \
find $(RELEASE_FILES) -name CVS -prune -o -print | cpio -o -H tar | gzip -9 > TAO.tar.gz; \
chmod a+r TAO.tar.gz; mv TAO.tar.gz ../ACE_wrappers/)
release:
@$(TIMESTAMP) (cd ..; \
find $(RELEASE_FILES) -name CVS -prune -o -print | cpio -o -H tar | gzip -9 > TAO.tar.gz; \
chmod a+r TAO.tar.gz; \
mv TAO.tar.gz ../ACE_wrappers/)
|