LIBS+=-lwinmm -lws2_32 -liphlpapi
endif
-build-all: $(TOOLS) $(DOCS) recurse-all
+build-all: $(TOOLS) $(DOCS) roms recurse-all
config-host.mak: configure
ifneq ($(wildcard config-host.mak),)
recurse-all: $(SUBDIR_RULES)
#######################################################################
-# BLOCK_OBJS is code used by both qemu system emulation and qemu-img
+# block-obj-y is code used by both qemu system emulation and qemu-img
-BLOCK_OBJS=cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o
-BLOCK_OBJS+=block/cow.o block/qcow.o aes.o block/vmdk.o block/cloop.o
-BLOCK_OBJS+=block/dmg.o block/bochs.o block/vpc.o block/vvfat.o
-BLOCK_OBJS+=block/qcow2.o block/qcow2-refcount.o block/qcow2-cluster.o
-BLOCK_OBJS+=block/qcow2-snapshot.o
-BLOCK_OBJS+=block/parallels.o block/nbd.o
-BLOCK_OBJS+=nbd.o block.o aio.o
+block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o
+block-obj-y += block/cow.o block/qcow.o aes.o block/vmdk.o block/cloop.o
+block-obj-y += block/dmg.o block/bochs.o block/vpc.o block/vvfat.o
+block-obj-y += block/qcow2.o block/qcow2-refcount.o block/qcow2-cluster.o
+block-obj-y += block/qcow2-snapshot.o
+block-obj-y += block/parallels.o block/nbd.o
+block-obj-y += nbd.o block.o aio.o
ifdef CONFIG_WIN32
-BLOCK_OBJS += block/raw-win32.o
+block-obj-y += block/raw-win32.o
else
ifdef CONFIG_AIO
-BLOCK_OBJS += posix-aio-compat.o
+block-obj-y += posix-aio-compat.o
endif
-BLOCK_OBJS += block/raw-posix.o
+block-obj-y += block/raw-posix.o
endif
ifdef CONFIG_CURL
-BLOCK_OBJS += block/curl.o
+block-obj-y += block/curl.o
endif
######################################################################
# system emulation, i.e. a single QEMU executable should support all
# CPUs and machines.
-OBJS=$(BLOCK_OBJS)
+OBJS=$(block-obj-y)
OBJS+=readline.o console.o
OBJS+=irq.o ptimer.o
OBJS+=migration-exec.o
endif
-AUDIO_OBJS = audio.o noaudio.o wavaudio.o mixeng.o
+audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
ifdef CONFIG_SDL
-AUDIO_OBJS += sdlaudio.o
+audio-obj-y += sdlaudio.o
endif
ifdef CONFIG_OSS
-AUDIO_OBJS += ossaudio.o
+audio-obj-y += ossaudio.o
endif
ifdef CONFIG_COREAUDIO
-AUDIO_OBJS += coreaudio.o
+audio-obj-y += coreaudio.o
AUDIO_PT = yes
endif
ifdef CONFIG_ALSA
-AUDIO_OBJS += alsaaudio.o
+audio-obj-y += alsaaudio.o
endif
ifdef CONFIG_DSOUND
-AUDIO_OBJS += dsoundaudio.o
+audio-obj-y += dsoundaudio.o
endif
ifdef CONFIG_FMOD
-AUDIO_OBJS += fmodaudio.o
+audio-obj-y += fmodaudio.o
audio/audio.o audio/fmodaudio.o: CPPFLAGS := -I$(CONFIG_FMOD_INC) $(CPPFLAGS)
endif
ifdef CONFIG_ESD
AUDIO_PT = yes
AUDIO_PT_INT = yes
-AUDIO_OBJS += esdaudio.o
+audio-obj-y += esdaudio.o
endif
ifdef CONFIG_PA
AUDIO_PT = yes
AUDIO_PT_INT = yes
-AUDIO_OBJS += paaudio.o
+audio-obj-y += paaudio.o
endif
ifdef AUDIO_PT
LDFLAGS += -pthread
endif
ifdef AUDIO_PT_INT
-AUDIO_OBJS += audio_pt_int.o
+audio-obj-y += audio_pt_int.o
endif
-AUDIO_OBJS+= wavcapture.o
-OBJS+=$(addprefix audio/, $(AUDIO_OBJS))
+audio-obj-y += wavcapture.o
+OBJS+=$(addprefix audio/, $(audio-obj-y))
OBJS+=keymaps.o
ifdef CONFIG_SDL
-OBJS+=sdl.o x_keymap.o
+OBJS+=sdl.o sdl_zoom.o x_keymap.o
endif
ifdef CONFIG_CURSES
OBJS+=curses.o
CPPFLAGS+=-I$(SRC_PATH)/slirp
SLIRP_OBJS=cksum.o if.o ip_icmp.o ip_input.o ip_output.o \
slirp.o mbuf.o misc.o sbuf.o socket.o tcp_input.o tcp_output.o \
-tcp_subr.o tcp_timer.o udp.o bootp.o debug.o tftp.o
+tcp_subr.o tcp_timer.o udp.o bootp.o tftp.o
OBJS+=$(addprefix slirp/, $(SLIRP_OBJS))
endif
keymaps.o: keymaps.c keymaps.h
-sdl.o: sdl.c keymaps.h sdl_keysym.h
+sdl_zoom.o: sdl_zoom.c sdl_zoom.h sdl_zoom_template.h
+
+sdl.o: sdl.c keymaps.h sdl_keysym.h sdl_zoom.h
sdl.o audio/sdlaudio.o baum.o: CFLAGS += $(SDL_CFLAGS)
qemu-img.o: qemu-img-cmds.h
-qemu-img$(EXESUF): qemu-img.o qemu-tool.o tool-osdep.o $(BLOCK_OBJS)
+qemu-img$(EXESUF): qemu-img.o qemu-tool.o tool-osdep.o $(block-obj-y)
-qemu-nbd$(EXESUF): qemu-nbd.o qemu-tool.o tool-osdep.o $(BLOCK_OBJS)
+qemu-nbd$(EXESUF): qemu-nbd.o qemu-tool.o tool-osdep.o $(block-obj-y)
-qemu-io$(EXESUF): qemu-io.o qemu-tool.o tool-osdep.o cmd.o $(BLOCK_OBJS)
+qemu-io$(EXESUF): qemu-io.o qemu-tool.o tool-osdep.o cmd.o $(block-obj-y)
qemu-img$(EXESUF) qemu-nbd$(EXESUF) qemu-io$(EXESUF): LIBS += -lz
rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d block/*.o block/*.d
rm -f qemu-img-cmds.h
$(MAKE) -C tests clean
- for d in $(TARGET_DIRS) libhw32 libhw64; do \
+ for d in $(TARGET_DIRS) $(ROMS) libhw32 libhw64; do \
$(MAKE) -C $$d $@ || exit 1 ; \
done
BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
video.x openbios-sparc32 openbios-sparc64 openbios-ppc \
pxe-ne2k_pci.bin pxe-rtl8139.bin pxe-pcnet.bin pxe-e1000.bin \
-bamboo.dtb petalogix-s3adsp1800.dtb
+bamboo.dtb petalogix-s3adsp1800.dtb \
+multiboot.bin
else
BLOBS=
endif
+roms:
+ for d in $(ROMS); do \
+ $(MAKE) -C $$d || exit 1 ; \
+ done
+
install-doc: $(DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(docdir)"
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
done
endif
-ifndef CONFIG_WIN32
$(INSTALL_DIR) "$(DESTDIR)$(datadir)/keymaps"
set -e; for x in $(KEYMAPS); do \
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
done
-endif
for d in $(TARGET_DIRS); do \
$(MAKE) -C $$d $@ || exit 1 ; \
done