aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.target
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-10-21 07:00:00 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2008-10-21 07:00:00 -0700
commit55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 (patch)
tree550ce922ea0e125ac6a9738210ce2939bf2fe901 /Makefile.target
parent413f05aaf54fa08c0ae7e997327a4f4a473c0a8d (diff)
downloadexternal_qemu-55f4e4a5ec657a017e3bf75299ad71fd1c968dd3.zip
external_qemu-55f4e4a5ec657a017e3bf75299ad71fd1c968dd3.tar.gz
external_qemu-55f4e4a5ec657a017e3bf75299ad71fd1c968dd3.tar.bz2
Initial Contribution
Diffstat (limited to 'Makefile.target')
-rw-r--r--Makefile.target407
1 files changed, 225 insertions, 182 deletions
diff --git a/Makefile.target b/Makefile.target
index 91516ed..a5964b4 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -1,23 +1,14 @@
include config.mak
+include $(SRC_PATH)/distrib/Makefile
TARGET_BASE_ARCH:=$(TARGET_ARCH)
-ifeq ($(TARGET_ARCH), x86_64)
-TARGET_BASE_ARCH:=i386
-endif
-ifeq ($(TARGET_ARCH), ppc64)
-TARGET_BASE_ARCH:=ppc
-endif
-ifeq ($(TARGET_ARCH), sparc64)
-TARGET_BASE_ARCH:=sparc
-endif
TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
-VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw:$(SRC_PATH)/audio
-DEFINES=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH)
-ifdef CONFIG_USER_ONLY
-VPATH+=:$(SRC_PATH)/linux-user
-DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
+VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw:$(SRC_PATH)/audio:$(SRC_PATH)/telephony:$(SRC_PATH)/proxy:$(SRC_PATH)/skins
+DEFINES=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH) -I$(SRC_PATH)/telephony -I$(SRC_PATH)/proxy -I$(SRC_PATH)/skins
+CFLAGS=-Wall $(OPTIM) -g $(ZLIB_CFLAGS) $(LIBPNG_CFLAGS) -MMD -MP
+ifeq ($(CONFIG_DARWIN),yes)
+CFLAGS+=-mdynamic-no-pic
endif
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
#CFLAGS+=-Werror
LDFLAGS=-g
LIBS=
@@ -30,44 +21,30 @@ ifeq ($(TARGET_ARCH),arm)
TARGET_ARCH2=armeb
endif
endif
-ifeq ($(TARGET_ARCH),sh4)
- ifeq ($(TARGET_WORDS_BIGENDIAN),yes)
- TARGET_ARCH2=sh4eb
- endif
-endif
-ifeq ($(TARGET_ARCH),mips)
- ifneq ($(TARGET_WORDS_BIGENDIAN),yes)
- TARGET_ARCH2=mipsel
- endif
-endif
-QEMU_USER=qemu-$(TARGET_ARCH2)
# system emulator name
ifdef CONFIG_SOFTMMU
-ifeq ($(TARGET_ARCH), i386)
-QEMU_SYSTEM=qemu$(EXESUF)
-else
QEMU_SYSTEM=qemu-system-$(TARGET_ARCH2)$(EXESUF)
-endif
else
QEMU_SYSTEM=qemu-fast
endif
-ifdef CONFIG_USER_ONLY
-PROGS=$(QEMU_USER)
-else
PROGS+=$(QEMU_SYSTEM)
ifndef CONFIG_SOFTMMU
CONFIG_STATIC=y
endif
-endif # !CONFIG_USER_ONLY
ifdef CONFIG_STATIC
LDFLAGS+=-static
endif
ifeq ($(ARCH),i386)
-CFLAGS+=-fomit-frame-pointer
-OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2
+OP_CFLAGS=$(CFLAGS) -O2 -fomit-frame-pointer
+CFLAGS+=-DUSE_MMX -mmmx
+ifneq ($(CONFIG_DARWIN),yes)
+OP_CFLAGS+= -mpreferred-stack-boundary=2
+else
+OP_CFLAGS+= -mpreferred-stack-boundary=4
+endif
ifeq ($(HAVE_GCC3_OPTIONS),yes)
OP_CFLAGS+= -falign-functions=0 -fno-gcse
else
@@ -77,7 +54,7 @@ endif
ifdef TARGET_GPROF
USE_I386_LD=y
endif
-ifdef CONFIG_STATIC
+ifdef wwCONFIG_STATIC
USE_I386_LD=y
endif
ifdef USE_I386_LD
@@ -112,7 +89,7 @@ CFLAGS+=-mcpu=ultrasparc -m32 -ffixed-g2 -ffixed-g3
LDFLAGS+=-m32
OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -fno-omit-frame-pointer -ffixed-i0
else
-CFLAGS+=-mcpu=ultrasparc -m32 -ffixed-g1 -ffixed-g2 -ffixed-g3 -ffixed-g6
+CFLAGS+=-m32 -ffixed-g1 -ffixed-g2 -ffixed-g3 -ffixed-g6
LDFLAGS+=-m32
OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -ffixed-i0
HELPER_CFLAGS=$(CFLAGS) -ffixed-i0 -mflat
@@ -122,9 +99,8 @@ endif
endif
ifeq ($(ARCH),sparc64)
-CFLAGS+=-mcpu=ultrasparc -m64 -ffixed-g1 -ffixed-g4 -ffixed-g5 -ffixed-g7
+CFLAGS+=-m64 -ffixed-g1 -ffixed-g2 -ffixed-g3 -ffixed-g6
LDFLAGS+=-m64
-LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld
OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -ffixed-i0
endif
@@ -159,17 +135,24 @@ OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls
endif
ifeq ($(CONFIG_DARWIN),yes)
-OP_CFLAGS+= -mdynamic-no-pic
+CFLAGS+= -I/opt/local/include
LIBS+=-lmx
endif
+ifeq ($(CONFIG_WIN32),yes)
+UNAME := $(shell uname -s)
+ifneq ($(findstring CYGWIN,$(UNAME)),)
+CFLAGS += -mno-cygwin -D_WIN32
+LDFLAGS += -mno-cygwin -mwindows
+endif
+endif
+
#########################################################
-DEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+DEFINES+=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
LIBS+=-lm
-ifndef CONFIG_USER_ONLY
-LIBS+=-lz
-endif
+#now using our own zlib static version
+#LIBS+=-L/usr/lib -lz
ifdef CONFIG_WIN32
LIBS+=-lwinmm -lws2_32 -liphlpapi
endif
@@ -189,9 +172,6 @@ ifdef TARGET_HAS_BFLT
OBJS+= flatload.o
endif
-ifeq ($(TARGET_ARCH), i386)
-OBJS+= vm86.o
-endif
ifeq ($(TARGET_ARCH), arm)
OBJS+=nwfpe/fpa11.o nwfpe/fpa11_cpdo.o \
nwfpe/fpa11_cpdt.o nwfpe/fpa11_cprt.o nwfpe/fpopcode.o nwfpe/single_cpdo.o \
@@ -201,8 +181,8 @@ SRCS:= $(OBJS:.o=.c)
OBJS+= libqemu.a
# cpu emulator library
-LIBOBJS=exec.o kqemu.o translate-op.o translate-all.o cpu-exec.o\
- translate.o op.o
+LIBOBJS=exec.o kqemu.o translate-all.o translate-op.o cpu-exec.o\
+ translate.o
ifdef CONFIG_SOFTFLOAT
LIBOBJS+=fpu/softfloat.o
else
@@ -210,39 +190,15 @@ LIBOBJS+=fpu/softfloat-native.o
endif
DEFINES+=-I$(SRC_PATH)/fpu
-ifeq ($(TARGET_ARCH), i386)
-LIBOBJS+=helper.o helper2.o
-ifeq ($(ARCH), i386)
-LIBOBJS+=translate-copy.o
-endif
-endif
-
-ifeq ($(TARGET_ARCH), x86_64)
-LIBOBJS+=helper.o helper2.o
-endif
-
-ifeq ($(TARGET_BASE_ARCH), ppc)
-LIBOBJS+= op_helper.o helper.o
-endif
-
-ifeq ($(TARGET_ARCH), mips)
-LIBOBJS+= op_helper.o helper.o
-endif
-
-ifeq ($(TARGET_BASE_ARCH), sparc)
-LIBOBJS+= op_helper.o helper.o
-endif
-
ifeq ($(TARGET_BASE_ARCH), arm)
-LIBOBJS+= op_helper.o helper.o
+ifdef CONFIG_TRACE
+LIBOBJS += translate-trace.o translate-all-trace.o translate-op-trace.o
endif
-
-ifeq ($(TARGET_BASE_ARCH), sh4)
LIBOBJS+= op_helper.o helper.o
endif
# NOTE: the disassembler code is only needed for debugging
-LIBOBJS+=disas.o
+LIBOBJS+=disas.o
ifeq ($(findstring i386, $(TARGET_ARCH) $(ARCH)),i386)
USE_I386_DIS=y
endif
@@ -258,9 +214,6 @@ endif
ifeq ($(findstring ppc, $(TARGET_BASE_ARCH) $(ARCH)),ppc)
LIBOBJS+=ppc-dis.o
endif
-ifeq ($(findstring mips, $(TARGET_ARCH) $(ARCH)),mips)
-LIBOBJS+=mips-dis.o
-endif
ifeq ($(findstring sparc, $(TARGET_BASE_ARCH) $(ARCH)),sparc)
LIBOBJS+=sparc-dis.o
endif
@@ -270,18 +223,16 @@ endif
ifeq ($(findstring m68k, $(TARGET_ARCH) $(ARCH)),m68k)
LIBOBJS+=m68k-dis.o
endif
-ifeq ($(findstring sh4, $(TARGET_ARCH) $(ARCH)),sh4)
-LIBOBJS+=sh4-dis.o
-endif
ifdef CONFIG_GDBSTUB
OBJS+=gdbstub.o
endif
+OBJS+=android_console.o android_modem.c sim_card.o gsm.o sysdeps_qemu.o charpipe.o modem_driver.o sms.o \
+ android_gps.o
+
all: $(PROGS)
-$(QEMU_USER): $(OBJS)
- $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
ifeq ($(ARCH),alpha)
# Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of
# the address space (31 bit so sign extending doesn't matter)
@@ -289,14 +240,26 @@ ifeq ($(ARCH),alpha)
endif
# must use static linking to avoid leaving stuff in virtual address space
-VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o loader.o
-VL_OBJS+=block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o block-dmg.o block-bochs.o block-vpc.o block-vvfat.o
+VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o loader.o sockets.o qemu_timers.o
+VL_OBJS+= block-cloop.o block-dmg.o block-qcow.o aes.o
+ifdef CONFIG_TRACE
+VL_OBJS+=trace.o dcache.o varint.o
+endif
+
+vl.o: android.h
+
+ifdef CONFIG_SHAPER
+VL_OBJS+=shaper.o
+vl.o: shaper.h shaper.c
+endif
ifdef CONFIG_WIN32
VL_OBJS+=tap-win32.o
endif
-SOUND_HW = sb16.o es1370.o
-AUDIODRV = audio.o noaudio.o wavaudio.o
+AUDIODRV = audio.o noaudio.o wavaudio.o mixeng.o
+ifdef CONFIG_WINAUDIO
+AUDIODRV += winaudio.o
+endif
ifdef CONFIG_SDL
AUDIODRV += sdlaudio.o
endif
@@ -308,7 +271,13 @@ AUDIODRV += coreaudio.o
endif
ifdef CONFIG_ALSA
AUDIODRV += alsaaudio.o
-LIBS += -lasound
+alsaaudio.o: DEFINES := $(CONFIG_ALSA_INC) $(DEFINES)
+#LIBS += -lasound # we use dlopen/dlsym to get ALSA functions when available
+endif
+ifdef CONFIG_ESD
+AUDIODRV += esdaudio.o audio_pt_int.o
+esdaudio.o: DEFINES := $(CONFIG_ESD_INC) $(DEFINES)
+#LIBS += -lesd # we use dlopen/dlsym to get esound function, when available
endif
ifdef CONFIG_DSOUND
AUDIODRV += dsoundaudio.o
@@ -324,65 +293,94 @@ SOUND_HW += fmopl.o adlib.o
endif
AUDIODRV+= wavcapture.o
+AUDIOLIB := libqemu-audio.a
+$(AUDIOLIB): $(AUDIODRV)
+ rm -f $@
+ $(AR) rcs $@ $(AUDIODRV)
+
+# DMA
+VL_OBJS+=dma.o
+
# SCSI layer
-VL_OBJS+= scsi-disk.o cdrom.o lsi53c895a.o
+VL_OBJS+= scsi-disk.o cdrom.o
# USB layer
VL_OBJS+= usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o
-# PCI network cards
-VL_OBJS+= ne2000.o rtl8139.o pcnet.o
-
-ifeq ($(TARGET_BASE_ARCH), i386)
-# Hardware support
-VL_OBJS+= ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
-VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o
-VL_OBJS+= cirrus_vga.o mixeng.o apic.o parallel.o acpi.o piix_pci.o
-VL_OBJS+= usb-uhci.o
-DEFINES += -DHAS_AUDIO
-endif
-ifeq ($(TARGET_BASE_ARCH), ppc)
-VL_OBJS+= ppc.o ide.o pckbd.o ps2.o vga.o $(SOUND_HW) dma.o $(AUDIODRV)
-VL_OBJS+= mc146818rtc.o serial.o i8259.o i8254.o fdc.o m48t59.o
-VL_OBJS+= ppc_prep.o ppc_chrp.o cuda.o adb.o openpic.o heathrow_pic.o mixeng.o
-VL_OBJS+= grackle_pci.o prep_pci.o unin_pci.o
+ifeq ($(TARGET_BASE_ARCH), arm)
+VL_OBJS+= smc91c111.o arm_pic.o arm_boot.o
+VL_OBJS+= android_arm.o goldfish_device.o goldfish_interrupt.o goldfish_timer.o \
+ goldfish_fb.o goldfish_tty.o goldfish_switch.o goldfish_mmc.o \
+ goldfish_memlog.o \
+ goldfish_battery.o \
+ irq.o
+
+# platform_audio support
DEFINES += -DHAS_AUDIO
+VL_OBJS += goldfish_audio.o
+
+ifeq ($(CONFIG_QFB), yes)
+VL_OBJS+= qfb_dev.o qfb_fuse.o qfb_fs.o
endif
-ifeq ($(TARGET_ARCH), mips)
-VL_OBJS+= mips_r4k.o dma.o vga.o serial.o i8254.o i8259.o
-#VL_OBJS+= #ide.o pckbd.o fdc.o m48t59.o
-endif
-ifeq ($(TARGET_BASE_ARCH), sparc)
-ifeq ($(TARGET_ARCH), sparc64)
-VL_OBJS+= sun4u.o ide.o pckbd.o ps2.o vga.o apb_pci.o
-VL_OBJS+= fdc.o mc146818rtc.o serial.o m48t59.o
-VL_OBJS+= cirrus_vga.o parallel.o
-else
-VL_OBJS+= sun4m.o tcx.o lance.o iommu.o m48t59.o slavio_intctl.o
-VL_OBJS+= slavio_timer.o slavio_serial.o slavio_misc.o fdc.o esp.o
+ifeq ($(CONFIG_TRACE), yes)
+VL_OBJS+= goldfish_trace.o
endif
+ifeq ($(CONFIG_SKINS), yes)
+VL_OBJS+= goldfish_events_device.o
endif
-ifeq ($(TARGET_BASE_ARCH), arm)
-VL_OBJS+= integratorcp.o versatilepb.o ps2.o smc91c111.o arm_pic.o arm_timer.o
-VL_OBJS+= arm_boot.o pl011.o pl050.o pl080.o pl110.o pl190.o
-VL_OBJS+= versatile_pci.o
+ifeq ($(CONFIG_NAND), yes)
+VL_OBJS+= goldfish_nand.o
endif
-ifeq ($(TARGET_BASE_ARCH), sh4)
-VL_OBJS+= shix.o sh7750.o sh7750_regnames.o tc58128.o
endif
ifdef CONFIG_GDBSTUB
-VL_OBJS+=gdbstub.o
-endif
+VL_OBJS+=gdbstub.o
+endif
+
+VL_OBJS+=android_console.o android_modem.o sim_card.o gsm.o sysdeps_qemu.o \
+ charpipe.o modem_driver.o sms.o remote_call.o \
+ cbuffer.o \
+ android_gps.o
+
+VL_OBJS+=proxy_common.o proxy_http.o
+
+VL_OBJS+=android_debug.o \
+ android_help.o \
+ android_option.o \
+ android_utils.o \
+ android_resource.o \
+ android_config.o \
+ android_timezone.o \
+ android_events.o \
+ android_profile.o \
+ android_qemud.o \
+ android_kmsg.o \
+ skin_image.o \
+ skin_trackball.o \
+ skin_keyboard.o \
+ skin_file.o \
+ skin_window.o \
+ skin_scaler.o \
+ skin_keyset.o \
+ skin_rect.o \
+ skin_region.o \
+ skin_composer.o \
+ skin_surface.o \
+ framebuffer.o
+
ifdef CONFIG_SDL
+ifdef CONFIG_SKINS
+VL_OBJS += loadpng.o android_main.o android_charmap.o
+else
VL_OBJS+=sdl.o
endif
+endif
VL_OBJS+=vnc.o
ifdef CONFIG_COCOA
VL_OBJS+=cocoa.o
COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework IOKit
-ifdef CONFIG_COREAUDIO
-COCOA_LIBS+=-framework CoreAudio
endif
+ifdef CONFIG_COREAUDIO
+COCOA_LIBS+=-F/System/Library/Frameworks -framework CoreAudio
endif
ifdef CONFIG_SLIRP
DEFINES+=-I$(SRC_PATH)/slirp
@@ -393,17 +391,33 @@ VL_OBJS+=$(addprefix slirp/, $(SLIRP_OBJS))
endif
VL_LDFLAGS=
+ifdef CONFIG_WIN32
+VL_LDFLAGS+=-mno-cygwin -mwindows
+endif
+ifndef CONFIG_WIN32
+ifndef CONFIG_DARWIN
+VL_LDFLAGS+=-lX11
+endif
+endif
+
+android_main.c: android_utils.h android_resource.h android_config.h \
+ skin_image.h android_icons.h skin_file.h \
+ skin_window.h
+
# specific flags are needed for non soft mmu emulator
+ifdef CONFIG_SKINS
+VL_LIBS+=$(PNG_LIBS)
+endif
ifdef CONFIG_STATIC
VL_LDFLAGS+=-static
endif
ifndef CONFIG_SOFTMMU
-VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/i386-vl.ld
+VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/i386-vl.ld
endif
ifndef CONFIG_DARWIN
ifndef CONFIG_WIN32
ifndef CONFIG_SOLARIS
-VL_LIBS=-lutil -lrt
+VL_LIBS+=-lutil -lrt
endif
endif
endif
@@ -412,26 +426,58 @@ vl.o: CFLAGS+=-p
VL_LDFLAGS+=-p
endif
-ifeq ($(ARCH),ia64)
-VL_LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64.ld
+# we need to filter out _GNU_SOURCE from the SDL C Flags if any, because
+# this macro is not needed at all and will break recent versions of Cygwin
+# with the -mno-cygwin option (blame it on Cygwin/Mingw)
+#
+SDL_CFLAGS := $(filter-out -D_GNU_SOURCE=1,$(SDL_CFLAGS))
+
+$(info SDL_CFLAGS is $(SDL_CFLAGS))
+
+ifdef CONFIG_DARWIN
+ifdef CONFIG_SDL
+CFLAGS += $(SDL_CFLAGS)
+endif
endif
-ifeq ($(ARCH),sparc64)
-VL_LDFLAGS+=-m64
-VL_LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld
+#skin_%.o android_main.o: CFLAGS+=-O0 -g -fno-omit-frame-pointer
+
+ifeq ($(ARCH),ia64)
+VL_LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64.ld
endif
ifdef CONFIG_WIN32
SDL_LIBS := $(filter-out -mwindows, $(SDL_LIBS)) -mconsole
+VL_OBJS+=android_icon.o
+android_icon.o: images/android_icon.rc
+ windres $< -o $@
endif
-$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
+$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a $(AUDIOLIB) $(LIBPNG_LIB) $(ZLIB_LIB)
$(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS)
cocoa.o: cocoa.m
$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
-sdl.o: sdl.c keymaps.c sdl_keysym.h
+android_main.o: android_main.c android.h android_icons.h android_charmap.h android_utils.h android_resource.h skin_image.h
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+android_console.o: android_console.c # we need SDL_CFLAGS
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+android_resource.o: android_resource.c android_resource.h skin_default.h
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+skin_image.o: skin_image.c skin_image.h android_resource.h
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+skin_%.o: skin_%.c skin_%.h
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+android_charmap.o: android_charmap.c android_charmap.h
+ $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+
+android_utils.o: android_utils.c android_utils.h
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
@@ -440,13 +486,17 @@ vnc.o: vnc.c keymaps.c sdl_keysym.h vnchextile.h
sdlaudio.o: sdlaudio.c
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+esdaudio.o: esdaudio.c
+ $(CC) $(CFLAGS) -O0 $(DEFINES) -c -o $@ $<
+
+
depend: $(SRCS)
$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
vldepend: $(VL_OBJS:.o=.c)
$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
-# libqemu
+# libqemu
libqemu.a: $(LIBOBJS)
rm -f $@
@@ -454,9 +504,14 @@ libqemu.a: $(LIBOBJS)
translate.o: translate.c gen-op.h opc.h cpu.h
+ifdef CONFIG_TRACE
+translate-trace.o: translate.c gen-op-trace.h opc-trace.h cpu.h
+ $(CC) $(CFLAGS) $(DEFINES) -DGEN_TRACE -c -o $@ $<
+endif
+
translate-all.o: translate-all.c opc.h cpu.h
-translate-op.o: translate-all.c op.h opc.h cpu.h
+translate-op.o: translate-op.c op.h opc.h cpu.h
op.h: op.o $(DYNGEN)
$(DYNGEN) -o $@ $<
@@ -470,53 +525,41 @@ gen-op.h: op.o $(DYNGEN)
op.o: op.c
$(CC) $(OP_CFLAGS) $(DEFINES) -c -o $@ $<
-helper.o: helper.c
- $(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
+ifdef CONFIG_TRACE
+op-trace.h: op-trace.o $(DYNGEN)
+ $(DYNGEN) -o $@ $<
-ifeq ($(TARGET_BASE_ARCH), i386)
-op.o: op.c opreg_template.h ops_template.h ops_template_mem.h ops_mem.h ops_sse.h
-endif
+opc-trace.h: op-trace.o $(DYNGEN)
+ $(DYNGEN) -c -o $@ $<
-ifeq ($(TARGET_ARCH), arm)
-op.o: op.c op_template.h
-pl110.o: pl110_template.h
-endif
+gen-op-trace.h: op-trace.o $(DYNGEN)
+ $(DYNGEN) -g -o $@ $<
-ifeq ($(TARGET_BASE_ARCH), sparc)
-op.o: op.c op_template.h op_mem.h fop_template.h fbranch_template.h
-magic_load.o: elf_op.h
-endif
+op-trace.o: op.c
+ $(CC) $(OP_CFLAGS) $(DEFINES) -DGEN_TRACE -c -o $@ $<
-ifeq ($(TARGET_BASE_ARCH), ppc)
-op.o: op.c op_template.h op_mem.h
-op_helper.o: op_helper_mem.h
-translate.o: translate.c translate_init.c
-endif
+translate-all-trace.o: translate-all.c op-trace.h opc-trace.h cpu.h
+ $(CC) $(OP_CFLAGS) $(DEFINES) -DGEN_TRACE -c -o $@ $<
+
+translate-op-trace.o: translate-op.c op-trace.h opc-trace.h cpu.h
+ $(CC) $(OP_CFLAGS) $(DEFINES) -DGEN_TRACE -c -o $@ $<
-ifeq ($(TARGET_ARCH), mips)
-op.o: op.c op_template.c op_mem.c
-op_helper.o: op_helper_mem.c
endif
-loader.o: loader.c elf_ops.h
+skin_scaler.o: CFLAGS += -O2 -g -fno-omit-frame-pointer
-acpi.o: acpi.c acpi-dsdt.hex
+helper.o: helper.c
+ $(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $<
-ifdef BUILD_ACPI_TABLES
-$(SRC_PATH)/hw/acpi-dsdt.hex: acpi-dsdt.dsl
- iasl -tc -p $@ $<
+ifeq ($(TARGET_ARCH), arm)
+op.o: op.c op_template.h
+ifdef CONFIG_TRACE
+op-trace.o: op.c op_template.h
endif
-
-ifeq ($(TARGET_ARCH), sh4)
-op.o: op.c op_mem.c cpu.h
-op_helper.o: op_helper.c exec.h cpu.h
-helper.o: helper.c exec.h cpu.h
-sh7750.o: sh7750.c sh7750_regs.h sh7750_regnames.h cpu.h
-shix.o: shix.c sh7750_regs.h sh7750_regnames.h
-sh7750_regnames.o: sh7750_regnames.c sh7750_regnames.h sh7750_regs.h
-tc58128.o: tc58128.c
endif
+loader.o: loader.c elf_ops.h
+
$(OBJS) $(LIBOBJS) $(VL_OBJS): config.h ../config-host.h
%.o: %.c
@@ -526,9 +569,12 @@ $(OBJS) $(LIBOBJS) $(VL_OBJS): config.h ../config-host.h
$(CC) $(DEFINES) -c -o $@ $<
clean:
- rm -f *.o *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
+ rm -f *.o *.d *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe/*.o slirp/*.o fpu/*.o
+ifdef CONFIG_TRACE
+ rm -f opc-trace.h op-trace.h gen-op-trace.h
+endif
-install: all
+install: all
ifneq ($(PROGS),)
$(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
endif
@@ -537,8 +583,5 @@ ifneq ($(wildcard .depend),)
include .depend
endif
-ifeq (1, 0)
-audio.o sdlaudio.o dsoundaudio.o ossaudio.o wavaudio.o noaudio.o \
-fmodaudio.o alsaaudio.o mixeng.o sb16.o es1370.o gus.o adlib.o: \
-CFLAGS := $(CFLAGS) -Wall -Werror -W -Wsign-compare
-endif
+# Include automatically generated dependency files
+-include $(wildcard *.d)