Makefile.objs 13.1 KB
Newer Older
1 2 3 4 5 6
#######################################################################
# 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

7 8 9 10 11 12
#######################################################################
# 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

13 14 15
#######################################################################
# block-obj-y is code used by both qemu system emulation and qemu-img

16
block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o async.o
17
block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o qemu-progress.o qemu-sockets.o
18 19 20
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o

21
block-nested-y += raw.o cow.o qcow.o vdi.o vmdk.o cloop.o dmg.o bochs.o vpc.o vvfat.o
K
Kevin Wolf 已提交
22
block-nested-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o
23
block-nested-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o
S
Stefan Hajnoczi 已提交
24
block-nested-y += qed-check.o
25
block-nested-y += parallels.o nbd.o blkdebug.o sheepdog.o blkverify.o
26 27 28
block-nested-$(CONFIG_WIN32) += raw-win32.o
block-nested-$(CONFIG_POSIX) += raw-posix.o
block-nested-$(CONFIG_CURL) += curl.o
29
block-nested-$(CONFIG_RBD) += rbd.o
30 31 32 33 34 35 36 37 38 39 40 41 42

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
A
Andreas Färber 已提交
43
net-nested-$(CONFIG_HAIKU) += tap-haiku.o
44 45 46 47
net-nested-$(CONFIG_SLIRP) += slirp.o
net-nested-$(CONFIG_VDE) += vde.o
net-obj-y += $(addprefix net/, $(net-nested-y))

P
Paul Brook 已提交
48 49 50 51 52
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
53 54
fsdev-nested-$(CONFIG_VIRTFS) = qemu-fsdev.o
fsdev-obj-$(CONFIG_VIRTFS) += $(addprefix fsdev/, $(fsdev-nested-y))
55

56 57 58 59 60 61
######################################################################
# 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.

62
common-obj-y = $(block-obj-y) blockdev.o
63 64
common-obj-y += $(net-obj-y)
common-obj-y += $(qobject-obj-y)
65
common-obj-$(CONFIG_LINUX) += $(fsdev-obj-$(CONFIG_LINUX))
66
common-obj-y += readline.o console.o cursor.o qemu-error.o
67
common-obj-y += $(oslib-obj-y)
68 69
common-obj-$(CONFIG_WIN32) += os-win32.o
common-obj-$(CONFIG_POSIX) += os-posix.o
G
Gerd Hoffmann 已提交
70

71
common-obj-y += tcg-runtime.o host-utils.o
72
common-obj-y += irq.o ioport.o input.o
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
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
91
common-obj-y += usb-serial.o usb-net.o usb-bus.o usb-desc.o
92 93 94 95 96
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
97
common-obj-y += buffered_file.o migration.o migration-tcp.o
98 99 100
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
101
common-obj-y += block-migration.o iohandler.o
102
common-obj-y += pflib.o
103
common-obj-y += bitmap.o bitops.o
104 105 106

common-obj-$(CONFIG_BRLAPI) += baum.o
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
107
common-obj-$(CONFIG_WIN32) += version.o
108

A
Alon Levy 已提交
109
common-obj-$(CONFIG_SPICE) += ui/spice-core.o ui/spice-input.o ui/spice-display.o spice-qemu-char.o
G
Gerd Hoffmann 已提交
110

111 112 113
audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
audio-obj-$(CONFIG_SDL) += sdlaudio.o
audio-obj-$(CONFIG_OSS) += ossaudio.o
G
Gerd Hoffmann 已提交
114
audio-obj-$(CONFIG_SPICE) += spiceaudio.o
115 116 117 118 119 120 121 122 123 124 125 126
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))

127 128 129
ui-obj-y += keymaps.o
ui-obj-$(CONFIG_SDL) += sdl.o sdl_zoom.o x_keymap.o
ui-obj-$(CONFIG_CURSES) += curses.o
J
Jes Sorensen 已提交
130 131 132 133 134 135 136
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
C
Corentin Chary 已提交
137
ifdef CONFIG_VNC_THREAD
J
Jes Sorensen 已提交
138
vnc-obj-y += vnc-jobs-async.o
C
Corentin Chary 已提交
139
else
J
Jes Sorensen 已提交
140
vnc-obj-y += vnc-jobs-sync.o
C
Corentin Chary 已提交
141
endif
142
common-obj-y += $(addprefix ui/, $(ui-obj-y))
J
Jes Sorensen 已提交
143
common-obj-$(CONFIG_VNC) += $(addprefix ui/, $(vnc-obj-y))
144 145

