blob: fefd7acd6ecab22d0d5c7af9c6c1d7c5a2e7e86b [file] [log] [blame]
Anthony Liguori562593a2009-08-04 08:24:23 -05001# -*- Mode: makefile -*-
2
Juan Quinteladeed3cc2009-10-07 02:40:57 +02003include ../config-host.mak
Juan Quintela1f3d3c82009-10-07 02:41:02 +02004include config-devices.mak
Juan Quintela25be210f2009-10-07 02:41:00 +02005include config-target.mak
aliguori17759182009-01-21 18:12:52 +00006include $(SRC_PATH)/rules.mak
bellard626df762003-08-10 21:39:31 +00007
bellard0b0babc2005-01-03 23:38:40 +00008TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
bellard4fb240a2007-11-07 19:24:02 +00009VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw
Juan Quintela6c903612009-08-03 14:46:23 +020010QEMU_CFLAGS+= -I.. -I$(TARGET_PATH) -DNEED_CPU_H
bellard1e43adf2003-09-30 20:54:24 +000011
bellard16e9b7d2003-10-27 21:09:52 +000012ifdef CONFIG_USER_ONLY
bellard40293e52008-01-31 11:32:10 +000013# user emulator name
14QEMU_PROG=qemu-$(TARGET_ARCH2)
bellard16e9b7d2003-10-27 21:09:52 +000015else
bellard40293e52008-01-31 11:32:10 +000016# system emulator name
17ifeq ($(TARGET_ARCH), i386)
18QEMU_PROG=qemu$(EXESUF)
19else
20QEMU_PROG=qemu-system-$(TARGET_ARCH2)$(EXESUF)
bellardde5eaa62003-11-16 23:18:17 +000021endif
bellard40293e52008-01-31 11:32:10 +000022endif
bellard728c9fd2004-01-05 00:08:14 +000023
bellard40293e52008-01-31 11:32:10 +000024PROGS=$(QEMU_PROG)
bellard626df762003-08-10 21:39:31 +000025
bellard626df762003-08-10 21:39:31 +000026LIBS+=-lm
27
Juan Quintelab248a852009-08-03 14:46:54 +020028kvm.o kvm-all.o: QEMU_CFLAGS+=$(KVM_CFLAGS)
aliguori7ba1e612008-11-05 16:04:33 +000029
Juan Quintela91880d92009-10-07 02:41:01 +020030config-target.h: config-target.h-timestamp
31config-target.h-timestamp: config-target.mak
32
Juan Quintelafe0d4d32009-10-07 02:41:03 +020033config-devices.h: config-devices.h-timestamp
34config-devices.h-timestamp: config-devices.mak
35
36all: config-target.h config-devices.h
Juan Quintela91880d92009-10-07 02:41:01 +020037 $(call quiet-command, $(MAKE) $(PROGS),)
38
Paul Brookc2fb2632009-05-25 18:54:53 +010039# Dummy command so that make thinks it has done something
40 @true
bellard626df762003-08-10 21:39:31 +000041
bellard40293e52008-01-31 11:32:10 +000042#########################################################
bellard626df762003-08-10 21:39:31 +000043# cpu emulator library
Blue Swirlc2b023b2009-09-20 19:20:05 +000044libobj-y = exec.o translate-all.o cpu-exec.o translate.o
Blue Swirl96e132e2009-09-20 19:06:34 +000045libobj-y += tcg/tcg.o
Juan Quintelad6b38932009-08-03 14:46:42 +020046libobj-$(CONFIG_SOFTFLOAT) += fpu/softfloat.o
47libobj-$(CONFIG_NOSOFTFLOAT) += fpu/softfloat-native.o
Juan Quintelac9e0df72009-06-25 00:08:00 +020048libobj-y += op_helper.o helper.o
Juan Quintela471857d2009-08-03 14:46:52 +020049libobj-$(CONFIG_NEED_MMU) += mmu.o
Juan Quintelae18ea862009-08-03 14:47:04 +020050libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
51libobj-$(TARGET_ALPHA) += alpha_palcode.o
j_mayercf6c1b12007-04-05 20:46:02 +000052
bellard626df762003-08-10 21:39:31 +000053# NOTE: the disassembler code is only needed for debugging
Juan Quintelac9e0df72009-06-25 00:08:00 +020054libobj-y += disas.o
Juan Quintela64656022009-08-03 14:46:53 +020055libobj-$(CONFIG_ALPHA_DIS) += alpha-dis.o
56libobj-$(CONFIG_ARM_DIS) += arm-dis.o
57libobj-$(CONFIG_CRIS_DIS) += cris-dis.o
58libobj-$(CONFIG_HPPA_DIS) += hppa-dis.o
59libobj-$(CONFIG_I386_DIS) += i386-dis.o
60libobj-$(CONFIG_M68K_DIS) += m68k-dis.o
61libobj-$(CONFIG_MICROBLAZE_DIS) += microblaze-dis.o
62libobj-$(CONFIG_MIPS_DIS) += mips-dis.o
63libobj-$(CONFIG_PPC_DIS) += ppc-dis.o
64libobj-$(CONFIG_S390_DIS) += s390-dis.o
65libobj-$(CONFIG_SH4_DIS) += sh4-dis.o
66libobj-$(CONFIG_SPARC_DIS) += sparc-dis.o
bellard626df762003-08-10 21:39:31 +000067
bellard40293e52008-01-31 11:32:10 +000068# libqemu
69
Juan Quintelac9e0df72009-06-25 00:08:00 +020070libqemu.a: $(libobj-y)
bellard40293e52008-01-31 11:32:10 +000071
aurel3286e840e2008-12-07 15:21:23 +000072translate.o: translate.c cpu.h
bellard40293e52008-01-31 11:32:10 +000073
aurel3286e840e2008-12-07 15:21:23 +000074translate-all.o: translate-all.c cpu.h
bellard40293e52008-01-31 11:32:10 +000075
aurel3286e840e2008-12-07 15:21:23 +000076tcg/tcg.o: cpu.h
bellard40293e52008-01-31 11:32:10 +000077
78# HELPER_CFLAGS is used for all the code compiled with static register
79# variables
Juan Quintela864de242009-08-03 14:46:55 +020080op_helper.o cpu-exec.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
bellard40293e52008-01-31 11:32:10 +000081
Juan Quintelac81da562009-08-03 14:46:24 +020082# Note: this is a workaround. The real fix is to avoid compiling
83# cpu_signal_handler() in cpu-exec.c.
84signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
85
bellard40293e52008-01-31 11:32:10 +000086#########################################################
87# Linux user emulator target
88
89ifdef CONFIG_LINUX_USER
90
aurel323ebdd112008-04-09 06:53:01 +000091VPATH+=:$(SRC_PATH)/linux-user:$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR)
Juan Quintelaa558ee12009-08-03 14:46:21 +020092QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR)
Blue Swirl37022082009-08-15 07:51:59 +000093obj-y = main.o syscall.o strace.o mmap.o signal.o thunk.o \
Juan Quintela3d0f1512009-10-07 02:41:04 +020094 elfload.o linuxload.o uaccess.o gdbstub.o
Blue Swirl5ba65312009-08-15 07:52:19 +000095
Juan Quintela943e0a32009-06-25 00:08:10 +020096obj-$(TARGET_HAS_BFLT) += flatload.o
Juan Quintela943e0a32009-06-25 00:08:10 +020097obj-$(TARGET_HAS_ELFLOAD32) += elfload32.o
bellard40293e52008-01-31 11:32:10 +000098
Juan Quintelae18ea862009-08-03 14:47:04 +020099obj-$(TARGET_I386) += vm86.o
Juan Quintela1c872672009-07-16 18:34:03 +0200100
Blue Swirle27b27b2009-08-16 07:39:33 +0000101obj-i386-y += ioport-user.o
Blue Swirl5ba65312009-08-15 07:52:19 +0000102
Juan Quintelaed69c302009-08-03 14:47:01 +0200103nwfpe-obj-y = fpa11.o fpa11_cpdo.o fpa11_cpdt.o fpa11_cprt.o fpopcode.o
Juan Quintela9c1dd992009-07-16 17:57:04 +0200104nwfpe-obj-y += single_cpdo.o double_cpdo.o extended_cpdo.o
Juan Quintela1c872672009-07-16 18:34:03 +0200105obj-arm-y += $(addprefix nwfpe/, $(nwfpe-obj-y))
106obj-arm-y += arm-semi.o
107
108obj-m68k-y += m68k-sim.o m68k-semi.o
bellard40293e52008-01-31 11:32:10 +0000109
Blue Swirladd16152009-09-27 16:26:02 +0000110ARLIBS=../libuser/libuser.a libqemu.a
111
bellard40293e52008-01-31 11:32:10 +0000112endif #CONFIG_LINUX_USER
113
114#########################################################
115# Darwin user emulator target
116
117ifdef CONFIG_DARWIN_USER
118
119VPATH+=:$(SRC_PATH)/darwin-user
Juan Quintelaa558ee12009-08-03 14:46:21 +0200120QEMU_CFLAGS+=-I$(SRC_PATH)/darwin-user -I$(SRC_PATH)/darwin-user/$(TARGET_ARCH)
bellard40293e52008-01-31 11:32:10 +0000121
122# Leave some space for the regular program loading zone
123LDFLAGS+=-Wl,-segaddr,__STD_PROG_ZONE,0x1000 -image_base 0x0e000000
124
125LIBS+=-lmx
126
Juan Quintelaa8e492c2009-06-25 00:08:01 +0200127obj-y = main.o commpage.o machload.o mmap.o signal.o syscall.o thunk.o \
Juan Quintela3d0f1512009-10-07 02:41:04 +0200128 gdbstub.o
Blue Swirl5ba65312009-08-15 07:52:19 +0000129
Blue Swirle27b27b2009-08-16 07:39:33 +0000130obj-i386-y += ioport-user.o
bellard40293e52008-01-31 11:32:10 +0000131
Blue Swirladd16152009-09-27 16:26:02 +0000132ARLIBS=../libuser/libuser.a libqemu.a
bellard40293e52008-01-31 11:32:10 +0000133
134endif #CONFIG_DARWIN_USER
135
136#########################################################
blueswir184778502008-10-26 20:33:16 +0000137# BSD user emulator target
138
139ifdef CONFIG_BSD_USER
140
141VPATH+=:$(SRC_PATH)/bsd-user
Juan Quintelaa558ee12009-08-03 14:46:21 +0200142QEMU_CFLAGS+=-I$(SRC_PATH)/bsd-user -I$(SRC_PATH)/bsd-user/$(TARGET_ARCH)
blueswir184778502008-10-26 20:33:16 +0000143
Blue Swirl37022082009-08-15 07:51:59 +0000144obj-y = main.o bsdload.o elfload.o mmap.o signal.o strace.o syscall.o \
Juan Quintela3d0f1512009-10-07 02:41:04 +0200145 gdbstub.o uaccess.o
Blue Swirl5ba65312009-08-15 07:52:19 +0000146
Blue Swirle27b27b2009-08-16 07:39:33 +0000147obj-i386-y += ioport-user.o
blueswir184778502008-10-26 20:33:16 +0000148
Blue Swirladd16152009-09-27 16:26:02 +0000149ARLIBS=../libuser/libuser.a libqemu.a
blueswir184778502008-10-26 20:33:16 +0000150
151endif #CONFIG_BSD_USER
152
153#########################################################
bellard40293e52008-01-31 11:32:10 +0000154# System emulator target
Juan Quintela76dfdd22009-08-03 14:46:41 +0200155ifdef CONFIG_SOFTMMU
bellard40293e52008-01-31 11:32:10 +0000156
Kevin Wolf4f999d02009-10-22 17:54:37 +0200157obj-y = vl.o async.o monitor.o pci.o machine.o gdbstub.o
aliguori1fd31ad2008-12-18 01:56:22 +0000158# virtio has to be here due to weird dependency between PCI and virtio-net.
159# need to fix this properly
Michael S. Tsirkin3987e1c2009-08-10 22:30:24 +0300160obj-y += virtio-blk.o virtio-balloon.o virtio-net.o virtio-console.o virtio-pci.o
Juan Quintelaa8e492c2009-06-25 00:08:01 +0200161obj-$(CONFIG_KVM) += kvm.o kvm-all.o
Juan Quintela185c66c2009-10-07 02:41:06 +0200162obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
bellard40293e52008-01-31 11:32:10 +0000163LIBS+=-lz
bellard4fb240a2007-11-07 19:24:02 +0000164
Juan Quintelab6271b42009-06-25 00:08:12 +0200165sound-obj-y =
166sound-obj-$(CONFIG_SB16) += sb16.o
167sound-obj-$(CONFIG_ES1370) += es1370.o
168sound-obj-$(CONFIG_AC97) += ac97.o
169sound-obj-$(CONFIG_ADLIB) += fmopl.o adlib.o
170sound-obj-$(CONFIG_GUS) += gus.o gusemu_hal.o gusemu_mixer.o
malc57a943c2009-06-30 18:46:46 +0400171sound-obj-$(CONFIG_CS4231A) += cs4231a.o
Juan Quintelab6271b42009-06-25 00:08:12 +0200172
Juan Quintelaed69c302009-08-03 14:47:01 +0200173adlib.o fmopl.o: QEMU_CFLAGS += -DBUILD_Y8950=0
bellard85571bc2004-11-07 18:04:02 +0000174
Juan Quintelaa558ee12009-08-03 14:46:21 +0200175QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
Juan Quintelaa558ee12009-08-03 14:46:21 +0200176QEMU_CFLAGS += $(VNC_SASL_CFLAGS)
aliguori2f9606b2009-03-06 20:27:28 +0000177
aliguorie37630c2009-04-22 15:19:10 +0000178# xen backend driver support
Juan Quintela943e0a32009-06-25 00:08:10 +0200179obj-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o
aliguorie37630c2009-04-22 15:19:10 +0000180
bellarda594cfb2005-11-06 16:13:29 +0000181# USB layer
Juan Quintela64257582009-10-07 02:41:05 +0200182obj-$(CONFIG_USB_OHCI) += usb-ohci.o
bellarda594cfb2005-11-06 16:13:29 +0000183
pbrooka41b2ff2006-02-05 04:14:41 +0000184# PCI network cards
Juan Quintelaa8e492c2009-06-25 00:08:01 +0200185obj-y += eepro100.o
Juan Quintelaa8e492c2009-06-25 00:08:01 +0200186obj-y += pcnet.o
187obj-y += rtl8139.o
188obj-y += e1000.o
pbrooka41b2ff2006-02-05 04:14:41 +0000189
bellarda541f292004-04-12 20:39:29 +0000190# Hardware support
Juan Quintela4c3df0e2009-10-07 16:56:24 +0200191obj-i386-y = ide/core.o ide/qdev.o ide/isa.o ide/pci.o ide/piix.o
Gerd Hoffmannfeef3102009-09-15 20:04:24 +0000192obj-i386-y += pckbd.o $(sound-obj-y) dma.o
Juan Quintela76323912009-08-31 16:07:16 +0200193obj-i386-y += vga.o vga-pci.o vga-isa.o
Juan Quintela96374432009-07-16 18:33:58 +0200194obj-i386-y += fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o
195obj-i386-y += cirrus_vga.o apic.o ioapic.o parallel.o acpi.o piix_pci.o
196obj-i386-y += usb-uhci.o vmmouse.o vmport.o vmware_vga.o hpet.o
Markus Armbruster09aaa162009-08-21 10:31:34 +0200197obj-i386-y += device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o
Gerd Hoffmann9453c5b2009-09-10 11:43:33 +0200198obj-i386-y += ne2000-isa.o
Juan Quintela96374432009-07-16 18:33:58 +0200199
Juan Quintela96374432009-07-16 18:33:58 +0200200# shared objects
Gerd Hoffmannfeef3102009-09-15 20:04:24 +0000201obj-ppc-y = ppc.o ide/core.o ide/qdev.o ide/isa.o ide/pci.o ide/macio.o
Juan Quintela4c3df0e2009-10-07 16:56:24 +0200202obj-ppc-y += ide/cmd646.o
Blue Swirl5c637a22009-09-14 18:34:54 +0000203obj-ppc-y += vga.o vga-pci.o $(sound-obj-y) dma.o openpic.o
Juan Quintela96374432009-07-16 18:33:58 +0200204# PREP target
205obj-ppc-y += pckbd.o serial.o i8259.o i8254.o fdc.o mc146818rtc.o
Gerd Hoffmann9453c5b2009-09-10 11:43:33 +0200206obj-ppc-y += prep_pci.o ppc_prep.o ne2000-isa.o
Juan Quintela96374432009-07-16 18:33:58 +0200207# Mac shared devices
208obj-ppc-y += macio.o cuda.o adb.o mac_nvram.o mac_dbdma.o
209# OldWorld PowerMac
210obj-ppc-y += heathrow_pic.o grackle_pci.o ppc_oldworld.o
211# NewWorld PowerMac
212obj-ppc-y += unin_pci.o ppc_newworld.o
213# PowerPC 4xx boards
214obj-ppc-y += pflash_cfi02.o ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o
215obj-ppc-y += ppc440.o ppc440_bamboo.o
216# PowerPC E500 boards
217obj-ppc-y += ppce500_pci.o ppce500_mpc8544ds.o
218obj-ppc-$(CONFIG_KVM) += kvm_ppc.o
Juan Quintela3f0855b2009-07-27 16:12:52 +0200219obj-ppc-$(CONFIG_FDT) += device_tree.o
Juan Quintela96374432009-07-16 18:33:58 +0200220
221obj-mips-y = mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
222obj-mips-y += mips_timer.o mips_int.o dma.o vga.o serial.o i8254.o i8259.o rc4030.o
Juan Quintela79b97bf2009-08-31 16:07:18 +0200223obj-mips-y += vga-pci.o vga-isa.o vga-isa-mm.o
Juan Quintela96374432009-07-16 18:33:58 +0200224obj-mips-y += g364fb.o jazz_led.o dp8393x.o
Juan Quintela4c3df0e2009-10-07 16:56:24 +0200225obj-mips-y += ide/core.o ide/qdev.o ide/isa.o ide/pci.o ide/piix.o
Gerd Hoffmannec820262009-08-20 15:22:19 +0200226obj-mips-y += gt64xxx.o pckbd.o fdc.o mc146818rtc.o usb-uhci.o acpi.o ds1225y.o
Blue Swirl5c637a22009-09-14 18:34:54 +0000227obj-mips-y += piix4.o parallel.o cirrus_vga.o pcspk.o $(sound-obj-y)
Gerd Hoffmann9453c5b2009-09-10 11:43:33 +0200228obj-mips-y += mipsnet.o ne2000-isa.o
Juan Quintela96374432009-07-16 18:33:58 +0200229obj-mips-y += pflash_cfi01.o
230obj-mips-y += vmware_vga.o
231
Juan Quintela96374432009-07-16 18:33:58 +0200232obj-microblaze-y = petalogix_s3adsp1800_mmu.o
Edgar E. Iglesias72b675c2009-05-20 21:17:31 +0200233
Juan Quintela96374432009-07-16 18:33:58 +0200234obj-microblaze-y += microblaze_pic_cpu.o
235obj-microblaze-y += xilinx_intc.o
236obj-microblaze-y += xilinx_timer.o
237obj-microblaze-y += xilinx_uartlite.o
238obj-microblaze-y += xilinx_ethlite.o
239
240obj-microblaze-y += pflash_cfi02.o
241
Juan Quintela3f0855b2009-07-27 16:12:52 +0200242obj-microblaze-$(CONFIG_FDT) += device_tree.o
Juan Quintela96374432009-07-16 18:33:58 +0200243
edgar_igl10c144e2009-01-07 12:19:50 +0000244# Boards
Juan Quintela96374432009-07-16 18:33:58 +0200245obj-cris-y = cris_pic_cpu.o etraxfs.o axis_dev88.o
edgar_igl10c144e2009-01-07 12:19:50 +0000246
247# IO blocks
Juan Quintela96374432009-07-16 18:33:58 +0200248obj-cris-y += etraxfs_dma.o
249obj-cris-y += etraxfs_pic.o
250obj-cris-y += etraxfs_eth.o
251obj-cris-y += etraxfs_timer.o
252obj-cris-y += etraxfs_ser.o
edgar_igle62b5b12008-03-14 01:04:24 +0000253
Juan Quintela96374432009-07-16 18:33:58 +0200254obj-cris-y += pflash_cfi02.o
255
bellard34751872005-07-02 14:31:34 +0000256ifeq ($(TARGET_ARCH), sparc64)
Gerd Hoffmannfeef3102009-09-15 20:04:24 +0000257obj-sparc-y = sun4u.o pckbd.o apb_pci.o
Juan Quintela4c3df0e2009-10-07 16:56:24 +0200258obj-sparc-y += ide/core.o ide/qdev.o ide/pci.o ide/cmd646.o
Juan Quintela47d37dd2009-08-31 16:07:15 +0200259obj-sparc-y += vga.o vga-pci.o
Juan Quintela96374432009-07-16 18:33:58 +0200260obj-sparc-y += fdc.o mc146818rtc.o serial.o
261obj-sparc-y += cirrus_vga.o parallel.o
bellard34751872005-07-02 14:31:34 +0000262else
Gerd Hoffmann94e1a912009-10-21 15:25:33 +0200263obj-sparc-y = sun4m.o lance.o tcx.o iommu.o slavio_intctl.o
Blue Swirl5c637a22009-09-14 18:34:54 +0000264obj-sparc-y += slavio_timer.o slavio_misc.o fdc.o sparc32_dma.o
Juan Quintela96374432009-07-16 18:33:58 +0200265obj-sparc-y += cs4231.o eccmemctl.o sbi.o sun4c_intctl.o
bellard34751872005-07-02 14:31:34 +0000266endif
Juan Quintela96374432009-07-16 18:33:58 +0200267
268obj-arm-y = integratorcp.o versatilepb.o smc91c111.o arm_pic.o arm_timer.o
269obj-arm-y += arm_boot.o pl011.o pl031.o pl050.o pl080.o pl110.o pl181.o pl190.o
270obj-arm-y += versatile_pci.o
271obj-arm-y += realview_gic.o realview.o arm_sysctl.o mpcore.o
272obj-arm-y += armv7m.o armv7m_nvic.o stellaris.o pl022.o stellaris_enet.o
273obj-arm-y += pl061.o
274obj-arm-y += arm-semi.o
275obj-arm-y += pxa2xx.o pxa2xx_pic.o pxa2xx_gpio.o pxa2xx_timer.o pxa2xx_dma.o
276obj-arm-y += pxa2xx_lcd.o pxa2xx_mmci.o pxa2xx_pcmcia.o pxa2xx_keypad.o
277obj-arm-y += pflash_cfi01.o gumstix.o
Blue Swirl5c637a22009-09-14 18:34:54 +0000278obj-arm-y += zaurus.o ide/core.o ide/microdrive.o serial.o spitz.o tosa.o tc6393xb.o
Juan Quintela96374432009-07-16 18:33:58 +0200279obj-arm-y += omap1.o omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o
280obj-arm-y += omap2.o omap_dss.o soc_dma.o
281obj-arm-y += omap_sx1.o palm.o tsc210x.o
282obj-arm-y += nseries.o blizzard.o onenand.o vga.o cbus.o tusb6010.o usb-musb.o
283obj-arm-y += mst_fpga.o mainstone.o
Andrzej Zaborowskief07b492009-08-23 15:44:15 +0200284obj-arm-y += musicpal.o pflash_cfi02.o bitbang_i2c.o marvell_88w8618_audio.o
Juan Quintela96374432009-07-16 18:33:58 +0200285obj-arm-y += framebuffer.o
286obj-arm-y += syborg.o syborg_fb.o syborg_interrupt.o syborg_keyboard.o
287obj-arm-y += syborg_serial.o syborg_timer.o syborg_pointer.o syborg_rtc.o
288obj-arm-y += syborg_virtio.o
289
Juan Quintela96374432009-07-16 18:33:58 +0200290obj-sh4-y = shix.o r2d.o sh7750.o sh7750_regnames.o tc58128.o
291obj-sh4-y += sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o serial.o
Blue Swirl5c637a22009-09-14 18:34:54 +0000292obj-sh4-y += ide/core.o ide/mmio.o
Juan Quintela96374432009-07-16 18:33:58 +0200293
294obj-m68k-y = an5206.o mcf5206.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o
295obj-m68k-y += m68k-semi.o dummy_m68k.o
296
Juan Quintelaf622d8a2009-08-03 14:47:10 +0200297main.o vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
bellard6e1b3e42006-08-17 17:41:26 +0000298
Juan Quintelaa558ee12009-08-03 14:46:21 +0200299vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
Anthony Liguori537fe2d2009-06-16 15:17:22 -0500300
blueswir15824d652009-03-28 06:44:27 +0000301vl.o: qemu-options.h
302
Blue Swirl23130862009-06-06 08:22:04 +0000303monitor.o: qemu-monitor.h
304
Juan Quintela16394482009-07-16 18:34:04 +0200305ARLIBS=../libqemu_common.a libqemu.a $(HWLIB)
bellard626df762003-08-10 21:39:31 +0000306
Juan Quintela76dfdd22009-08-03 14:46:41 +0200307endif # CONFIG_SOFTMMU
bellard00a67ba2006-10-28 12:19:07 +0000308
Juan Quintela3d0f1512009-10-07 02:41:04 +0200309obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
310
Juan Quintela16394482009-07-16 18:34:04 +0200311$(QEMU_PROG): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y) $(ARLIBS)
312 $(call LINK,$(obj-y) $(obj-$(TARGET_BASE_ARCH)-y))
313
314
pbrook56aebc82008-10-11 17:55:29 +0000315gdbstub-xml.c: $(TARGET_XML_FILES) feature_to_c.sh
aurel321aef4c52009-03-28 23:46:00 +0000316 $(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/feature_to_c.sh $@ $(TARGET_XML_FILES)," GEN $(TARGET_DIR)$@")
pbrook56aebc82008-10-11 17:55:29 +0000317
blueswir15824d652009-03-28 06:44:27 +0000318qemu-options.h: $(SRC_PATH)/qemu-options.hx
aliguori0d00e562009-04-05 17:40:46 +0000319 $(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@")
blueswir15824d652009-03-28 06:44:27 +0000320
Blue Swirl23130862009-06-06 08:22:04 +0000321qemu-monitor.h: $(SRC_PATH)/qemu-monitor.hx
322 $(call quiet-command,sh $(SRC_PATH)/hxtool -h < $< > $@," GEN $(TARGET_DIR)$@")
323
bellard626df762003-08-10 21:39:31 +0000324clean:
Blue Swirl23130862009-06-06 08:22:04 +0000325 rm -f *.o *.a *~ $(PROGS) nwfpe/*.o fpu/*.o
Juan Quintelabefb0312009-09-21 15:10:55 +0200326 rm -f *.d */*.d tcg/*.o ide/*.o
Blue Swirl23130862009-06-06 08:22:04 +0000327 rm -f qemu-options.h qemu-monitor.h gdbstub-xml.c
bellard1e43adf2003-09-30 20:54:24 +0000328
ths5fafdf22007-09-16 21:08:06 +0000329install: all
bellard9b14bb02004-03-26 22:43:34 +0000330ifneq ($(PROGS),)
aliguori1625af82009-04-05 17:41:02 +0000331 $(INSTALL) -m 755 $(STRIP_OPT) $(PROGS) "$(DESTDIR)$(bindir)"
bellard9b14bb02004-03-26 22:43:34 +0000332endif
bellard626df762003-08-10 21:39:31 +0000333
j_mayer2f96c282007-10-28 13:07:12 +0000334# Include automatically generated dependency files
335-include $(wildcard *.d */*.d)