edbb21363f
The passthru ccid card is a device sitting on the usb-ccid bus and using a chardevice to communicate with a remote device using the VSCard protocol defined in libcacard/vscard_common.h Usage docs available in following patch in docs/ccid.txt Signed-off-by: Alon Levy <alevy@redhat.com> --- Changes from v23->v24: * fixed double license line in header. Changes from v20->v21: (Jes Sorensen review) * add reference to COPYING in header * long comment reformatting Changes from v19->v20: * checkpatch.pl Changes from v18->v19: * add qdev.desc * remove .qdev.unplug (no hot unplug support for ccid bus) Changes from v16->v17: * fix wrong cast when receiving VSC_Error * ccid-card-passthru: force chardev user wakeup by sending Init see lengthy comment below. Changes from v15->v16: Behavioral changes: * return correct size * return error instead of assert if client sent too large ATR * don't assert if client sent too large a size, but add asserts for indices to buffer * reset vscard_in indices on chardev disconnect * handle init from client * error if no chardev supplied * use ntoh, hton * eradicate reader_id_t * remove Reconnect usage (removed from VSCARD protocol) * send VSC_SUCCESS on card insert/remove and reader add/remove Style fixes: * width of line fix * update copyright * remove old TODO's * update file header comment * use macros for debug levels * c++ style comment replacement * update copyright license * fix ATR size comment * fix whitespace in struct def * fix DPRINTF prefix * line width fix ccid-card-passthru: force chardev user wakeup by sending Init The problem: how to wakeup the user of the smartcard when the smartcard device is initialized? Long term solution: have a callback interface. This was done via the deprecated so called chardev ioctl interface. Short term solution: do a write. Specifically we write an Init message. And we change the client to send it's own Init message regardless of receiving this one. Additional Init messages will be regarded as acceptable, the first one received after connection establishment is the determining one wrt capabilities.
359 lines
13 KiB
Makefile
359 lines
13 KiB
Makefile
#######################################################################
|
|
# QObject
|
|
qobject-obj-y = qint.o qstring.o qdict.o qlist.o qfloat.o qbool.o
|
|
qobject-obj-y += qjson.o json-lexer.o json-streamer.o json-parser.o
|
|
qobject-obj-y += qerror.o
|
|
|
|
#######################################################################
|
|
# oslib-obj-y is code depending on the OS (win32 vs posix)
|
|
oslib-obj-y = osdep.o
|
|
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o
|
|
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o
|
|
|
|
#######################################################################
|
|
# block-obj-y is code used by both qemu system emulation and qemu-img
|
|
|
|
block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o async.o
|
|
block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o
|
|
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
|
|
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
|
|
|
|
block-nested-y += raw.o cow.o qcow.o vdi.o vmdk.o cloop.o dmg.o bochs.o vpc.o vvfat.o
|
|
block-nested-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
|
|
block-nested-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
|
|
block-nested-y += qed-check.o
|
|
block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
|
|
block-nested-$(CONFIG_WIN32) += raw-win32.o
|
|
block-nested-$(CONFIG_POSIX) += raw-posix.o
|
|
block-nested-$(CONFIG_CURL) += curl.o
|
|
block-nested-$(CONFIG_RBD) += rbd.o
|
|
|
|
block-obj-y += $(addprefix block/, $(block-nested-y))
|
|
|
|
net-obj-y = net.o
|
|
net-nested-y = queue.o checksum.o util.o
|
|
net-nested-y += socket.o
|
|
net-nested-y += dump.o
|
|
net-nested-$(CONFIG_POSIX) += tap.o
|
|
net-nested-$(CONFIG_LINUX) += tap-linux.o
|
|
net-nested-$(CONFIG_WIN32) += tap-win32.o
|
|
net-nested-$(CONFIG_BSD) += tap-bsd.o
|
|
net-nested-$(CONFIG_SOLARIS) += tap-solaris.o
|
|
net-nested-$(CONFIG_AIX) += tap-aix.o
|
|
net-nested-$(CONFIG_HAIKU) += tap-haiku.o
|
|
net-nested-$(CONFIG_SLIRP) += slirp.o
|
|
net-nested-$(CONFIG_VDE) += vde.o
|
|
net-obj-y += $(addprefix net/, $(net-nested-y))
|
|
|
|
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS),yy)
|
|
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
|
|
# only pull in the actual virtio-9p device if we also enabled virtio.
|
|
CONFIG_REALLY_VIRTFS=y
|
|
endif
|
|
fsdev-nested-$(CONFIG_VIRTFS) = qemu-fsdev.o
|
|
fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
|
|
|
|
######################################################################
|
|
# libqemu_common.a: Target independent part of system emulation. The
|
|
# long term path is to suppress *all* target specific code in case of
|
|
# system emulation, i.e. a single QEMU executable should support all
|
|
# CPUs and machines.
|
|
|
|
common-obj-y = $(block-obj-y) blockdev.o
|
|
common-obj-y += $(net-obj-y)
|
|
common-obj-y += $(qobject-obj-y)
|
|
common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
|
|
common-obj-y += readline.o console.o cursor.o qemu-error.o
|
|
common-obj-y += $(oslib-obj-y)
|
|
common-obj-$(CONFIG_WIN32) += os-win32.o
|
|
common-obj-$(CONFIG_POSIX) += os-posix.o
|
|
|
|
common-obj-y += tcg-runtime.o host-utils.o
|
|
common-obj-y += irq.o ioport.o input.o
|
|
common-obj-$(CONFIG_PTIMER) += ptimer.o
|
|
common-obj-$(CONFIG_MAX7310) += max7310.o
|
|
common-obj-$(CONFIG_WM8750) += wm8750.o
|
|
common-obj-$(CONFIG_TWL92230) += twl92230.o
|
|
common-obj-$(CONFIG_TSC2005) += tsc2005.o
|
|
common-obj-$(CONFIG_LM832X) += lm832x.o
|
|
common-obj-$(CONFIG_TMP105) += tmp105.o
|
|
common-obj-$(CONFIG_STELLARIS_INPUT) += stellaris_input.o
|
|
common-obj-$(CONFIG_SSD0303) += ssd0303.o
|
|
common-obj-$(CONFIG_SSD0323) += ssd0323.o
|
|
common-obj-$(CONFIG_ADS7846) += ads7846.o
|
|
common-obj-$(CONFIG_MAX111X) += max111x.o
|
|
common-obj-$(CONFIG_DS1338) += ds1338.o
|
|
common-obj-y += i2c.o smbus.o smbus_eeprom.o
|
|
common-obj-y += eeprom93xx.o
|
|
common-obj-y += scsi-disk.o cdrom.o
|
|
common-obj-y += scsi-generic.o scsi-bus.o
|
|
common-obj-y += usb.o usb-hub.o usb-$(HOST_USB).o usb-hid.o usb-msd.o usb-wacom.o
|
|
common-obj-y += usb-serial.o usb-net.o usb-bus.o usb-desc.o
|
|
common-obj-$(CONFIG_SSI) += ssi.o
|
|
common-obj-$(CONFIG_SSI_SD) += ssi-sd.o
|
|
common-obj-$(CONFIG_SD) += sd.o
|
|
common-obj-y += bt.o bt-host.o bt-vhci.o bt-l2cap.o bt-sdp.o bt-hci.o bt-hid.o usb-bt.o
|
|
common-obj-y += bt-hci-csr.o
|
|
common-obj-y += buffered_file.o migration.o migration-tcp.o qemu-sockets.o
|
|
common-obj-y += qemu-char.o savevm.o #aio.o
|
|
common-obj-y += msmouse.o ps2.o
|
|
common-obj-y += qdev.o qdev-properties.o
|
|
common-obj-y += block-migration.o iohandler.o
|
|
common-obj-y += pflib.o
|
|
common-obj-y += bitmap.o bitops.o
|
|
|
|
common-obj-$(CONFIG_BRLAPI) += baum.o
|
|
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
|
|
common-obj-$(CONFIG_WIN32) += version.o
|
|
|
|
common-obj-$(CONFIG_SPICE) += ui/spice-core.o ui/spice-input.o ui/spice-display.o spice-qemu-char.o
|
|
|
|
audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
|
|
audio-obj-$(CONFIG_SDL) += sdlaudio.o
|
|
audio-obj-$(CONFIG_OSS) += ossaudio.o
|
|
audio-obj-$(CONFIG_SPICE) += spiceaudio.o
|
|
audio-obj-$(CONFIG_COREAUDIO) += coreaudio.o
|
|
audio-obj-$(CONFIG_ALSA) += alsaaudio.o
|
|
audio-obj-$(CONFIG_DSOUND) += dsoundaudio.o
|
|
audio-obj-$(CONFIG_FMOD) += fmodaudio.o
|
|
audio-obj-$(CONFIG_ESD) += esdaudio.o
|
|
audio-obj-$(CONFIG_PA) += paaudio.o
|
|
audio-obj-$(CONFIG_WINWAVE) += winwaveaudio.o
|
|
audio-obj-$(CONFIG_AUDIO_PT_INT) += audio_pt_int.o
|
|
audio-obj-$(CONFIG_AUDIO_WIN_INT) += audio_win_int.o
|
|
audio-obj-y += wavcapture.o
|
|
common-obj-y += $(addprefix audio/, $(audio-obj-y))
|
|
|
|
ui-obj-y += keymaps.o
|
|
ui-obj-$(CONFIG_SDL) += sdl.o sdl_zoom.o x_keymap.o
|
|
ui-obj-$(CONFIG_CURSES) += curses.o
|
|
vnc-obj-y += vnc.o d3des.o
|
|
vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
|
|
vnc-obj-y += vnc-enc-tight.o vnc-palette.o
|
|
vnc-obj-y += vnc-enc-zrle.o
|
|
vnc-obj-$(CONFIG_VNC_TLS) += vnc-tls.o vnc-auth-vencrypt.o
|
|
vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
|
|
vnc-obj-$(CONFIG_COCOA) += cocoa.o
|
|
ifdef CONFIG_VNC_THREAD
|
|
vnc-obj-y += vnc-jobs-async.o
|
|
else
|
|
vnc-obj-y += vnc-jobs-sync.o
|
|
endif
|
|
common-obj-y += $(addprefix ui/, $(ui-obj-y))
|
|
common-obj-$(CONFIG_VNC) += $(addprefix ui/, $(vnc-obj-y))
|
|
|
|
common-obj-y += iov.o acl.o
|
|
common-obj-$(CONFIG_POSIX) += qemu-thread-posix.o compatfd.o
|
|
common-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
|
|
common-obj-y += notify.o event_notifier.o
|
|
common-obj-y += qemu-timer.o qemu-timer-common.o
|
|
|
|
slirp-obj-y = cksum.o if.o ip_icmp.o ip_input.o ip_output.o
|
|
slirp-obj-y += slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o
|
|
slirp-obj-y += tcp_subr.o tcp_timer.o udp.o bootp.o tftp.o
|
|
common-obj-$(CONFIG_SLIRP) += $(addprefix slirp/, $(slirp-obj-y))
|
|
|
|
# xen backend driver support
|
|
common-obj-$(CONFIG_XEN) += xen_backend.o xen_devconfig.o
|
|
common-obj-$(CONFIG_XEN) += xen_console.o xenfb.o xen_disk.o xen_nic.o
|
|
|
|
######################################################################
|
|
# libuser
|
|
|
|
user-obj-y =
|
|
user-obj-y += envlist.o path.o
|
|
user-obj-y += tcg-runtime.o host-utils.o
|
|
user-obj-y += cutils.o cache-utils.o
|
|
|
|
######################################################################
|
|
# libhw
|
|
|
|
hw-obj-y =
|
|
hw-obj-y += vl.o loader.o
|
|
hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
|
|
hw-obj-y += fw_cfg.o
|
|
hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
|
|
hw-obj-$(CONFIG_PCI) += msix.o msi.o
|
|
hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
|
|
hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
|
|
hw-obj-y += watchdog.o
|
|
hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
|
|
hw-obj-$(CONFIG_ECC) += ecc.o
|
|
hw-obj-$(CONFIG_NAND) += nand.o
|
|
hw-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
|
|
hw-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
|
|
|
|
hw-obj-$(CONFIG_M48T59) += m48t59.o
|
|
hw-obj-$(CONFIG_ESCC) += escc.o
|
|
hw-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
|
|
|
|
hw-obj-$(CONFIG_SERIAL) += serial.o
|
|
hw-obj-$(CONFIG_PARALLEL) += parallel.o
|
|
hw-obj-$(CONFIG_I8254) += i8254.o
|
|
hw-obj-$(CONFIG_PCSPK) += pcspk.o
|
|
hw-obj-$(CONFIG_PCKBD) += pckbd.o
|
|
hw-obj-$(CONFIG_USB_UHCI) += usb-uhci.o
|
|
hw-obj-$(CONFIG_USB_OHCI) += usb-ohci.o
|
|
hw-obj-$(CONFIG_FDC) += fdc.o
|
|
hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
|
|
hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
|
|
hw-obj-$(CONFIG_DMA) += dma.o
|
|
hw-obj-$(CONFIG_HPET) += hpet.o
|
|
hw-obj-$(CONFIG_APPLESMC) += applesmc.o
|
|
hw-obj-$(CONFIG_SMARTCARD) += usb-ccid.o ccid-card-passthru.o
|
|
|
|
# PPC devices
|
|
hw-obj-$(CONFIG_OPENPIC) += openpic.o
|
|
hw-obj-$(CONFIG_PREP_PCI) += prep_pci.o
|
|
# Mac shared devices
|
|
hw-obj-$(CONFIG_MACIO) += macio.o
|
|
hw-obj-$(CONFIG_CUDA) += cuda.o
|
|
hw-obj-$(CONFIG_ADB) += adb.o
|
|
hw-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
|
|
hw-obj-$(CONFIG_MAC_DBDMA) += mac_dbdma.o
|
|
# OldWorld PowerMac
|
|
hw-obj-$(CONFIG_HEATHROW_PIC) += heathrow_pic.o
|
|
hw-obj-$(CONFIG_GRACKLE_PCI) += grackle_pci.o
|
|
# NewWorld PowerMac
|
|
hw-obj-$(CONFIG_UNIN_PCI) += unin_pci.o
|
|
hw-obj-$(CONFIG_DEC_PCI) += dec_pci.o
|
|
# PowerPC E500 boards
|
|
hw-obj-$(CONFIG_PPCE500_PCI) += ppce500_pci.o
|
|
|
|
# MIPS devices
|
|
hw-obj-$(CONFIG_PIIX4) += piix4.o
|
|
|
|
# PCI watchdog devices
|
|
hw-obj-$(CONFIG_PCI) += wdt_i6300esb.o
|
|
|
|
hw-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
|
|
|
|
# PCI network cards
|
|
hw-obj-$(CONFIG_NE2000_PCI) += ne2000.o
|
|
hw-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
|
|
hw-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
|
|
hw-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
|
|
hw-obj-$(CONFIG_E1000_PCI) += e1000.o
|
|
hw-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
|
|
|
|
hw-obj-$(CONFIG_SMC91C111) += smc91c111.o
|
|
hw-obj-$(CONFIG_LAN9118) += lan9118.o
|
|
hw-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
|
|
|
|
# IDE
|
|
hw-obj-$(CONFIG_IDE_CORE) += ide/core.o
|
|
hw-obj-$(CONFIG_IDE_QDEV) += ide/qdev.o
|
|
hw-obj-$(CONFIG_IDE_PCI) += ide/pci.o
|
|
hw-obj-$(CONFIG_IDE_ISA) += ide/isa.o
|
|
hw-obj-$(CONFIG_IDE_PIIX) += ide/piix.o
|
|
hw-obj-$(CONFIG_IDE_CMD646) += ide/cmd646.o
|
|
hw-obj-$(CONFIG_IDE_MACIO) += ide/macio.o
|
|
hw-obj-$(CONFIG_IDE_VIA) += ide/via.o
|
|
hw-obj-$(CONFIG_AHCI) += ide/ahci.o
|
|
hw-obj-$(CONFIG_AHCI) += ide/ich.o
|
|
|
|
# SCSI layer
|
|
hw-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
|
|
hw-obj-$(CONFIG_ESP) += esp.o
|
|
|
|
hw-obj-y += dma-helpers.o sysbus.o isa-bus.o
|
|
hw-obj-y += qdev-addr.o
|
|
|
|
# VGA
|
|
hw-obj-$(CONFIG_VGA_PCI) += vga-pci.o
|
|
hw-obj-$(CONFIG_VGA_ISA) += vga-isa.o
|
|
hw-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
|
|
hw-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
|
|
hw-obj-$(CONFIG_VMMOUSE) += vmmouse.o
|
|
|
|
hw-obj-$(CONFIG_RC4030) += rc4030.o
|
|
hw-obj-$(CONFIG_DP8393X) += dp8393x.o
|
|
hw-obj-$(CONFIG_DS1225Y) += ds1225y.o
|
|
hw-obj-$(CONFIG_MIPSNET) += mipsnet.o
|
|
|
|
# Sound
|
|
sound-obj-y =
|
|
sound-obj-$(CONFIG_SB16) += sb16.o
|
|
sound-obj-$(CONFIG_ES1370) += es1370.o
|
|
sound-obj-$(CONFIG_AC97) += ac97.o
|
|
sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
|
|
sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
|
|
sound-obj-$(CONFIG_CS4231A) += cs4231a.o
|
|
sound-obj-$(CONFIG_HDA) += intel-hda.o hda-audio.o
|
|
|
|
adlib.o fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
|
|
hw-obj-$(CONFIG_SOUND) += $(sound-obj-y)
|
|
|
|
hw-obj-$(CONFIG_REALLY_VIRTFS) += virtio-9p-debug.o
|
|
hw-obj-$(CONFIG_VIRTFS) += virtio-9p-local.o virtio-9p-xattr.o
|
|
hw-obj-$(CONFIG_VIRTFS) += virtio-9p-xattr-user.o virtio-9p-posix-acl.o
|
|
|
|
######################################################################
|
|
# libdis
|
|
# NOTE: the disassembler code is only needed for debugging
|
|
|
|
libdis-y =
|
|
libdis-$(CONFIG_ALPHA_DIS) += alpha-dis.o
|
|
libdis-$(CONFIG_ARM_DIS) += arm-dis.o
|
|
libdis-$(CONFIG_CRIS_DIS) += cris-dis.o
|
|
libdis-$(CONFIG_HPPA_DIS) += hppa-dis.o
|
|
libdis-$(CONFIG_I386_DIS) += i386-dis.o
|
|
libdis-$(CONFIG_IA64_DIS) += ia64-dis.o
|
|
libdis-$(CONFIG_M68K_DIS) += m68k-dis.o
|
|
libdis-$(CONFIG_MICROBLAZE_DIS) += microblaze-dis.o
|
|
libdis-$(CONFIG_MIPS_DIS) += mips-dis.o
|
|
libdis-$(CONFIG_PPC_DIS) += ppc-dis.o
|
|
libdis-$(CONFIG_S390_DIS) += s390-dis.o
|
|
libdis-$(CONFIG_SH4_DIS) += sh4-dis.o
|
|
libdis-$(CONFIG_SPARC_DIS) += sparc-dis.o
|
|
|
|
######################################################################
|
|
# trace
|
|
|
|
ifeq ($(TRACE_BACKEND),dtrace)
|
|
trace.h: trace.h-timestamp trace-dtrace.h
|
|
else
|
|
trace.h: trace.h-timestamp
|
|
endif
|
|
trace.h-timestamp: $(SRC_PATH)/trace-events config-host.mak
|
|
$(call quiet-command,sh $(SRC_PATH)/scripts/tracetool --$(TRACE_BACKEND) -h < $< > $@," GEN trace.h")
|
|
@cmp -s $@ trace.h || cp $@ trace.h
|
|
|
|
trace.c: trace.c-timestamp
|
|
trace.c-timestamp: $(SRC_PATH)/trace-events config-host.mak
|
|
$(call quiet-command,sh $(SRC_PATH)/scripts/tracetool --$(TRACE_BACKEND) -c < $< > $@," GEN trace.c")
|
|
@cmp -s $@ trace.c || cp $@ trace.c
|
|
|
|
trace.o: trace.c $(GENERATED_HEADERS)
|
|
|
|
trace-dtrace.h: trace-dtrace.dtrace
|
|
$(call quiet-command,dtrace -o $@ -h -s $<, " GEN trace-dtrace.h")
|
|
|
|
# Normal practice is to name DTrace probe file with a '.d' extension
|
|
# but that gets picked up by QEMU's Makefile as an external dependancy
|
|
# rule file. So we use '.dtrace' instead
|
|
trace-dtrace.dtrace: trace-dtrace.dtrace-timestamp
|
|
trace-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events config-host.mak
|
|
$(call quiet-command,sh $(SRC_PATH)/scripts/tracetool --$(TRACE_BACKEND) -d < $< > $@," GEN trace-dtrace.dtrace")
|
|
@cmp -s $@ trace-dtrace.dtrace || cp $@ trace-dtrace.dtrace
|
|
|
|
trace-dtrace.o: trace-dtrace.dtrace $(GENERATED_HEADERS)
|
|
$(call quiet-command,dtrace -o $@ -G -s $<, " GEN trace-dtrace.o")
|
|
|
|
simpletrace.o: simpletrace.c $(GENERATED_HEADERS)
|
|
|
|
ifeq ($(TRACE_BACKEND),dtrace)
|
|
trace-obj-y = trace-dtrace.o
|
|
else
|
|
trace-obj-y = trace.o
|
|
ifeq ($(TRACE_BACKEND),simple)
|
|
trace-obj-y += simpletrace.o
|
|
user-obj-y += qemu-timer-common.o
|
|
endif
|
|
endif
|
|
|
|
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
|
|
|
|
vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
|
|
|