common-obj-y += iov.o acl.o
146 147
common-obj-$(CONFIG_POSIX) += qemu-thread-posix.o compatfd.o
common-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
B
Blue Swirl 已提交
148
common-obj-y += notify.o event_notifier.o
149
common-obj-y += qemu-timer.o qemu-timer-common.o
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171

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 =
B
Blue Swirl 已提交
172
hw-obj-y += vl.o loader.o
P
Paul Brook 已提交
173
hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
P
Paul Brook 已提交
174
hw-obj-y += fw_cfg.o
175
hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
176
hw-obj-$(CONFIG_PCI) += msix.o msi.o
P
Paul Brook 已提交
177 178
hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
179
hw-obj-y += watchdog.o
B
Blue Swirl 已提交
180
hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
181 182
hw-obj-$(CONFIG_ECC) += ecc.o
hw-obj-$(CONFIG_NAND) += nand.o
B
Blue Swirl 已提交
183
hw-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
B
Blue Swirl 已提交
184
hw-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
185 186 187

hw-obj-$(CONFIG_M48T59) += m48t59.o
hw-obj-$(CONFIG_ESCC) += escc.o
188
hw-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
189

B
Blue Swirl 已提交
190
hw-obj-$(CONFIG_SERIAL) += serial.o
B
Blue Swirl 已提交
191
hw-obj-$(CONFIG_PARALLEL) += parallel.o
B
Blue Swirl 已提交
192
hw-obj-$(CONFIG_I8254) += i8254.o
B
Blue Swirl 已提交
193
hw-obj-$(CONFIG_PCSPK) += pcspk.o
B
Blue Swirl 已提交
194
hw-obj-$(CONFIG_PCKBD) += pckbd.o
B
Blue Swirl 已提交
195
hw-obj-$(CONFIG_USB_UHCI) += usb-uhci.o
196
hw-obj-$(CONFIG_USB_OHCI) += usb-ohci.o
B
Blue Swirl 已提交
197
hw-obj-$(CONFIG_FDC) += fdc.o
198 199
hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
B
Blue Swirl 已提交
200
hw-obj-$(CONFIG_DMA) += dma.o
B
Blue Swirl 已提交
201
hw-obj-$(CONFIG_HPET) += hpet.o
B
Blue Swirl 已提交
202
hw-obj-$(CONFIG_APPLESMC) += applesmc.o
A
Alon Levy 已提交
203
hw-obj-$(CONFIG_SMARTCARD) += usb-ccid.o ccid-card-passthru.o
A
Alon Levy 已提交
204
hw-obj-$(CONFIG_SMARTCARD_NSS) += ccid-card-emulated.o
B
Blue Swirl 已提交
205 206

# PPC devices
B
Blue Swirl 已提交
207
hw-obj-$(CONFIG_OPENPIC) += openpic.o
B
Blue Swirl 已提交
208
hw-obj-$(CONFIG_PREP_PCI) += prep_pci.o
B
Blue Swirl 已提交
209 210 211 212 213 214 215 216 217 218 219 220 221 222
# 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
B
Blue Swirl 已提交
223

B
Blue Swirl 已提交
224 225 226
# MIPS devices
hw-obj-$(CONFIG_PIIX4) += piix4.o

227
# PCI watchdog devices
P
Paul Brook 已提交
228
hw-obj-$(CONFIG_PCI) += wdt_i6300esb.o
229

230
hw-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
231 232

# PCI network cards
P
Paul Brook 已提交
233 234
hw-obj-$(CONFIG_NE2000_PCI) += ne2000.o
hw-obj-$(CONFIG_EEPRO100_PCI) += eepro100.o
P
Paul Brook 已提交
235 236
hw-obj-$(CONFIG_PCNET_PCI) += pcnet-pci.o
hw-obj-$(CONFIG_PCNET_COMMON) += pcnet.o
A
Alexander Graf 已提交
237
hw-obj-$(CONFIG_E1000_PCI) += e1000.o
A
Alexander Graf 已提交
238
hw-obj-$(CONFIG_RTL8139_PCI) += rtl8139.o
239 240 241

