1626df76aSbellardinclude config-host.mak 2766a487aSbellard 37d13299dSbellardCFLAGS=-Wall -O2 -g 4*67b915a5Sbellardifdef CONFIG_WIN32 5*67b915a5SbellardCFLAGS+=-fpack-struct 6*67b915a5Sbellardendif 731e31b8aSbellardLDFLAGS=-g 8766a487aSbellardLIBS= 90ecfa993SbellardDEFINES+=-D_GNU_SOURCE 10*67b915a5Sbellardifndef CONFIG_WIN32 111e43adfcSbellardTOOLS=qemu-mkcow 12*67b915a5Sbellardendif 137d13299dSbellard 14*67b915a5Sbellardall: dyngen$(EXESUF) $(TOOLS) qemu-doc.html qemu.1 15626df76aSbellard for d in $(TARGET_DIRS); do \ 16626df76aSbellard make -C $$d $@ || exit 1 ; \ 17626df76aSbellard done 1833e3963eSbellard 191e43adfcSbellardqemu-mkcow: qemu-mkcow.o 20626df76aSbellard $(HOST_CC) -o $@ $^ $(LIBS) 210824d6fcSbellard 22*67b915a5Sbellarddyngen$(EXESUF): dyngen.o 23626df76aSbellard $(HOST_CC) -o $@ $^ $(LIBS) 24de83cd02Sbellard 2531e31b8aSbellard%.o: %.c 26626df76aSbellard $(HOST_CC) $(CFLAGS) $(DEFINES) -c -o $@ $< 2731e31b8aSbellard 2831e31b8aSbellardclean: 292d80ae89Sbellard# avoid old build problems by removing potentially incorrect old files 302d80ae89Sbellard 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 31*67b915a5Sbellard rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS qemu.pod 3268e73e39Sbellard make -C tests clean 33626df76aSbellard for d in $(TARGET_DIRS); do \ 34626df76aSbellard make -C $$d $@ || exit 1 ; \ 35626df76aSbellard done 3631e31b8aSbellard 377d13299dSbellarddistclean: clean 382d80ae89Sbellard rm -f config-host.mak config-host.h 3976bc6838Sbellard for d in $(TARGET_DIRS); do \ 40bc1b050dSbellard rm -rf $$d || exit 1 ; \ 4176bc6838Sbellard done 427d13299dSbellard 43626df76aSbellardinstall: all 44d5a0b50cSbellard mkdir -p $(prefix)/bin 45626df76aSbellard install -m 755 -s $(TOOLS) $(prefix)/bin 465a67135aSbellard mkdir -p $(sharedir) 47a735aa31Sbellard install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \ 48a735aa31Sbellard pc-bios/linux_boot.bin $(sharedir) 495a67135aSbellard mkdir -p $(mandir)/man1 50c101c49cSbellard install qemu.1 qemu-mkcow.1 $(mandir)/man1 51626df76aSbellard for d in $(TARGET_DIRS); do \ 52626df76aSbellard make -C $$d $@ || exit 1 ; \ 53626df76aSbellard done 54612384d7Sbellard 55367e86e8Sbellard# various test targets 5682c7e2a4Sbellardtest speed test2: all 57367e86e8Sbellard make -C tests $@ 5831e31b8aSbellard 59367e86e8SbellardTAGS: 60b9adb4a6Sbellard etags *.[ch] tests/*.[ch] 6131e31b8aSbellard 623ef693a0Sbellard# documentation 633ef693a0Sbellardqemu-doc.html: qemu-doc.texi 643ef693a0Sbellard texi2html -monolithic -number $< 653ef693a0Sbellard 665a67135aSbellardqemu.1: qemu-doc.texi 675a67135aSbellard ./texi2pod.pl $< qemu.pod 685a67135aSbellard pod2man --section=1 --center=" " --release=" " qemu.pod > $@ 695a67135aSbellard 701e43adfcSbellardFILE=qemu-$(shell cat VERSION) 71586314f2Sbellard 721e43adfcSbellard# tar release (use 'make -k tar' on a checkouted tree) 73586314f2Sbellardtar: 74586314f2Sbellard rm -rf /tmp/$(FILE) 751e43adfcSbellard cp -r . /tmp/$(FILE) 7676b62fd0Sbellard ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS ) 77586314f2Sbellard rm -rf /tmp/$(FILE) 78586314f2Sbellard 7976b62fd0Sbellard# generate a binary distribution 80d691f669Sbellardtarbin: 8176b62fd0Sbellard ( cd / ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \ 8276b62fd0Sbellard $(prefix)/bin/qemu $(prefix)/bin/qemu-fast \ 8376b62fd0Sbellard $(prefix)/bin/qemu-i386 \ 8476b62fd0Sbellard $(prefix)/bin/qemu-arm \ 8576b62fd0Sbellard $(prefix)/bin/qemu-sparc \ 86c0637b37Sbellard $(prefix)/bin/qemu-ppc \ 8776b62fd0Sbellard $(sharedir)/bios.bin \ 8876b62fd0Sbellard $(sharedir)/vgabios.bin \ 8976b62fd0Sbellard $(mandir)/man1/qemu.1 ) 90d691f669Sbellard 9131e31b8aSbellardifneq ($(wildcard .depend),) 9231e31b8aSbellardinclude .depend 9331e31b8aSbellardendif 94