1*ad064840Spbrookinclude config-host.mak 2766a487aSbellard 3*ad064840SpbrookCFLAGS=-Wall -O2 -g -fno-strict-aliasing -I. 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 2033e3963eSbellard 21de167e41Sbellardqemu-img$(EXESUF): qemu-img.c block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c 22b932cabaSbellard $(CC) -DQEMU_TOOL $(CFLAGS) $(LDFLAGS) $(DEFINES) -o $@ $^ -lz $(LIBS) 2347cea614Sbellard 2411d9f695Sbellarddyngen$(EXESUF): dyngen.c 2511d9f695Sbellard $(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^ 2631e31b8aSbellard 2731e31b8aSbellardclean: 282d80ae89Sbellard# avoid old build problems by removing potentially incorrect old files 292d80ae89Sbellard 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 30acd935efSbellard rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS *.pod *~ */*~ 317d3505c5Sbellard $(MAKE) -C tests clean 32626df76aSbellard for d in $(TARGET_DIRS); do \ 337d3505c5Sbellard $(MAKE) -C $$d $@ || exit 1 ; \ 34626df76aSbellard done 3531e31b8aSbellard 367d13299dSbellarddistclean: clean 37c72a345fSbellard rm -f config-host.mak config-host.h 3876bc6838Sbellard for d in $(TARGET_DIRS); do \ 39bc1b050dSbellard rm -rf $$d || exit 1 ; \ 4076bc6838Sbellard done 417d13299dSbellard 42fed4a9adSbellardKEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \ 43fed4a9adSbellardar de en-us fi fr-be hr it lv nl pl ru th \ 44fed4a9adSbellardcommon de-ch es fo fr-ca hu ja mk nl-be pt sl tr 45fed4a9adSbellard 46626df76aSbellardinstall: all 471236cab7Spbrook mkdir -p "$(DESTDIR)$(bindir)" 481236cab7Spbrook install -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" 491236cab7Spbrook mkdir -p "$(DESTDIR)$(datadir)" 50*ad064840Spbrook for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ 51*ad064840Spbrook video.x proll.elf linux_boot.bin; do \ 52*ad064840Spbrook install -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \ 53*ad064840Spbrook done 541236cab7Spbrook mkdir -p "$(DESTDIR)$(docdir)" 551236cab7Spbrook install -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)" 5611d9f695Sbellardifndef CONFIG_WIN32 571236cab7Spbrook mkdir -p "$(DESTDIR)$(mandir)/man1" 581236cab7Spbrook install qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1" 591236cab7Spbrook mkdir -p "$(DESTDIR)$(datadir)/keymaps" 60*ad064840Spbrook for x in $(KEYMAPS); do \ 61*ad064840Spbrook install -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \ 62*ad064840Spbrook done 6311d9f695Sbellardendif 64626df76aSbellard for d in $(TARGET_DIRS); do \ 657d3505c5Sbellard $(MAKE) -C $$d $@ || exit 1 ; \ 66626df76aSbellard done 67612384d7Sbellard 68367e86e8Sbellard# various test targets 6982c7e2a4Sbellardtest speed test2: all 707d3505c5Sbellard $(MAKE) -C tests $@ 7131e31b8aSbellard 72367e86e8SbellardTAGS: 73b9adb4a6Sbellard etags *.[ch] tests/*.[ch] 7431e31b8aSbellard 756688bc6dSbellardcscope: 766688bc6dSbellard rm -f ./cscope.* 776688bc6dSbellard find . -name "*.[ch]" -print > ./cscope.files 786688bc6dSbellard cscope -b 796688bc6dSbellard 803ef693a0Sbellard# documentation 811f673135Sbellard%.html: %.texi 823ef693a0Sbellard texi2html -monolithic -number $< 833ef693a0Sbellard 845a67135aSbellardqemu.1: qemu-doc.texi 85*ad064840Spbrook $(SRC_PATH)/texi2pod.pl $< qemu.pod 865a67135aSbellard pod2man --section=1 --center=" " --release=" " qemu.pod > $@ 875a67135aSbellard 88acd935efSbellardqemu-img.1: qemu-img.texi 89*ad064840Spbrook $(SRC_PATH)/texi2pod.pl $< qemu-img.pod 90acd935efSbellard pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@ 91acd935efSbellard 921e43adfcSbellardFILE=qemu-$(shell cat VERSION) 93586314f2Sbellard 941e43adfcSbellard# tar release (use 'make -k tar' on a checkouted tree) 95586314f2Sbellardtar: 96586314f2Sbellard rm -rf /tmp/$(FILE) 971e43adfcSbellard cp -r . /tmp/$(FILE) 9876b62fd0Sbellard ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS ) 99586314f2Sbellard rm -rf /tmp/$(FILE) 100586314f2Sbellard 10176b62fd0Sbellard# generate a binary distribution 102d691f669Sbellardtarbin: 10376b62fd0Sbellard ( cd / ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \ 10443095f31Sbellard $(bindir)/qemu \ 1057efa4387Sbellard $(bindir)/qemu-system-ppc \ 106acd935efSbellard $(bindir)/qemu-system-sparc \ 10743095f31Sbellard $(bindir)/qemu-system-x86_64 \ 10893856aacSbellard $(bindir)/qemu-system-mips \ 10938260998Spbrook $(bindir)/qemu-system-mipsel \ 110ea31eb5bSbellard $(bindir)/qemu-system-arm \ 1117efa4387Sbellard $(bindir)/qemu-i386 \ 1127efa4387Sbellard $(bindir)/qemu-arm \ 113ea31eb5bSbellard $(bindir)/qemu-armeb \ 1147efa4387Sbellard $(bindir)/qemu-sparc \ 1157efa4387Sbellard $(bindir)/qemu-ppc \ 116ea31eb5bSbellard $(bindir)/qemu-mips \ 117ea31eb5bSbellard $(bindir)/qemu-mipsel \ 118b932cabaSbellard $(bindir)/qemu-img \ 1197efa4387Sbellard $(datadir)/bios.bin \ 1207efa4387Sbellard $(datadir)/vgabios.bin \ 121de9258a8Sbellard $(datadir)/vgabios-cirrus.bin \ 122637f6cd7Sbellard $(datadir)/ppc_rom.bin \ 123d5295253Sbellard $(datadir)/video.x \ 124e80cfcfcSbellard $(datadir)/proll.elf \ 1257efa4387Sbellard $(datadir)/linux_boot.bin \ 1261f50f8d1Sbellard $(docdir)/qemu-doc.html \ 1271f50f8d1Sbellard $(docdir)/qemu-tech.html \ 128acd935efSbellard $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 ) 129d691f669Sbellard 13031e31b8aSbellardifneq ($(wildcard .depend),) 13131e31b8aSbellardinclude .depend 13231e31b8aSbellardendif 133