c1/Make.proto
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 01 Sep 2018 00:18:23 +0100
changeset 51 bac3aa0c73ef
parent 46 1795147286b5
permissions -rw-r--r--
UDIS86: fix `UDIS86Instruction >> branchTarget` to handle indirect branch using memory argument ...such as: jmp 0x0($rdx) In that case, branch target address is not statically known so `nil` is returned. Callers must handle this.

# $Header$
#
# DO NOT EDIT
# automagically generated from the projectDefinition: jv_dragonfly_c1.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
#
# The Makefile as generated by this Make.proto supports the following targets:
#    make         - compile all st-files to a classLib
#    make clean   - clean all temp files
#    make clobber - clean all
#
# This file contains definitions for Unix based platforms.
# It shares common definitions with the win32-make in Make.spec.

#
# position (of this package) in directory hierarchy:
# (must point to ST/X top directory, for tools and includes)
TOP=../../../stx
INCLUDE_TOP=$(TOP)/..

# subdirectories where targets are to be made:
SUBDIRS=


# subdirectories where Makefiles are to be made:
# (only define if different from SUBDIRS)
# ALLSUBDIRS=

REQUIRED_SUPPORT_DIRS=

# if your embedded C code requires any system includes,
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/dragonfly -I$(INCLUDE_TOP)/jv/llvm_s -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libjava -I$(INCLUDE_TOP)/stx/libjava/experiments


# if you need any additional defines for embedded C code,
# add them here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
LOCALDEFINES=

LIBNAME=libjv_dragonfly_c1
STCLOCALOPT='-package=$(PACKAGE)' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=.  -varPrefix=$(LIBNAME)


# ********** OPTIONAL: MODIFY the next line ***
# additional C-libraries that should be pre-linked with the class-objects
LD_OBJ_LIBS=
LOCAL_SHARED_LIBS=


# ********** OPTIONAL: MODIFY the next line ***
# additional C targets or libraries should be added below
LOCAL_EXTRA_TARGETS=

OBJS= $(COMMON_OBJS) $(UNIX_OBJS)



all:: preMake classLibRule postMake

pre_objs::  






# Enforce recompilation of package definition class if Mercurial working
# copy state changes. Together with --guessVersion it ensures that package
# definition class always contains correct binary revision string.
ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
jv_dragonfly_c1.$(O): $(shell hg root)/.hg/dirstate
endif




# run default testsuite for this package
test: $(TOP)/goodies/builder/reports
	$(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)



# add more install actions here
install::

# add more install actions for aux-files (resources) here
installAux::

# add more preMake actions here
preMake::

# add more postMake actions here
postMake:: cleanjunk

# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ../../llvm_s && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd $(TOP)/libjava && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd $(TOP)/libjava/experiments && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "



# build all packages containing referenced classes for this package
# they are not needed to compile the package (but later, to load it)
references:


cleanjunk::
	-rm -f *.s *.s2

clean::
	-rm -f *.o *.H

clobber:: clean
	-rm -f *.so *.dll


# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)DragonFly__C1BasicBlockAnalyzerJava.$(O) DragonFly__C1BasicBlockAnalyzerJava.$(C) DragonFly__C1BasicBlockAnalyzerJava.$(H): DragonFly__C1BasicBlockAnalyzerJava.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessor.$(H) $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessorAdapter.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1CompilerBackend.$(O) DragonFly__C1CompilerBackend.$(C) DragonFly__C1CompilerBackend.$(H): DragonFly__C1CompilerBackend.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1CompilerDebugFlags.$(O) DragonFly__C1CompilerDebugFlags.$(C) DragonFly__C1CompilerDebugFlags.$(H): DragonFly__C1CompilerDebugFlags.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1Context.$(O) DragonFly__C1Context.$(C) DragonFly__C1Context.$(H): DragonFly__C1Context.st $(INCLUDE_TOP)/stx/libbasic/Array.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1LLVMMCJITMemoryManager.$(O) DragonFly__C1LLVMMCJITMemoryManager.$(C) DragonFly__C1LLVMMCJITMemoryManager.$(H): DragonFly__C1LLVMMCJITMemoryManager.st $(INCLUDE_TOP)/jv/llvm_s/LLVMDisposableObject.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMMCJITMemoryManager.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMObject.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1LLVMTypes.$(O) DragonFly__C1LLVMTypes.$(C) DragonFly__C1LLVMTypes.$(H): DragonFly__C1LLVMTypes.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)jv_dragonfly_c1.$(O) jv_dragonfly_c1.$(C) jv_dragonfly_c1.$(H): jv_dragonfly_c1.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1BasicBlock.$(O) DragonFly__C1BasicBlock.$(C) DragonFly__C1BasicBlock.$(H): DragonFly__C1BasicBlock.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1LLVMTypes.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1CompilerBackendX86_64.$(O) DragonFly__C1CompilerBackendX86_64.$(C) DragonFly__C1CompilerBackendX86_64.$(H): DragonFly__C1CompilerBackendX86_64.st $(INCLUDE_TOP)/jv/dragonfly/VMConstants.$(H) $(INCLUDE_TOP)/jv/dragonfly/VMData.$(H) $(INCLUDE_TOP)/jv/dragonfly/VMOffsets.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1CompilerBackend.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1CompilerDebugFlags.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1LLVMTypes.$(H) $(INCLUDE_TOP)/jv/llvm_s/DWARFConstants.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMIntPredicate.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1CompilerJava.$(O) DragonFly__C1CompilerJava.$(C) DragonFly__C1CompilerJava.$(H): DragonFly__C1CompilerJava.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1CompilerDebugFlags.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessor.$(H) $(INCLUDE_TOP)/stx/libjava/experiments/JavaByteCodeInterpreter.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1Value.$(O) DragonFly__C1Value.$(C) DragonFly__C1Value.$(H): DragonFly__C1Value.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1LLVMTypes.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1NumericValue.$(O) DragonFly__C1NumericValue.$(C) DragonFly__C1NumericValue.$(H): DragonFly__C1NumericValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1ReferenceValue.$(O) DragonFly__C1ReferenceValue.$(C) DragonFly__C1ReferenceValue.$(H): DragonFly__C1ReferenceValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1DoubleValue.$(O) DragonFly__C1DoubleValue.$(C) DragonFly__C1DoubleValue.$(H): DragonFly__C1DoubleValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1FloatValue.$(O) DragonFly__C1FloatValue.$(C) DragonFly__C1FloatValue.$(H): DragonFly__C1FloatValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1IntegerValue.$(O) DragonFly__C1IntegerValue.$(C) DragonFly__C1IntegerValue.$(H): DragonFly__C1IntegerValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMIntPredicate.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1BoolValue.$(O) DragonFly__C1BoolValue.$(C) DragonFly__C1BoolValue.$(H): DragonFly__C1BoolValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1IntegerValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1Int32Value.$(O) DragonFly__C1Int32Value.$(C) DragonFly__C1Int32Value.$(H): DragonFly__C1Int32Value.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1IntegerValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1Int64Value.$(O) DragonFly__C1Int64Value.$(C) DragonFly__C1Int64Value.$(H): DragonFly__C1Int64Value.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1IntegerValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)DragonFly__C1SmallIntegerValue.$(O) DragonFly__C1SmallIntegerValue.$(C) DragonFly__C1SmallIntegerValue.$(H): DragonFly__C1SmallIntegerValue.st $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1IntegerValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1NumericValue.$(H) $(INCLUDE_TOP)/jv/dragonfly/c1/DragonFly__C1Value.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaMethod.$(H) $(STCHDR)

# ENDMAKEDEPEND --- do not remove this line