]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/java/Make-lang.in
Merge tree-ssa-20020619-branch into mainline.
[thirdparty/gcc.git] / gcc / java / Make-lang.in
CommitLineData
39aebbc3 1# Top level -*- makefile -*- fragment for the GNU compiler for the Java(TM)
377029eb 2# language.
44b49c15 3# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
377029eb 4
7d82ed5e 5#This file is part of GCC.
377029eb 6
7d82ed5e 7#GCC is free software; you can redistribute it and/or modify
377029eb 8#it under the terms of the GNU General Public License as published by
9#the Free Software Foundation; either version 2, or (at your option)
10#any later version.
11
7d82ed5e 12#GCC is distributed in the hope that it will be useful,
377029eb 13#but WITHOUT ANY WARRANTY; without even the implied warranty of
14#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15#GNU General Public License for more details.
16
17#You should have received a copy of the GNU General Public License
7d82ed5e 18#along with GCC; see the file COPYING. If not, write to
377029eb 19#the Free Software Foundation, 59 Temple Place - Suite 330,
20#Boston, MA 02111-1307, USA.
21
22#Java and all Java-based marks are trademarks or registered trademarks
23#of Sun Microsystems, Inc. in the United States and other countries.
24#The Free Software Foundation is independent of Sun Microsystems, Inc.
25
26# This file provides the language dependent support in the main Makefile.
27# Each language makefile fragment must provide the following targets:
28#
29# foo.all.build, foo.all.cross, foo.start.encap, foo.rest.encap,
e9d2d60f 30# foo.install-normal, foo.install-common, foo.install-man,
98fb2ff8 31# foo.uninstall,
80e909c6 32# foo.mostlyclean, foo.clean, foo.distclean,
377029eb 33# foo.maintainer-clean, foo.stage1, foo.stage2, foo.stage3, foo.stage4
34#
35# where `foo' is the name of the language.
36#
37# It should also provide rules for:
38#
39# - making any compiler driver (eg: g++)
40# - the compiler proper (eg: jc1)
41# - define the names for selecting the language in LANGUAGES.
377029eb 42
43# Actual names to use when installing a native compiler.
88a86c80 44JAVA_INSTALL_NAME := $(shell echo gcj|sed '$(program_transform_name)')
45JAVA_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gcj|sed '$(program_transform_name)')
46GCJH_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gcjh|sed '$(program_transform_name)')
377029eb 47
f2a133b9 48GCJ = gcj
49
377029eb 50# Define the names for selecting java in LANGUAGES.
f357ac87 51java: jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) \
52 gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext)
377029eb 53
1d936ee2 54# Define the name of target independent tools to be installed in $(bindir)
377029eb 55# Names are subject to changes
56JAVA_TARGET_INDEPENDENT_BIN_TOOLS = gcjh jv-scan jcf-dump
57
58# Tell GNU make to ignore these if they exist.
59.PHONY: java
60
805e22b2 61jvspec.o: $(srcdir)/java/jvspec.c $(SYSTEM_H) coretypes.h $(TM_H) \
62 $(GCC_H) $(CONFIG_H)
70dd042b 63 (SHLIB_LINK='$(SHLIB_LINK)' \
64 SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
21f20ef7 65 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
31fa4557 66 $(INCLUDES) $(srcdir)/java/jvspec.c $(OUTPUT_OPTION))
377029eb 67
377029eb 68# Create the compiler driver for $(GCJ).
cdf76fe2 69$(GCJ)$(exeext): gcc.o jvspec.o version.o \
435f2113 70 prefix.o intl.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
cdf76fe2 71 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o jvspec.o prefix.o intl.o \
a632e6e3 72 version.o $(EXTRA_GCC_OBJS) $(LIBS)
377029eb 73
74# Create a version of the $(GCJ) driver which calls the cross-compiler.
75$(GCJ)-cross$(exeext): $(GCJ)$(exeext)
76 -rm -f $(GCJ)-cross$(exeext)
77 cp $(GCJ)$(exeext) $(GCJ)-cross$(exeext)
78
a6b4c5a9 79java.srcextra: java/parse.c java/parse-scan.c
80 -cp -p $^ $(srcdir)/java
377029eb 81
a6b4c5a9 82java/parse.c: java/parse.y
83 -$(BISON) -t --name-prefix=java_ $(BISONFLAGS) -o $@ $<
84
85java/parse-scan.c: java/parse-scan.y
86 -$(BISON) -t $(BISONFLAGS) -o $@ $<
f357ac87 87
88$(srcdir)/java/keyword.h: $(srcdir)/java/keyword.gperf
89 (cd $(srcdir)/java || exit 1; \
b76d41d7 90 gperf -L ANSI-C -C -F ', 0' -p -t -j1 -i 1 -g -o -N java_keyword -k1,4,$$ \
635826d3 91 keyword.gperf > k$$$$.h || { \
f357ac87 92 echo "Please update gperf from ftp://ftp.gnu.org/pub/gnu/gperf/" >&2; \
93 rm -f k$$$$.h; \
635826d3 94 exit 1; } ; \
95 mv -f k$$$$.h keyword.h)
f357ac87 96
1f3233d1 97gt-java-class.h gt-java-constants.h gt-java-decl.h : s-gtype ; @true
98gt-java-expr.h gt-java-jcf-parse.h gt-java-jcf-write.h : s-gtype ; @true
99gt-java-lang.h gt-java-mangle.h gt-java-parse.h : s-gtype ; @true
caa8fa37 100gt-java-builtins.h gtype-java.h gt-java-resource.h : s-gtype ; @true
1f3233d1 101
f357ac87 102# Executables built by this Makefile:
103JAVA_OBJS = java/parse.o java/class.o java/decl.o java/expr.o \
104 java/constants.o java/lang.o java/typeck.o java/except.o java/verify.o \
11a5ddb6 105 java/zextract.o java/jcf-io.o java/win32-host.o java/jcf-parse.o java/mangle.o \
3272db82 106 java/mangle_name.o java/builtins.o java/resource.o \
f357ac87 107 java/jcf-write.o java/buffer.o java/check-init.o java/jcf-depend.o \
4ee9c684 108 java/jcf-path.o java/xref.o java/boehm.o java/java-gimplify.o mkdeps.o
f357ac87 109
110GCJH_OBJS = java/gjavah.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
44b49c15 111 java/win32-host.o java/zextract.o version.o mkdeps.o errors.o ggc-none.o \
112 intl.o
f357ac87 113
44b49c15 114JVSCAN_OBJS = java/parse-scan.o java/jv-scan.o version.o intl.o
f357ac87 115
116JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \
44b49c15 117 java/win32-host.o java/zextract.o errors.o version.o mkdeps.o ggc-none.o intl.o
f357ac87 118
44b49c15 119JVGENMAIN_OBJS = java/jvgenmain.o java/mangle_name.o errors.o intl.o
f357ac87 120
121# Use loose warnings for this front end.
aa73c668 122java-warn = $(WERROR)
a179eb24 123# String length warnings
124jvspec.o-warn = -Wno-error
f357ac87 125
126jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS)
127 rm -f $@
128 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
049898ae 129 $(JAVA_OBJS) $(BACKEND) $(ZLIB) $(LIBICONV) $(LIBS)
f357ac87 130
131gcjh$(exeext): $(GCJH_OBJS) $(LIBDEPS)
132 rm -f $@
133 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(GCJH_OBJS) $(ZLIB) $(LIBS)
134
135jv-scan$(exeext): $(JVSCAN_OBJS) $(LIBDEPS)
136 rm -f $@
049898ae 137 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVSCAN_OBJS) $(LIBICONV) $(LIBS)
f357ac87 138
139jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIBDEPS)
140 rm -f $@
96b74343 141 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \
142 $(ZLIB) $(LDEXP_LIB) $(LIBS)
f357ac87 143
144jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS)
145 rm -f $@
146 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS)
0a976abb 147
b3edd3bc 148#\f
377029eb 149# Build hooks:
150
07990746 151java.all.build: $(GCJ)$(exeext)
152java.all.cross: $(GCJ)-cross$(exeext)
377029eb 153java.start.encap: $(GCJ)$(exeext)
07990746 154java.rest.encap:
377029eb 155
9575349c 156
157java.tags: force
39aebbc3 158 cd $(srcdir)/java; etags -o TAGS.sub *.y *.c *.h --language=none \
159 --regex='/DEFTREECODE [(]\([A-Z_]+\)/\1/' java-tree.def; \
160 etags --include TAGS.sub --include ../TAGS.sub
161
9575349c 162
ca6eabd1 163java.info: doc/gcj.info
164
165java.srcinfo: doc/gcj.info
166 -cp -p $^ $(srcdir)/doc
167
168dvi:: doc/gcj.dvi
169JAVA_MANFILES = doc/gcj.1 doc/gcjh.1 doc/jv-scan.1 doc/jcf-dump.1 doc/gij.1 \
170 doc/jv-convert.1 doc/rmic.1 doc/rmiregistry.1
171
172java.man: $(JAVA_MANFILES)
173
174java.srcman: $(JAVA_MANFILES)
175 -cp -p $^ $(srcdir)/doc
377029eb 176
71a3866b 177check-java :
178
377029eb 179# Install hooks:
180# jc1, gcj, jvgenmain, and gcjh are installed elsewhere as part
181# of $(COMPILERS).
182
183# Nothing to do here.
184java.install-normal:
185
d396849a 186# Install gcj as well as the target-independent tools.
187# For a native build, we special-case gcjh and also install
188# its explicitly-prefixed variant. This allows us to write
189# portable makefiles for both cross builds (where gcjh *must*
190# be explicitly prefixed) and native builds.
414d46fe 191java.install-common: installdirs
377029eb 192 -if [ -f $(GCJ)$(exeext) ]; then \
994974c8 193 rm -f $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
194 $(INSTALL_PROGRAM) $(GCJ)$(exeext) $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
195 chmod a+x $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext); \
377029eb 196 if [ -f $(GCJ)-cross$(exeext) ]; then \
994974c8 197 true; \
377029eb 198 else \
df2f867d 199 rm -f $(DESTDIR)$(bindir)/$(JAVA_TARGET_INSTALL_NAME)$(exeext); \
200 ( cd $(DESTDIR)$(bindir) && \
201 $(LN) $(JAVA_INSTALL_NAME)$(exeext) $(JAVA_TARGET_INSTALL_NAME)$(exeext) ); \
377029eb 202 fi ; \
203 fi ; \
204 for tool in $(JAVA_TARGET_INDEPENDENT_BIN_TOOLS); do \
cc9ad22c 205 tool_transformed_name=`echo $$tool|sed '$(program_transform_name)'`; \
377029eb 206 if [ -f $$tool$(exeext) ]; then \
df2f867d 207 rm -f $(DESTDIR)$(bindir)/$$tool_transformed_name$(exeext); \
208 $(INSTALL_PROGRAM) $$tool$(exeext) $(DESTDIR)$(bindir)/$$tool_transformed_name$(exeext); \
209 chmod a+x $(DESTDIR)$(bindir)/$$tool_transformed_name$(exeext); \
d396849a 210 if [ $$tool = gcjh ]; then \
211 rm -f $(DESTDIR)$(bindir)/$(GCJH_TARGET_INSTALL_NAME)$(exeext); \
212 ( cd $(DESTDIR)$(bindir) && \
213 $(LN) $$tool_transformed_name$(exeext) $(GCJH_TARGET_INSTALL_NAME)$(exeext) ); \
214 fi; \
377029eb 215 fi ; \
216 done
217
218java.install-man:
219
220java.uninstall:
df2f867d 221 -rm -rf $(DESTDIR)$(bindir)/$(JAVA_INSTALL_NAME)$(exeext)
df2f867d 222 -rm -rf $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext)
df2f867d 223 -rm -rf $(DESTDIR)$(man1dir)/gcjh$(man1ext)
224 -rm -rf $(DESTDIR)$(man1dir)/jv-scan$(man1ext)
225 -rm -rf $(DESTDIR)$(man1dir)/jcf-dump$(man1ext)
226 -rm -rf $(DESTDIR)$(man1dir)/gij$(man1ext)
227 -rm -rf $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
377029eb 228
e9d2d60f 229install-info:: $(DESTDIR)$(infodir)/gcj.info
377029eb 230
b3edd3bc 231#\f
377029eb 232# Clean hooks:
233# A lot of the ancillary files are deleted by the main makefile.
234# We just have to delete files specific to us.
235
236java.mostlyclean:
a6b4c5a9 237 -rm -f java/parse.c java/parse-scan.c
377029eb 238 -rm -f java/*$(objext) $(DEMANGLER_PROG)
d5a37d75 239 -rm -f java/*$(coverageexts)
cff6c72c 240 -rm -f jc1$(exeext) $(GCJ)$(exeext) jvgenmain$(exeext) gcjh$(exeext) jv-scan$(exeext) jcf-dump$(exeext) s-java
377029eb 241java.clean:
242java.distclean:
243 -rm -f java/config.status java/Makefile
a6b4c5a9 244 -rm -f java/parse.output java/y.tab.c
377029eb 245java.maintainer-clean:
d80ce059 246 -rm -f $(docobjdir)/gcj.1 $(docobjdir)/gcjh.1
247 -rm -f $(docobjdir)/jv-scan.1 $(docobjdir)/jcf-dump.1
248 -rm -f $(docobjdir)/gij.1
249 -rm -f $(docobjdir)/jv-convert.1
250 -rm -f $(docobjdir)/rmic.1
251 -rm -f $(docobjdir)/rmiregistry.1
b3edd3bc 252#\f
377029eb 253# Stage hooks:
254# The main makefile has already created stage?/java.
255
d6648392 256java.stage1: stage1-start
377029eb 257 -mv java/*$(objext) stage1/java
d6648392 258java.stage2: stage2-start
377029eb 259 -mv java/*$(objext) stage2/java
d6648392 260java.stage3: stage3-start
377029eb 261 -mv java/*$(objext) stage3/java
d6648392 262java.stage4: stage4-start
377029eb 263 -mv java/*$(objext) stage4/java
ef3bb540 264java.stageprofile: stageprofile-start
265 -mv java/*$(objext) stageprofile/java
266java.stagefeedback: stageprofile-start
267 -mv java/*$(objext) stagefeedback/java
f357ac87 268
269#\f
270# .o:.h dependencies.
1f3233d1 271JAVA_TREE_H = $(TREE_H) $(HASHTAB_H) java/java-tree.h java/java-tree.def
230a30d2 272JAVA_LEX_C = java/lex.c java/keyword.h java/chartables.h
f357ac87 273
805e22b2 274java/jcf-dump.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(JAVA_TREE_H) \
275 java/jcf-dump.c java/jcf-reader.c java/jcf.h java/javaop.h java/javaop.def \
44b49c15 276 version.h $(GGC_H) intl.h
805e22b2 277java/gjavah.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(JAVA_TREE_H) \
44b49c15 278 java/gjavah.c java/jcf-reader.c java/jcf.h java/javaop.h version.h $(GGC_H) \
279 intl.h
805e22b2 280java/boehm.o: java/boehm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
281 $(TREE_H) $(JAVA_TREE_H) java/parse.h toplev.h
282java/buffer.o: java/buffer.c $(CONFIG_H) java/buffer.h $(SYSTEM_H) coretypes.h \
283 $(TM_H) toplev.h
284java/builtins.o: java/builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
15425f91 285 $(JAVA_TREE_H) $(GGC_H) flags.h langhooks.h gt-java-builtins.h
805e22b2 286java/check-init.o: java/check-init.c $(CONFIG_H) $(JAVA_TREE_H) $(SYSTEM_H) \
287 coretypes.h $(TM_H) toplev.h
288java/class.o: java/class.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
289 $(JAVA_TREE_H) $(RTL_H) java/jcf.h java/parse.h toplev.h output.h $(GGC_H) \
290 $(TARGET_H) function.h gt-java-class.h
f357ac87 291java/constants.o: java/constants.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
805e22b2 292 toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) gt-java-constants.h
d8fc4d0b 293java/decl.o: java/decl.c $(CONFIG_H) $(JAVA_TREE_H) $(RTL_H) java/jcf.h \
805e22b2 294 toplev.h flags.h $(SYSTEM_H) coretypes.h $(TM_H) function.h expr.h \
82ac3699 295 libfuncs.h except.h java/java-except.h $(GGC_H) real.h gt-java-decl.h \
296 target.h
f357ac87 297java/except.o: java/except.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h real.h \
298 $(RTL_H) java/javaop.h java/java-opcodes.h except.h java/java-except.h \
805e22b2 299 toplev.h $(SYSTEM_H) coretypes.h $(TM_H) function.h
f357ac87 300java/expr.o: java/expr.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h real.h \
301 $(RTL_H) $(EXPR_H) java/javaop.h java/java-opcodes.h except.h \
302 java/java-except.h java/java-except.h java/parse.h toplev.h \
82ac3699 303 $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) gt-java-expr.h target.h
805e22b2 304java/jcf-depend.o: java/jcf-depend.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
305 $(TM_H) java/jcf.h
f357ac87 306java/jcf-parse.o: java/jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) flags.h \
805e22b2 307 input.h java/java-except.h $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
aec26802 308 java/parse.h $(GGC_H) debug.h real.h gt-java-jcf-parse.h $(TM_P_H)
f357ac87 309java/jcf-write.o: java/jcf-write.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
e2be9c57 310 $(RTL_H) java/java-opcodes.h java/parse.h java/buffer.h $(SYSTEM_H) \
102d5407 311 coretypes.h $(TM_H) toplev.h $(GGC_H) gt-java-jcf-write.h $(TM_P_H)
805e22b2 312java/jv-scan.o: java/jv-scan.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
44b49c15 313 version.h intl.h
805e22b2 314java/jvgenmain.o: java/jvgenmain.c $(CONFIG_H) $(JAVA_TREE_H) $(SYSTEM_H) \
44b49c15 315 coretypes.h $(TM_H) intl.h
f357ac87 316java/lang.o: java/lang.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h input.h \
805e22b2 317 toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(EXPR_H) diagnostic.h \
3272db82 318 langhooks.h $(LANGHOOKS_DEF_H) gt-java-lang.h opts.h options.h
e2be9c57 319java/mangle.o: java/mangle.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) $(SYSTEM_H) \
805e22b2 320 coretypes.h $(TM_H) toplev.h $(GGC_H) gt-java-mangle.h
0f11c7c6 321java/mangle_name.o: java/mangle_name.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) \
805e22b2 322 $(SYSTEM_H) coretypes.h $(TM_H) toplev.h $(GGC_H)
caa8fa37 323java/resource.o: java/resource.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
324 $(JAVA_TREE_H) $(RTL_H) java/jcf.h java/parse.h toplev.h output.h $(GGC_H) \
79b5531a 325 $(TARGET_H) function.h gt-java-resource.h expr.h
f357ac87 326java/typeck.o: java/typeck.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
805e22b2 327 java/convert.h toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) real.h
a1b2d596 328java/win32-host.o: java/win32-host.c $(CONFIG_H) $(SYSTEM_H) java/jcf.h
f357ac87 329java/verify.o: java/verify.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \
805e22b2 330 java/javaop.h java/java-opcodes.h java/java-except.h toplev.h $(SYSTEM_H) \
331 coretypes.h $(TM_H)
f357ac87 332java/xref.o: java/xref.c java/xref.h $(CONFIG_H) $(JAVA_TREE_H) toplev.h \
805e22b2 333 $(SYSTEM_H) coretypes.h $(TM_H)
334java/zextract.o: java/zextract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
335 java/zipfile.h
4ee9c684 336java/java-gimplify.o: java/java-gimplify.c $(CONFIG_H) $(SYSTEM_H) \
337 coretypes.h $(TM_H) $(JAVA_TREE_H) tree-simple.h toplev.h
338
a6b4c5a9 339java/parse-scan.o: java/parse-scan.c $(CONFIG_H) $(SYSTEM_H) \
d80ce059 340 coretypes.h $(TM_H) toplev.h $(JAVA_LEX_C) java/parse.h java/lex.h input.h
a6b4c5a9 341java/parse.o: java/parse.c java/jcf-reader.c $(CONFIG_H) $(SYSTEM_H) \
d80ce059 342 coretypes.h $(TM_H) function.h $(JAVA_TREE_H) $(JAVA_LEX_C) java/parse.h \
82ac3699 343 java/lex.h input.h $(GGC_H) debug.h gt-java-parse.h gtype-java.h target.h
d80ce059 344
f357ac87 345# jcf-io.o needs $(ZLIBINC) added to cflags.
805e22b2 346java/jcf-io.o: java/jcf-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
347 $(JAVA_TREE_H)
f357ac87 348 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ZLIBINC) \
349 $(srcdir)/java/jcf-io.c $(OUTPUT_OPTION)
350
351# jcf-path.o needs a -D.
805e22b2 352java/jcf-path.o: java/jcf-path.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
d80ce059 353 java/jcf.h
f357ac87 354 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
57cfdaca 355 -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(version).jar"' \
7a80ddca 356 -DDEFAULT_TARGET_VERSION=\"$(version)\" \
f357ac87 357 $(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
358
d80ce059 359# jcf-tree-inline.o needs a -D.
360java/java-tree-inline.o: tree-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
361 $(TM_H) $(TREE_H) $(RTL_H) expr.h flags.h params.h input.h insn-config.h \
362 $(INTEGRATE_H) $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) toplev.h \
363 langhooks.h $(C_COMMON_H) $(srcdir)/tree-inline.h
364 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
365 -DINLINER_FOR_JAVA=1 \
366 $(srcdir)/tree-inline.c -o $@
367
f33dfe15 368# Documentation
ca6eabd1 369doc/gcj.info: java/gcj.texi $(docdir)/include/fdl.texi \
370 $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi
f33dfe15 371 if test "x$(BUILD_INFO)" = xinfo; then \
1e94fc11 372 rm -f doc/gcj.info*; \
373 $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir)/include -o $@ $<; \
f33dfe15 374 else true; fi
375
ca6eabd1 376doc/gcj.dvi: java/gcj.texi $(docdir)/include/fdl.texi \
377 $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi
b5a57562 378 $(TEXI2DVI) -I $(abs_docdir)/include -o $@ $<
1e94fc11 379
380.INTERMEDIATE: gcj.pod gcjh.pod jv-scan.pod jcf-dump.pod gij.pod \
381 jv-convert.pod rmic.pod rmiregistry.pod
382
383gcj.pod: java/gcj.texi
384 -$(TEXI2POD) -D gcj < $< > $@
385gcjh.pod: java/gcj.texi
386 -$(TEXI2POD) -D gcjh < $< > $@
387jv-scan.pod: java/gcj.texi
388 -$(TEXI2POD) -D jv-scan < $< > $@
389jcf-dump.pod: java/gcj.texi
390 -$(TEXI2POD) -D jcf-dump < $< > $@
391gij.pod: java/gcj.texi
392 -$(TEXI2POD) -D gij < $< > $@
393jv-convert.pod: java/gcj.texi
394 -$(TEXI2POD) -D jv-convert < $< > $@
395rmic.pod: java/gcj.texi
396 -$(TEXI2POD) -D rmic < $< > $@
397rmiregistry.pod: java/gcj.texi
398 -$(TEXI2POD) -D rmiregistry < $< > $@
3c73c0d9 399
4380309c 400# Install the man pages.
ca6eabd1 401java.install-man: installdirs \
17bc5448 402 $(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext) \
403 $(JAVA_TARGET_INDEPENDENT_BIN_TOOLS:%=doc/%.1) \
404 doc/gij.1 doc/jv-convert.1 doc/rmic.1 doc/rmiregistry.1
3be1b7b4 405 for tool in $(JAVA_TARGET_INDEPENDENT_BIN_TOOLS) \
406 gij jv-convert rmic rmiregistry ; do \
407 tool_transformed_name=`echo $$tool|sed '$(program_transform_name)'`; \
408 man_name=$(DESTDIR)$(man1dir)/$${tool_transformed_name}$(man1ext); \
409 rm -f $$man_name ; \
410 $(INSTALL_DATA) doc/$${tool}.1 $$man_name; \
411 chmod a-x $$man_name ; \
412 done
ca6eabd1 413
414$(DESTDIR)$(man1dir)/$(JAVA_INSTALL_NAME)$(man1ext): doc/gcj.1
415 -rm -f $@
416 -$(INSTALL_DATA) $< $@
417 -chmod a-x $@