-
Notifications
You must be signed in to change notification settings - Fork 3
/
Makefile.in
173 lines (152 loc) · 5.54 KB
/
Makefile.in
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
## do not change this value
subdir=.
## get standard variables from autoconf - autoconf will replace
## this variable with content of "scripts/config.vars".
@stdvars@
## By default, make will jump into any sub directory containing
## a file named "Makefile". This is done in the order implied by
## /bin/ls. You can override this by using variable SUBDIRS. For
## example, if not set, then make behaves as if
## SUBDIRS = antlr doc examples lib
## has been set.
SUBDIRS = antlr lib doc
## When using stdmake before any other rule, then the default
## rule is "all" and behaviour of make is first to make all
## subdirectories and then all "local" targets with name all,
## clean, install, test etc.
## Sometimes it's usefull to make the local target first and then
## subdirs. To enforce this, just listen target in question be-
## fore "stdmake". By doing so, your target will become the
## default. This is usually not what you want. Therefore introduce
## a pseude rule (like this) to tell make about the default target.
this : all
## get standard make rules from autoconf
@stdmake@
test clean distclean install ::
@ if test -f examples/Makefile ; then \
@MAKE@ -C examples $@ ; \
fi
# Rule to remove all objects, cores, ANTLR generated,
# configure generated, etc. This is not a recursive rule
# because distclean removes files unconditionally
# included by subdirectory Makefiles.
#
maintainer-clean: distclean
-@RMF@ -f configure
#
# Rule to make a tarball exclusive all kinds of fluff
#
TIMESTAMP = $(shell date +%Y%m%d)
TAR_DIR = $(versioneddir)
TAR_FILE = $(versioneddir).tar
_tar:
-@RMF@ $(TAR_DIR)
ln -s $(srcdir) $(TAR_DIR)
$(TAR) cfh $(TAR_FILE) \
--exclude CVS \
--exclude *.pyc \
--exclude *.o \
--exclude *.d \
--exclude *.lo \
--exclude *.a \
--exclude *.la \
--exclude *.lai \
--exclude *.so \
--exclude *.class \
--exclude .deps \
--exclude .depend \
--exclude config.cache \
--exclude config.status \
--exclude Config.make \
--exclude antlr-config \
--exclude run-antlr \
--exclude *~ \
--exclude core \
--exclude dmalloc.log \
--exclude .gdb_history \
--exclude ".nfs*" \
--exclude "$(TAR_DIR)/gen_doc/html" \
--exclude "$(TAR_DIR)/gen_doc/html/*" \
--exclude Makefile \
$(TAR_DIR)
@CHMOD@ 660 $(TAR_FILE)
@RMF@ $(TAR_DIR)
tar backup : _tar
gzip -f --best $(TAR_FILE)
## When building a release, it's crucial that time stamps are up-to-date and that
## files have proper permission bit set. Since $(srcdir) might be under the
## control of Perforce (or an other versioning system), I'm going to unpack the
## tar file again in a local directory and update time stamps as well as
## permission.
release : @ANTLR_JAR@ _tar
@TAR@ xpf $(TAR_FILE)
@CP@ @ANTLR_JAR@ $(TAR_DIR)
find $(TAR_DIR) -type f | xargs @CHMOD@ 644
find $(TAR_DIR) -type d | xargs @CHMOD@ 755
@CHMOD@ 777 $(TAR_DIR)/configure
find $(TAR_DIR) | xargs @TOUCH@
find $(TAR_DIR)/antlr -name \*.java | xargs @TOUCH@
@TAR@ cf $(TAR_FILE) $(TAR_DIR)
gzip -f --best $(TAR_FILE)
gzip -t -v $(TAR_FILE).gz
@RMF@ $(TAR_DIR)
## This one for RK:
new_version antlr/Version.java:
@@ECHO@ "Rebuilding Version.java"
@@ECHO@ "package antlr;" > antlr/Version.java
@@ECHO@ "public class Version {" >> antlr/Version.java
@@ECHO@ " public static final String version = \"$(VERSION)\";" >> antlr/Version.java
@@ECHO@ " public static final String subversion = \"$(SUBVERSION)\";" >> antlr/Version.java
@@ECHO@ " public static final String patchlevel = \"$(PATCHLEVEL)\";" >> antlr/Version.java
@@ECHO@ " public static final String datestamp = \"$(TIMESTAMP)\";" >> antlr/Version.java
@@ECHO@ " public static final String project_version = \"$(VERSION).$(SUBVERSION).$(PATCHLEVEL) ($(TIMESTAMP))\";" >> antlr/Version.java
@@ECHO@ "}" >> antlr/Version.java
## Installation is delegated to sub directories - as configured.
## Here we just create a bin directory that should contain
## scripts to mess up with ANTLR. Other things to do?
docdir = $(datadir)/doc/$(versioneddir)
extradir = $(datadir)/$(versioneddir)
install ::
$(MKDIR) -p "$(bindir)"
$(MKDIR) -p "$(extradir)"
$(MKDIR) -p "$(docdir)"
$(INSTALL) -m 755 scripts/run-antlr "$(bindir)/antlr"
$(INSTALL) -m 755 scripts/antlr-config "$(bindir)/antlr-config"
$(INSTALL) -m 444 @abs_top_srcdir@/extras/antlr-mode.el "$(extradir)"
$(INSTALL) -m 444 @abs_top_srcdir@/extras/antlr-jedit.xml "$(extradir)"
$(INSTALL) -m 444 @abs_top_srcdir@/LICENSE.txt "$(docdir)"
$(INSTALL) -m 444 @abs_top_srcdir@/README.txt "$(docdir)"
$(INSTALL) -m 444 @abs_top_srcdir@/INSTALL.txt "$(docdir)"
install ::
@ECHO@ "installation done"
# Make sure that all generated files are removed
distclean_obj = \
config.* \
Makefile \
scripts/antlr-config \
scripts/antlr.sh \
scripts/antlr.spec \
scripts/config.deps \
scripts/config.make \
scripts/config.vars \
scripts/cpp.sh \
scripts/csc.sh \
scripts/c.sh \
scripts/cxx.sh \
scripts/jar.sh \
scripts/javac.sh \
scripts/java.sh \
scripts/lib.sh \
scripts/link.sh \
scripts/pyantlr.sh \
scripts/python.sh \
scripts/run-antlr \
$(eof)
distclean :: clean
@RMF@ $(distclean_obj)
Q=`find . -name Makefile` && test -n "$$Q" && @RMF@ $${Q}
### phony targets - make this targets even if file with same name exists.
.PHONY: bootstrap backup maintainer-clean
##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@stddeps@
##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx