72c90270e218dfdc602b9c3e974019b4b1f525aa
[cacao.git] / src / classes / Makefile.am
1 ## src/lib/Makefile.am
2 ##
3 ## Copyright (C) 1996-2005, 2006, 2007, 2008
4 ## CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
5 ##
6 ## This file is part of CACAO.
7 ##
8 ## This program is free software; you can redistribute it and/or
9 ## modify it under the terms of the GNU General Public License as
10 ## published by the Free Software Foundation; either version 2, or (at
11 ## your option) any later version.
12 ##
13 ## This program is distributed in the hope that it will be useful, but
14 ## WITHOUT ANY WARRANTY; without even the implied warranty of
15 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 ## General Public License for more details.
17 ##
18 ## You should have received a copy of the GNU General Public License
19 ## along with this program; if not, write to the Free Software
20 ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 ## 02110-1301, USA.
22
23
24 EXTRA_DIST = \
25         $(VM_JAVA_FILES_GNU) \
26         $(VM_JAVA_FILES_GNU_ANNOTATIONS) \
27         $(VM_JAVA_FILES_CLDC1_1)
28
29 CLEANFILES = vm.zip
30
31 VM_JAVA_FILES_GNU = \
32         $(top_srcdir)/src/classes/gnu/gnu/classpath/VMStackWalker.java \
33         $(top_srcdir)/src/classes/gnu/gnu/classpath/VMSystemProperties.java \
34         $(top_srcdir)/src/classes/gnu/gnu/java/lang/VMCPStringBuilder.java \
35         $(top_srcdir)/src/classes/gnu/gnu/java/lang/management/VMMemoryMXBeanImpl.java \
36         $(top_srcdir)/src/classes/gnu/gnu/java/lang/management/VMRuntimeMXBeanImpl.java \
37         $(top_srcdir)/src/classes/gnu/java/lang/VMClassLoader.java \
38         $(top_srcdir)/src/classes/gnu/java/lang/VMString.java \
39         $(top_srcdir)/src/classes/gnu/java/lang/VMThread.java \
40         $(top_srcdir)/src/classes/gnu/java/lang/reflect/VMConstructor.java \
41         $(top_srcdir)/src/classes/gnu/java/lang/reflect/VMField.java \
42         $(top_srcdir)/src/classes/gnu/java/lang/reflect/VMMethod.java \
43         $(top_srcdir)/src/classes/gnu/java/security/VMAccessController.java \
44         $(top_srcdir)/src/classes/gnu/sun/misc/Unsafe.java
45
46 # Remove these files when a new GNU Classpath release (> 0.97.1) is
47 # available.
48
49 VM_JAVA_FILES_GNU += \
50         $(top_srcdir)/src/classes/gnu/java/lang/reflect/Constructor.java \
51         $(top_srcdir)/src/classes/gnu/java/lang/reflect/Field.java \
52         $(top_srcdir)/src/classes/gnu/java/lang/reflect/Method.java \
53         $(top_srcdir)/src/classes/gnu/java/lang/reflect/Modifier.java \
54         $(top_srcdir)/src/classes/gnu/gnu/java/lang/CPStringBuilder.java
55
56 VM_JAVA_FILES_GNU_ANNOTATIONS = \
57         $(top_srcdir)/src/classes/gnu/sun/reflect/ConstantPool.java \
58         $(top_srcdir)/src/classes/gnu/sun/reflect/annotation/ExceptionProxy.java \
59         $(top_srcdir)/src/classes/gnu/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java \
60         $(top_srcdir)/src/classes/gnu/sun/reflect/annotation/TypeNotPresentExceptionProxy.java \
61         $(top_srcdir)/src/classes/gnu/sun/reflect/annotation/AnnotationTypeMismatchExceptionProxy.java \
62         $(top_srcdir)/src/classes/gnu/sun/reflect/annotation/AnnotationType.java \
63         $(top_srcdir)/src/classes/gnu/sun/reflect/annotation/AnnotationParser.java
64
65 VM_JAVA_FILES_CLDC1_1 = \
66         $(top_srcdir)/src/classes/cldc1.1/com/sun/cldchi/jvm/FileDescriptor.java
67
68 BOOTCLASSPATH = $(top_builddir)/src/classes/classes:$(CLASSPATH_CLASSES)
69
70 if WITH_CLASSPATH_GNU
71 VM_JAVA_FILES = \
72         $(VM_JAVA_FILES_GNU)
73
74 if ENABLE_ANNOTATIONS
75 VM_JAVA_FILES += \
76         $(VM_JAVA_FILES_GNU_ANNOTATIONS)
77 endif
78
79 if ENABLE_ZLIB
80 pkgdata_DATA = vm.zip
81 else
82 pkgdata_DATA = nozip
83 endif
84 endif
85
86 if WITH_CLASSPATH_CLDC1_1
87 VM_JAVA_FILES = \
88         $(VM_JAVA_FILES_CLDC1_1)
89
90 if ENABLE_ZLIB
91 pkgdata_DATA = vm.zip
92 else
93 pkgdata_DATA = nozip
94 endif
95 endif
96
97 if ENABLE_ZLIB
98 VM_ZIP = ../vm.zip
99
100 vm.zip: $(VM_JAVA_FILES)
101         $(mkdir_p) classes
102         $(JAVAC) -bootclasspath $(BOOTCLASSPATH) -source 1.5 -target 1.5 -d classes $(VM_JAVA_FILES)
103         @if test "$(JAR)" = "zip" -o "$(JAR)" = "zip.exe"; then \
104             cd classes && $(JAR) -r -D $(VM_ZIP) .; \
105         else \
106             cd classes && $(JAR) cvf $(VM_ZIP) .; \
107         fi
108 else
109 nozip: $(VM_JAVA_FILES)
110         $(mkdir_p) classes
111         $(JAVAC) -bootclasspath $(BOOTCLASSPATH) -source 1.5 -target 1.5 -d classes $(VM_JAVA_FILES)
112 endif
113
114 clean-local:
115         -rm -rf classes
116
117
118 ## Local variables:
119 ## mode: Makefile
120 ## indent-tabs-mode: t
121 ## c-basic-offset: 4
122 ## tab-width: 8
123 ## compile-command: "automake --add-missing"
124 ## End: