2008-05-30 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / libjava / classpath / tools / Makefile.am
blob773157d91ebad0527df8b840a6df5814b46eb897
1 ## Input file for automake to generate the Makefile.in used by configure
3 ## GCJ LOCAL: use srcdir to find core classes.
4 GLIBJ_BOOTCLASSPATH='$(top_srcdir)/lib'
5 GLIBJ_CLASSPATH=$(srcdir)/asm
6 ## END GCJ LOCAL
8 # Setup the compiler to use the GNU Classpath library we just build
9 if FOUND_GCJ
10 JCOMPILER = $(GCJ) -C -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH):.
11 else
12 if FOUND_ECJ
13 JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath .:$(GLIBJ_CLASSPATH)
14 else
15 if FOUND_JAVAC
16 JCOMPILER = $(JAVAC) -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath .:$(GLIBJ_CLASSPATH)
17 else
18 error dunno how to setup the JCOMPILER and compile
19 endif # FOUND_JAVAC
20 endif # FOUND_ECJ
21 endif # FOUND_GCJ
23 if CREATE_WRAPPERS
24 bin_SCRIPTS =
25 bin_PROGRAMS = gappletviewer gjarsigner gkeytool \
26         gjar gnative2ascii gserialver gjavah grmiregistry \
27         gtnameserv gorbd grmid grmic
30 AM_CPPFLAGS = -Wall \
31         -I$(top_srcdir)/include \
32         -DLIBJVM="\"$(libdir)/libjvm\"" \
33         -DTOOLS_ZIP="\"$(TOOLSdir)/$(TOOLS_ZIP)\""
35 gappletviewer_SOURCES = toolwrapper.c
36 gappletviewer_CFLAGS = \
37         -DTOOLPACKAGE="\"appletviewer\"" \
38         -DTOOLNAME="\"gappletviewer\""
40 gjarsigner_SOURCES = toolwrapper.c
41 gjarsigner_CFLAGS = \
42         -DTOOLPACKAGE="\"jarsigner\"" \
43         -DTOOLNAME="\"gjarsigner\""
45 gkeytool_SOURCES = toolwrapper.c
46 gkeytool_CFLAGS = \
47         -DTOOLPACKAGE="\"keytool\"" \
48         -DTOOLNAME="\"gkeytool\""
50 gjar_SOURCES = toolwrapper.c
51 gjar_CFLAGS = \
52         -DTOOLPACKAGE="\"jar\"" \
53         -DTOOLNAME="\"gjar\""
55 gnative2ascii_SOURCES = toolwrapper.c
56 gnative2ascii_CFLAGS = \
57         -DTOOLPACKAGE="\"native2ascii\"" \
58         -DTOOLNAME="\"gnative2ascii\"" \
59         -DMAINCLASS="\"Native2ASCII\""
61 gserialver_SOURCES = toolwrapper.c
62 gserialver_CFLAGS = \
63         -DTOOLPACKAGE="\"serialver\"" \
64         -DTOOLNAME="\"gserialver\"" \
65         -DMAINCLASS="\"SerialVer\""
67 grmiregistry_SOURCES = toolwrapper.c
68 grmiregistry_CFLAGS = \
69         -DTOOLPACKAGE="\"rmiregistry\"" \
70         -DTOOLNAME="\"grmiregistry\""
72 gtnameserv_SOURCES = toolwrapper.c
73 gtnameserv_CFLAGS = \
74         -DTOOLPACKAGE="\"tnameserv\"" \
75         -DTOOLNAME="\"gtnameserv\""
77 gorbd_SOURCES = toolwrapper.c
78 gorbd_CFLAGS = \
79         -DTOOLPACKAGE="\"orbd\"" \
80         -DTOOLNAME="\"gorbd\""
82 grmid_SOURCES = toolwrapper.c
83 grmid_CFLAGS = \
84         -DTOOLPACKAGE="\"rmid\"" \
85         -DTOOLNAME="\"grmid\""
87 gjavah_SOURCES = toolwrapper.c
88 gjavah_CFLAGS = \
89         -DTOOLPACKAGE="\"javah\"" \
90         -DTOOLNAME="\"gjavah\""
92 grmic_SOURCES = toolwrapper.c
93 grmic_CFLAGS = \
94         -DTOOLPACKAGE="\"rmic\"" \
95         -DTOOLNAME="\"grmic\""
97 else
98 ## GCJ LOCAL: do not install these.
99 noinst_SCRIPTS = gappletviewer gjarsigner gkeytool \
100         gjar gnative2ascii gserialver gjavah grmiregistry \
101         gtnameserv gorbd grmid grmic
102 bin_PROGRAMS =
103 ## FIXME: revisit this with a newer automake.
104 gappletviewer: gappletviewer.in
105 gjarsigner: gjarsigner.in
106 gkeytool: gkeytool.in
107 gjar: gjar.in
108 gnative2ascii: gnative2ascii.in
109 gserialver: gserialver.in
110 gjavah: gjavah.in
111 grmiregistry: grmiregistry.in
112 gtnameserv: gtnameserv.in
113 gorbd: gorbd.in
114 grmid: grmid.in
115 grmic: grmic.in
116 endif
117 EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \
118         gjar.in gnative2ascii.in gserialver.in gjavah.in grmiregistry.in \
119         gtnameserv.in gorbd.in grmid.in grmic.in
121 # All our example java source files
122 TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \
123         $(srcdir)/com/sun/javadoc/*.java \
124         $(srcdir)/com/sun/tools/doclets/*.java \
125         $(srcdir)/com/sun/tools/javac/*.java \
126         $(srcdir)/com/sun/tools/javah/*.java \
127         $(srcdir)/sun/rmi/rmic/*.java \
128         $(srcdir)/external/asm/org/objectweb/asm/*.java \
129         $(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \
130         $(srcdir)/external/asm/org/objectweb/asm/commons/*.java \
131         $(srcdir)/external/asm/org/objectweb/asm/optimizer/*.java \
132         $(srcdir)/external/asm/org/objectweb/asm/signature/*.java \
133         $(srcdir)/external/asm/org/objectweb/asm/tree/*.java \
134         $(srcdir)/external/asm/org/objectweb/asm/tree/analysis/*.java \
135         $(srcdir)/external/asm/org/objectweb/asm/util/*.java \
136         $(srcdir)/external/asm/org/objectweb/asm/util/attrs/*.java \
137         $(srcdir)/external/asm/org/objectweb/asm/xml/*.java
139 # The zip files with classes we want to produce.
140 TOOLS_ZIP = tools.zip
142 # Extra objects that will not exist until configure-time
143 BUILT_SOURCES = $(TOOLS_ZIP)
145 # RMIC templates that must be included in the generated zip file.
146 RMIC_TEMPLATES = $(srcdir)/gnu/classpath/tools/rmic/templates/*.jav
148 # All the files we find "interesting"
149 ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(RMIC_TEMPLATES)
151 # Some architecture independent data to be installed.
152 # GCJ LOCAL: do not install this.
153 noinst_DATA = $(TOOLS_ZIP)
155 # Where we want these data files installed.
156 TOOLSdir = $(pkgdatadir)
158 # Make sure everything is included in the distribution.
159 dist-hook:
160         srcdir_cnt=`echo $(srcdir) | wc -c`; \
161         for file in $(ALL_TOOLS_FILES); do \
162           f=`echo $$file | cut -c$$srcdir_cnt-`; \
163           fdir=`dirname $$f`; \
164           if test ! -d $(distdir)/$$fdir; then \
165             echo "$(makeinstalldirs) $(distdir)/$$fdir"; \
166             $(mkinstalldirs) $(distdir)/$$fdir; \
167           fi; \
168           echo "cp -p $$file $(distdir)/$$f"; \
169           cp -p $$file $(distdir)/$$f; \
170         done
172 # To generate the example zip just depend on the sources and ignore
173 # the class files. Always regenerate all .class files and remove them
174 # immediately.  And copy the template files we use to the classes dir
175 # so they get also included.
176 $(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
177 ## GCJ LOCAL: put classes in srcdir
178 ##      @rm -rf classes asm
179 ##      mkdir classes asm
180         find $(srcdir)/external/asm -name '*.java' -print > asm.lst
181         find $(srcdir)/gnu/classpath/tools \
182              $(srcdir)/com/sun/javadoc \
183              $(srcdir)/com/sun/tools/doclets \
184              $(srcdir)/com/sun/tools/javac \
185              $(srcdir)/com/sun/tools/javah \
186              $(srcdir)/sun/rmi/rmic \
187              -name '*.java' -print > classes.lst
188         if [ -f $(top_builddir)/../vm-tools-packages ]; then \
189             : > vm-tools.lst; \
190             for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
191               $(FIND) $(top_srcdir)/../$$pkg -follow -name '*.java' -print >> vm-tools.lst; \
192             done \
193         else \
194             echo -n > vm-tools.lst; \
195         fi
196         cat classes.lst asm.lst vm-tools.lst > all-classes.lst
197 if JAVA_MAINTAINER_MODE
198 ## Compile ASM separately as it is latin-1 encoded.
199         AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
200           $$AC -g -w -d $(srcdir)/asm @asm.lst
201         $(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst @vm-tools.lst
202 ## Copy over tools resource files.
203         @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools \
204                com/sun/javadoc com/sun/tools/doclets com/sun/tools/javac \
205                sun/rmi/rmic -name \*.properties -print`; \
206         for p in $$list; do \
207           dirname=classes/`dirname $$p`; \
208           if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
209           echo "  cp $(top_srcdir)/resource/$$p classes/$$p"; \
210           cp $(top_srcdir)/resource/$$p classes/$$p; \
211         done
212 endif
213 ## Copy over rmic template files.
214         @list=`cd $(srcdir) && find gnu/classpath/tools -name \*.jav -print`; \
215         for p in $$list; do \
216           dirname=classes/`dirname $$p`; \
217           if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
218           echo "  cp $(srcdir)/$$p classes/$$p"; \
219           cp $(srcdir)/$$p classes/$$p; \
220         done
221         cp -pR $(srcdir)/asm .
222         cp -pR $(srcdir)/classes .
223 ## END GCJ LOCAL
224 ## First add classpath tools stuff.
225         (cd classes; \
226         if test "$(ZIP)" != ""; then $(ZIP) -r ../$(TOOLS_ZIP) .; fi; \
227         if test "$(FASTJAR)" != ""; then $(FASTJAR) cf ../$(TOOLS_ZIP) .; fi; \
228         cd ..)
229 ## Now add ASM classes.
230         (cd asm; \
231         if test "$(ZIP)" != ""; then $(ZIP) -u -r ../$(TOOLS_ZIP) .; fi; \
232         if test "$(FASTJAR)" != ""; then $(FASTJAR) uf ../$(TOOLS_ZIP) .; fi; \
233         cd ..)
234         rm -rf asm classes classes.lst asm.lst
236 # Zip file be gone! (and make sure the classes are gone too)
237 clean-local:
238         rm -rf $(TOOLS_ZIP) classes classes.lst asm asm.lst all-classes.lst
240 # FIXME: remove this when GNU Classpath includes a bootstrap VM.
241 installcheck-binSCRIPTS:
242         :