## * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ## * This source file is part of SableVM. * ## * * ## * See the file "LICENSE" for the copyright information and for * ## * the terms and conditions for copying, distribution and * ## * modification of this source file. * ## * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ## GNU m4 & grep M4 = @M4@ GREP = grep lib_LTLIBRARIES = libsablevm.la ## We want to build libsablevm as a single library, while ## using many source files, for readability. To do this, ## we have a single libsablevm.c source file which does ## includes the other files. We list all the .c and .h ## files as "noinst_HEADERS" so that automake does not try ## to compile each .c file individually. libsablevm_la_SOURCES = \ libsablevm.c libsablevm.c: $(noinst_HEADERS) BUILT_SOURCES = \ bootstrap.c \ cast.c \ cl_alloc.c \ cl_alloc.h \ class_file_parser.c \ error_bits.h \ error_classes.h \ error_init_methods.h \ error_instances.h \ error_throwing.c \ global_alloc.c \ global_alloc.h \ internal_methods.c \ method_invoke.c \ method_invoke.h \ native_interface.c \ splay_tree.c \ util.c \ vm_args.c \ \ internal_methods.list noinst_HEADERS = \ $(BUILT_SOURCES) \ \ class_file_parser.h \ class_loader.c \ class_loader.h \ class_loader_memory_manager.c \ class_loader_memory_manager.h \ constants.h \ fatal.c \ fatal.h \ gc/gc_copying.c \ gc/gc_gencopy.c \ gc/gc_gencopy.h \ gc/gc_none.c \ global_refs.c \ global_refs.h \ kernel_classes/gnu_classpath/gnu_classpath_VMSystemProperties.c \ kernel_classes/gnu_classpath/gnu_classpath_VMSystemProperties.h \ kernel_classes/gnu_classpath/gnu_classpath_VMStackWalker.c \ kernel_classes/gnu_classpath/gnu_classpath_VMStackWalker.h \ initialization.c \ instructions_preparation_cases.c \ instructions_switch_cases.c \ instructions/array.c \ instructions/astore_ret.c \ instructions/casting.c \ instructions/cmp.c \ instructions/const.c \ instructions/dup.c \ instructions/getfield.c \ instructions/getstatic.c \ instructions/if.c \ instructions/if_cmp.c \ instructions/invoke.c \ instructions/jsr_ret.c \ instructions/ldc.c \ instructions/load.c \ instructions/math.c \ instructions/native_method.c \ instructions/new.c \ instructions/putfield.c \ instructions/putstatic.c \ instructions/return.c \ instructions/store.c \ instructions/switch.c \ instructions/unused.c \ instructions/various.c \ internal_methods.h \ interpreter.c \ interpreter.h \ invoke_interface.c \ invoke_interface.h \ kernel_classes/java_io_VMObjectStreamClass.c \ kernel_classes/java_io_VMObjectStreamClass.h \ kernel_classes/java_lang_VMRuntime.c \ kernel_classes/java_lang_VMRuntime.h \ kernel_classes/java_lang_Throwable.c \ kernel_classes/java_lang_Throwable.h \ kernel_classes/java_lang_VMClass.c \ kernel_classes/java_lang_VMClass.h \ kernel_classes/java_lang_VMClassLoader.c \ kernel_classes/java_lang_VMClassLoader.h \ kernel_classes/java_lang_VMObject.c \ kernel_classes/java_lang_VMObject.h \ kernel_classes/java_lang_VMSystem.c \ kernel_classes/java_lang_VMSystem.h \ kernel_classes/java_lang_VMThread.c \ kernel_classes/java_lang_VMThread.h \ kernel_classes/java_lang_VirtualMachine.c \ kernel_classes/java_lang_VirtualMachine.h \ kernel_classes/java_lang_reflect_Array.c \ kernel_classes/java_lang_reflect_Array.h \ kernel_classes/java_lang_reflect_Constructor.c \ kernel_classes/java_lang_reflect_Constructor.h \ kernel_classes/java_lang_reflect_Field.c \ kernel_classes/java_lang_reflect_Field.h \ kernel_classes/java_lang_reflect_Method.c \ kernel_classes/java_lang_reflect_Method.h \ jnidefs.h \ lib_init.c \ link.c \ link.h \ local_refs.c \ local_refs.h \ native.c \ native_interface.h \ new_instance.c \ new_instance.h \ prepare.c \ prepare.h \ prepare_code.c \ resolve.c \ stack.c \ vm_thread.c \ vm_thread.h \ types.h \ util.h \ util1.c \ util2.c \ verifier.c \ \ cast.list \ cl_alloc.list \ error.list \ global_alloc.list \ method_invoke.list \ splay_tree.list \ two_modes.list \ \ internal_methods.list.head \ \ macros.m4 \ \ bootstrap.m4.c \ cast.m4.c \ cl_alloc.m4.c \ cl_alloc.m4.h \ class_file_parser.m4.c \ error_bits.m4.h \ error_classes.m4.h \ error_init_methods.m4.h \ error_instances.m4.h \ error_throwing.m4.c \ global_alloc.m4.c \ global_alloc.m4.h \ internal_methods.m4.c \ method_invoke.m4.c \ method_invoke.m4.h \ native_interface.m4.c \ splay_tree.m4.c \ util.m4.c \ vm_args.m4.c class_file_parser.c: macros.m4 class_file_parser.m4.c rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ bootstrap.c: macros.m4 bootstrap.m4.c rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ cl_alloc.c: macros.m4 cl_alloc.m4.c cl_alloc.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ cl_alloc.h: macros.m4 cl_alloc.m4.h cl_alloc.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ cast.c: macros.m4 cast.m4.c cast.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ error_bits.h: macros.m4 error_bits.m4.h error.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ error_classes.h: macros.m4 error_classes.m4.h error.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ error_init_methods.h: macros.m4 error_init_methods.m4.h error.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ error_instances.h: macros.m4 error_instances.m4.h error.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ error_throwing.c: macros.m4 error_throwing.m4.c error.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ global_alloc.c: macros.m4 global_alloc.m4.c global_alloc.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ global_alloc.h: macros.m4 global_alloc.m4.h global_alloc.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ internal_methods.c: macros.m4 internal_methods.m4.c internal_methods.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ method_invoke.c: macros.m4 method_invoke.m4.c method_invoke.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ method_invoke.h: macros.m4 method_invoke.m4.h method_invoke.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ native_interface.c: macros.m4 native_interface.m4.c rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ splay_tree.c: macros.m4 splay_tree.m4.c splay_tree.list rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ util.c: macros.m4 util.m4.c rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ vm_args.c: macros.m4 vm_args.m4.c rm -f $@ $(M4) -P $^ > $@ chmod a-w $@ internal_methods.list : internal_methods.list.head \ $(wildcard $(srcdir)/kernel_classes/java_*.c) $(wildcard $(srcdir)/kernel_classes/gnu_classpath/gnu_classpath_*.c) rm -f $@ cat $< > $@ $(GREP) -h "^Java_.*(" $^ | $(AWK) '{print $$1}' >> $@ $(ECHO) >> $@ $(ECHO) ":]m4svm_internal_method_end" >> $@ $(ECHO) >> $@ $(ECHO) "m4svm_file_tail" >> $@ chmod a-w $@ distclean-local: rm -f bootstrap.c rm -f cast.c rm -f cl_alloc.c rm -f cl_alloc.h rm -f class_file_parser.c rm -f error_bits.h rm -f error_classes.h rm -f error_init_methods.h rm -f error_instances.h rm -f error_throwing.c rm -f global_alloc.c rm -f global_alloc.h rm -f internal_methods.c rm -f method_invoke.c rm -f method_invoke.h rm -f native_interface.c rm -f splay_tree.c rm -f util.c rm -f vm_args.c rm -f internal_methods.list libsablevm_la_LIBADD = @LIBSVMADD@ libsablevm_la_LDFLAGS = -release @LIBRELEASE@ @NO_UNDEFINED@ INCLUDES = @LIBSVMINCLUDE@ \ -I$(srcdir)/include \ -DJAVA_HOME_PATH=\"$(pkglibdir)\" \ -DBOOT_CLASS_PATH=\"$(datadir)/sablevm-classpath:$(datadir)/sablevm-classpath/libclasspath.jar:$(datadir)/sablevm-classpath/resources.jar\" \ -DBOOT_LIBRARY_PATH=\"$(libdir)/sablevm-classpath\"