18d5f07faSbellard-include config-host.mak 2766a487aSbellard 3b932cabaSbellardCFLAGS=-Wall -O2 -g -fno-strict-aliasing 483fb7adfSbellardifdef CONFIG_DARWIN 583fb7adfSbellardCFLAGS+= -mdynamic-no-pic 683fb7adfSbellardendif 731e31b8aSbellardLDFLAGS=-g 8766a487aSbellardLIBS= 9d5249393SbellardDEFINES+=-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 10e35c55feSbellardTOOLS=qemu-img$(EXESUF) 111f50f8d1Sbellardifdef CONFIG_STATIC 121f50f8d1SbellardLDFLAGS+=-static 131f50f8d1Sbellardendif 14acd935efSbellardDOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 157d13299dSbellard 168d5f07faSbellardall: dyngen$(EXESUF) $(TOOLS) $(DOCS) 17626df76aSbellard for d in $(TARGET_DIRS); do \ 187d3505c5Sbellard $(MAKE) -C $$d $@ || exit 1 ; \ 19626df76aSbellard done 20*e3086fbfSbellardifdef CONFIG_KQEMU 21*e3086fbfSbellard $(MAKE) -C kqemu 22*e3086fbfSbellardendif 2333e3963eSbellard 24585d0ed9Sbellardqemu-img$(EXESUF): qemu-img.c block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c 25b932cabaSbellard $(CC) -DQEMU_TOOL $(CFLAGS) $(LDFLAGS) $(DEFINES) -o $@ $^ -lz $(LIBS) 2647cea614Sbellard 2711d9f695Sbellarddyngen$(EXESUF): dyngen.c 2811d9f695Sbellard $(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^ 2931e31b8aSbellard 3031e31b8aSbellardclean: 312d80ae89Sbellard# avoid old build problems by removing potentially incorrect old files 322d80ae89Sbellard rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h 33acd935efSbellard rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS *.pod *~ */*~ 347d3505c5Sbellard $(MAKE) -C tests clean 35626df76aSbellard for d in $(TARGET_DIRS); do \ 367d3505c5Sbellard $(MAKE) -C $$d $@ || exit 1 ; \ 37626df76aSbellard done 38*e3086fbfSbellardifdef CONFIG_KQEMU 39*e3086fbfSbellard $(MAKE) -C kqemu clean 40*e3086fbfSbellardendif 4131e31b8aSbellard 427d13299dSbellarddistclean: clean 43c72a345fSbellard rm -f config-host.mak config-host.h 4476bc6838Sbellard for d in $(TARGET_DIRS); do \ 45bc1b050dSbellard rm -rf $$d || exit 1 ; \ 4676bc6838Sbellard done 477d13299dSbellard 48fed4a9adSbellardKEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \ 49fed4a9adSbellardar de en-us fi fr-be hr it lv nl pl ru th \ 50fed4a9adSbellardcommon de-ch es fo fr-ca hu ja mk nl-be pt sl tr 51fed4a9adSbellard 52626df76aSbellardinstall: all 5311d9f695Sbellard mkdir -p "$(bindir)" 5411d9f695Sbellard install -m 755 -s $(TOOLS) "$(bindir)" 557efa4387Sbellard mkdir -p "$(datadir)" 56a735aa31Sbellard install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \ 57de9258a8Sbellard pc-bios/vgabios-cirrus.bin \ 58637f6cd7Sbellard pc-bios/ppc_rom.bin \ 59e80cfcfcSbellard pc-bios/proll.elf \ 607efa4387Sbellard pc-bios/linux_boot.bin "$(datadir)" 611f50f8d1Sbellard mkdir -p "$(docdir)" 621f50f8d1Sbellard install -m 644 qemu-doc.html qemu-tech.html "$(docdir)" 6311d9f695Sbellardifndef CONFIG_WIN32 6411d9f695Sbellard mkdir -p "$(mandir)/man1" 65acd935efSbellard install qemu.1 qemu-img.1 "$(mandir)/man1" 663d11d0ebSbellard mkdir -p "$(datadir)/keymaps" 67fed4a9adSbellard install -m 644 $(addprefix keymaps/,$(KEYMAPS)) "$(datadir)/keymaps" 6811d9f695Sbellardendif 69626df76aSbellard for d in $(TARGET_DIRS); do \ 707d3505c5Sbellard $(MAKE) -C $$d $@ || exit 1 ; \ 71626df76aSbellard done 72*e3086fbfSbellardifdef CONFIG_KQEMU 73*e3086fbfSbellard cd kqemu ; ./install.sh 74*e3086fbfSbellardendif 75612384d7Sbellard 76367e86e8Sbellard# various test targets 7782c7e2a4Sbellardtest speed test2: all 787d3505c5Sbellard $(MAKE) -C tests $@ 7931e31b8aSbellard 80367e86e8SbellardTAGS: 81b9adb4a6Sbellard etags *.[ch] tests/*.[ch] 8231e31b8aSbellard 833ef693a0Sbellard# documentation 841f673135Sbellard%.html: %.texi 853ef693a0Sbellard texi2html -monolithic -number $< 863ef693a0Sbellard 875a67135aSbellardqemu.1: qemu-doc.texi 885a67135aSbellard ./texi2pod.pl $< qemu.pod 895a67135aSbellard pod2man --section=1 --center=" " --release=" " qemu.pod > $@ 905a67135aSbellard 91acd935efSbellardqemu-img.1: qemu-img.texi 92acd935efSbellard ./texi2pod.pl $< qemu-img.pod 93acd935efSbellard pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@ 94acd935efSbellard 951e43adfcSbellardFILE=qemu-$(shell cat VERSION) 96586314f2Sbellard 971e43adfcSbellard# tar release (use 'make -k tar' on a checkouted tree) 98586314f2Sbellardtar: 99586314f2Sbellard rm -rf /tmp/$(FILE) 1001e43adfcSbellard cp -r . /tmp/$(FILE) 10176b62fd0Sbellard ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS ) 102586314f2Sbellard rm -rf /tmp/$(FILE) 103586314f2Sbellard 10476b62fd0Sbellard# generate a binary distribution 105d691f669Sbellardtarbin: 10676b62fd0Sbellard ( cd / ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \ 1077efa4387Sbellard $(bindir)/qemu $(bindir)/qemu-fast \ 1087efa4387Sbellard $(bindir)/qemu-system-ppc \ 109acd935efSbellard $(bindir)/qemu-system-sparc \ 1107efa4387Sbellard $(bindir)/qemu-i386 \ 1117efa4387Sbellard $(bindir)/qemu-arm \ 1127efa4387Sbellard $(bindir)/qemu-sparc \ 1137efa4387Sbellard $(bindir)/qemu-ppc \ 114b932cabaSbellard $(bindir)/qemu-img \ 1157efa4387Sbellard $(datadir)/bios.bin \ 1167efa4387Sbellard $(datadir)/vgabios.bin \ 117de9258a8Sbellard $(datadir)/vgabios-cirrus.bin \ 118637f6cd7Sbellard $(datadir)/ppc_rom.bin \ 119e80cfcfcSbellard $(datadir)/proll.elf \ 1207efa4387Sbellard $(datadir)/linux_boot.bin \ 1211f50f8d1Sbellard $(docdir)/qemu-doc.html \ 1221f50f8d1Sbellard $(docdir)/qemu-tech.html \ 123acd935efSbellard $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 ) 124d691f669Sbellard 12531e31b8aSbellardifneq ($(wildcard .depend),) 12631e31b8aSbellardinclude .depend 12731e31b8aSbellardendif 128