hw-obj-$(CONFIG_SMC91C111) += smc91c111.o
hw-obj-$(CONFIG_LAN9118) += lan9118.o
B
Blue Swirl 已提交
242
hw-obj-$(CONFIG_NE2000_ISA) += ne2000-isa.o
243

B
Blue Swirl 已提交
244
# IDE
K
Kevin Wolf 已提交
245
hw-obj-$(CONFIG_IDE_CORE) += ide/core.o ide/atapi.o
B
Blue Swirl 已提交
246 247 248 249 250
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
B
Blue Swirl 已提交
251
hw-obj-$(CONFIG_IDE_MACIO) += ide/macio.o
252
hw-obj-$(CONFIG_IDE_VIA) += ide/via.o
A
Alexander Graf 已提交
253
hw-obj-$(CONFIG_AHCI) += ide/ahci.o
S
Sebastian Herbszt 已提交
254
hw-obj-$(CONFIG_AHCI) += ide/ich.o
B
Blue Swirl 已提交
255

256
# SCSI layer
P
Paul Brook 已提交
257
hw-obj-$(CONFIG_LSI_SCSI_PCI) += lsi53c895a.o
258 259 260
hw-obj-$(CONFIG_ESP) += esp.o

hw-obj-y += dma-helpers.o sysbus.o isa-bus.o
P
Paul Brook 已提交
261
hw-obj-y += qdev-addr.o
B
Blue Swirl 已提交
262

B
Blue Swirl 已提交
263 264
# VGA
hw-obj-$(CONFIG_VGA_PCI) += vga-pci.o
B
Blue Swirl 已提交
265
hw-obj-$(CONFIG_VGA_ISA) += vga-isa.o
B
Blue Swirl 已提交
266
hw-obj-$(CONFIG_VGA_ISA_MM) += vga-isa-mm.o
B
Blue Swirl 已提交
267
hw-obj-$(CONFIG_VMWARE_VGA) += vmware_vga.o
B
Blue Swirl 已提交
268
hw-obj-$(CONFIG_VMMOUSE) += vmmouse.o
B
Blue Swirl 已提交
269 270 271 272 273

hw-obj-$(CONFIG_RC4030) += rc4030.o
hw-obj-$(CONFIG_DP8393X) += dp8393x.o
hw-obj-$(CONFIG_DS1225Y) += ds1225y.o
hw-obj-$(CONFIG_MIPSNET) += mipsnet.o
B
Blue Swirl 已提交
274

B
Blue Swirl 已提交
275 276 277 278 279 280 281 282
# 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
283
sound-obj-$(CONFIG_HDA) += intel-hda.o hda-audio.o
B
Blue Swirl 已提交
284 285 286 287

adlib.o fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
hw-obj-$(CONFIG_SOUND) += $(sound-obj-y)

288
9pfs-nested-$(CONFIG_REALLY_VIRTFS) = virtio-9p-debug.o
289 290 291
9pfs-nested-$(CONFIG_VIRTFS) +=  virtio-9p-local.o virtio-9p-xattr.o
9pfs-nested-$(CONFIG_VIRTFS) +=   virtio-9p-xattr-user.o virtio-9p-posix-acl.o

292
hw-obj-$(CONFIG_VIRTFS) += $(addprefix 9pfs/, $(9pfs-nested-y))
293 294
$(addprefix 9pfs/, $(9pfs-nested-y)): CFLAGS +=  -I$(SRC_PATH)/hw/

295

B
Blue Swirl 已提交
296 297 298 299 300 301 302 303 304 305
######################################################################
# 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
A
Aurelien Jarno 已提交
306
libdis-$(CONFIG_IA64_DIS) += ia64-dis.o
B
Blue Swirl 已提交
307 308 309 310 311 312 313
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
314

315 316 317
######################################################################
# trace

318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349
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)

350 351 352
ifeq ($(TRACE_BACKEND),dtrace)
trace-obj-y = trace-dtrace.o
else
353
trace-obj-y = trace.o
354 355
ifeq ($(TRACE_BACKEND),simple)
trace-obj-y += simpletrace.o
356
user-obj-y += qemu-timer-common.o
357
endif
358
endif
359

R
Robert Relyea 已提交
360 361 362 363 364
######################################################################
# smartcard

libcacard-y = cac.o event.o vcard.o vreader.o vcard_emul_nss.o vcard_emul_type.o card_7816.o

365 366 367 368
vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)

vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)