VirtualBox

source: vbox/trunk/src/recompiler_new/Makefile.kmk@ 13762

Last change on this file since 13762 was 13726, checked in by vboxsync, 16 years ago

Some 32-bit work, not yet working

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.2 KB
Line 
1# $Id: Makefile.kmk 13726 2008-10-31 19:30:54Z vboxsync $
2## @file
3# The Recompiler Sub-Makefile.
4#
5#
6# Copyright (C) 2006-2007 Sun Microsystems, Inc.
7#
8# This file is part of VirtualBox Open Source Edition (OSE), as
9# available from http://www.virtualbox.org. This file is free software;
10# you can redistribute it and/or modify it under the terms of the GNU
11# General Public License (GPL) as published by the Free Software
12# Foundation, in version 2 as it comes in the "COPYING" file of the
13# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15#
16# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
17# Clara, CA 95054 USA or visit http://www.sun.com if you need
18# additional information or have any questions.
19#
20
21
22SUB_DEPTH = ../..
23include $(KBUILD_PATH)/subheader.kmk
24
25
26REM_MOD += VBoxREM
27#DLLS += VBoxREM
28IMPORT_LIBS += VBoxREM
29
30DEFS += VBOX_WITH_NEW_RECOMPILER
31$(REM_MOD)_TEMPLATE = VBOXR3NP
32
33OTHER_CLEAN +=
34
35#
36# Globals
37#
38VBOX_PATH_RECOMPILER_SRC := $(PATH_SUB_CURRENT)
39
40# The VBoxREM.[dll|so|..] or VBoxREM2.rel.
41#
42$(REM_MOD)_DEFS = IN_REM_R3 REM_INCLUDE_CPU_H
43$(REM_MOD)_DEFS += REM_PHYS_ADDR_IN_TLB
44#$(REM_MOD)_DEFS += DEBUG_ALL_LOGGING DEBUG_DISAS DEBUG_PCALL DEBUG_EXEC DEBUG_FLUSH DEBUG_IOPORT DEBUG_SIGNAL DEBUG_TLB_CHECK DEBUG_TB_INVALIDATE DEBUG_TLB # Enables huge amounts of debug logging.
45$(REM_MOD)_DEFS.linux = _GNU_SOURCE
46ifdef VBOX_SOLARIS_10
47 $(REM_MOD)_DEFS.solaris = HOST_SOLARIS=10
48else
49 $(REM_MOD)_DEFS.solaris = HOST_SOLARIS=11
50endif
51
52$(REM_MOD)_INCS = \
53 Sun \
54 target-i386 \
55 tcg \
56 fpu \
57 $(PATH_$(REM_MOD)) \
58 $(PATH_ROOT)/src/VBox/VMM \
59 .
60
61$(REM_MOD)_SOURCES = \
62 VBoxRecompiler.c \
63 cpu-exec.c \
64 exec.c \
65 translate-all.c \
66 host-utils.c \
67 cutils.c \
68 tcg/tcg.c \
69 tcg/tcg-dyngen.c \
70 tcg/tcg-runtime.c \
71 fpu/softfloat-native.c \
72 target-i386/op_helper.c \
73 target-i386/helper.c \
74 target-i386/translate.c
75
76ifeq ($(KBUILD_TARGET_ARCH),amd64)
77 $(REM_MOD)_DEFS += __x86_64__
78 $(REM_MOD)_INCS += tcg/x86_64
79else
80 $(REM_MOD)_DEFS += __i386__
81 $(REM_MOD)_INCS += tcg/i386
82endif
83
84
85$(REM_MOD)_SOURCES.debug = \
86 Sun/testmath.c
87$(REM_MOD)_SOURCES.win.x86 = $(REM_MOD).def
88ifneq ($(REM_MOD),VBoxREM2)
89 $(REM_MOD)_POST_CMDS = $(VBOX_SIGN_IMAGE_CMDS)
90endif
91
92# gcc targets
93if1of ($(KBUILD_TARGET), linux darwin solaris)
94$(REM_MOD)_CFLAGS.debug = -O0
95$(REM_MOD)_CFLAGS.release += -fomit-frame-pointer -fno-gcse
96endif
97$(REM_MOD)_CFLAGS.profile = $($(REM_MOD)_CFLAGS.release)
98$(REM_MOD)_CFLAGS.kprofile = $($(REM_MOD)_CFLAGS.release)
99
100$(REM_MOD)_DEFS += IN_RING3 $(ARCH_BITS_DEFS)
101#$(REM_MOD)_DEFS += DEBUG_DISAS DEBUG_PCALL DEBUG_EXEC DEBUG_FLUSH DEBUG_IOPORT DEBUG_SIGNAL DEBUG_TLB_CHECK DEBUG_TB_INVALIDATE DEBUG_TLB # Enables huge amounts of debug logging.
102
103$(REM_MOD)_LDFLAGS.darwin = -read_only_relocs suppress -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/$(REM_MOD).dylib -multiple_defined warning
104$(REM_MOD)_LDFLAGS.l4 = -T$(L4_LIBDIR)/../main_rel.ld -nostdlib -Wl,--no-undefined
105$(REM_MOD)_LDFLAGS.linux = $(VBOX_LD_as_needed)
106$(REM_MOD)_LDFLAGS.os2 = -Zomf
107$(REM_MOD)_LDFLAGS.debug = -g
108$(REM_MOD)_LDFLAGS.solaris = -mimpure-text
109
110#$(REM_MOD)_LIBS = \
111 $(LIB_VMM) \
112 $(LIB_RUNTIME)
113
114
115if1of ($(KBUILD_TARGET), linux darwin solaris)
116# Extra flags for these source modules.
117target-i386/op-helper.c_CFLAGS.x86 = -O2 -fno-strict-aliasing -fno-gcse
118cpu-exec.c_CFLAGS.x86 = -O2 -fno-strict-aliasing -fno-gcse
119cpu-exec.c_CFLAGS.solaris.amd64 = -O2 -fno-strict-aliasing
120endif
121
122#
123# The math testcase as a standalone program for testing and debugging purposes.
124#
125## @todo This is a bit messy because of MINGW32.
126testmath_ASFLAGS.amd64 = -m amd64
127testmath_CFLAGS = -Wall -g
128testmath_CFLAGS.release = -O3
129testmath_LDFLAGS = -g
130testmath_DEFS = MATHTEST_STANDALONE
131testmath_SOURCES = Sun/testmath.c
132#testmath_SOURCES += $(PATH_LIB)/RuntimeR3NoCRTGCC$(VBOX_SUFF_LIB)
133
134
135include $(KBUILD_PATH)/subfooter.kmk
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use