File:  [Qemu by Fabrice Bellard] / qemu / Makefile
Revision 1.1.1.13 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:16:39 2018 UTC (3 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1001, HEAD
qemu 1.0.1

    1: # Makefile for QEMU.
    2: 
    3: # Always point to the root of the build tree (needs GNU make).
    4: BUILD_DIR=$(CURDIR)
    5: 
    6: GENERATED_HEADERS = config-host.h trace.h qemu-options.def
    7: ifeq ($(TRACE_BACKEND),dtrace)
    8: GENERATED_HEADERS += trace-dtrace.h
    9: endif
   10: GENERATED_HEADERS += qmp-commands.h qapi-types.h qapi-visit.h
   11: GENERATED_SOURCES += qmp-marshal.c qapi-types.c qapi-visit.c
   12: 
   13: ifneq ($(wildcard config-host.mak),)
   14: # Put the all: rule here so that config-host.mak can contain dependencies.
   15: all: build-all
   16: include config-host.mak
   17: include $(SRC_PATH)/rules.mak
   18: config-host.mak: $(SRC_PATH)/configure
   19: 	@echo $@ is out-of-date, running configure
   20: 	@sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh
   21: else
   22: config-host.mak:
   23: 	@echo "Please call configure before running make!"
   24: 	@exit 1
   25: endif
   26: 
   27: # Don't try to regenerate Makefile or configure
   28: # We don't generate any of them
   29: Makefile: ;
   30: configure: ;
   31: 
   32: .PHONY: all clean cscope distclean dvi html info install install-doc \
   33: 	pdf recurse-all speed tar tarbin test build-all
   34: 
   35: $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)
   36: 
   37: LIBS+=-lz $(LIBS_TOOLS)
   38: 
   39: ifdef BUILD_DOCS
   40: DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 QMP/qmp-commands.txt
   41: else
   42: DOCS=
   43: endif
   44: 
   45: SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory) BUILD_DIR=$(BUILD_DIR)
   46: SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS))
   47: SUBDIR_DEVICES_MAK_DEP=$(patsubst %, %/config-devices.mak.d, $(TARGET_DIRS))
   48: 
   49: config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
   50: 	$(call quiet-command,cat $(SUBDIR_DEVICES_MAK) | grep =y | sort -u > $@,"  GEN   $@")
   51: 
   52: -include $(SUBDIR_DEVICES_MAK_DEP)
   53: 
   54: %/config-devices.mak: default-configs/%.mak
   55: 	$(call quiet-command,$(SHELL) $(SRC_PATH)/scripts/make_device_config.sh $@ $<, "  GEN   $@")
   56: 	@if test -f $@; then \
   57: 	  if cmp -s $@.old $@; then \
   58: 	    mv $@.tmp $@; \
   59: 	    cp -p $@ $@.old; \
   60: 	  else \
   61: 	    if test -f $@.old; then \
   62: 	      echo "WARNING: $@ (user modified) out of date.";\
   63: 	    else \
   64: 	      echo "WARNING: $@ out of date.";\
   65: 	    fi; \
   66: 	    echo "Run \"make defconfig\" to regenerate."; \
   67: 	    rm $@.tmp; \
   68: 	  fi; \
   69: 	 else \
   70: 	  mv $@.tmp $@; \
   71: 	  cp -p $@ $@.old; \
   72: 	 fi
   73: 
   74: defconfig:
   75: 	rm -f config-all-devices.mak $(SUBDIR_DEVICES_MAK)
   76: 
   77: -include config-all-devices.mak
   78: 
   79: build-all: $(DOCS) $(TOOLS) $(CHECKS) recurse-all
   80: 
   81: config-host.h: config-host.h-timestamp
   82: config-host.h-timestamp: config-host.mak
   83: qemu-options.def: $(SRC_PATH)/qemu-options.hx
   84: 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"  GEN   $@")
   85: 
   86: SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS))
   87: 
   88: subdir-%: $(GENERATED_HEADERS)
   89: 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,)
   90: 
   91: ifneq ($(wildcard config-host.mak),)
   92: include $(SRC_PATH)/Makefile.objs
   93: endif
   94: 
   95: $(common-obj-y): $(GENERATED_HEADERS)
   96: subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o
   97: 
   98: $(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y) subdir-libdis
   99: 
  100: $(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(trace-obj-y) subdir-libdis-user subdir-libuser
  101: 
  102: ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
  103: romsubdir-%:
  104: 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pc-bios/$* V="$(V)" TARGET_DIR="$*/",)
  105: 
  106: ALL_SUBDIRS=$(TARGET_DIRS) $(patsubst %,pc-bios/%, $(ROMS))
  107: 
  108: recurse-all: $(SUBDIR_RULES) $(ROMSUBDIR_RULES)
  109: 
  110: audio/audio.o audio/fmodaudio.o: QEMU_CFLAGS += $(FMOD_CFLAGS)
  111: 
  112: QEMU_CFLAGS+=$(CURL_CFLAGS)
  113: 
  114: QEMU_CFLAGS+=$(GLIB_CFLAGS)
  115: 
  116: ui/cocoa.o: ui/cocoa.m
  117: 
  118: ui/sdl.o audio/sdlaudio.o ui/sdl_zoom.o baum.o: QEMU_CFLAGS += $(SDL_CFLAGS)
  119: 
  120: ui/vnc.o: QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
  121: 
  122: bt-host.o: QEMU_CFLAGS += $(BLUEZ_CFLAGS)
  123: 
  124: version.o: $(SRC_PATH)/version.rc config-host.h
  125: 	$(call quiet-command,$(WINDRES) -I. -o $@ $<,"  RC    $(TARGET_DIR)$@")
  126: 
  127: version-obj-$(CONFIG_WIN32) += version.o
  128: ######################################################################
  129: # Support building shared library libcacard
  130: 
  131: .PHONY: libcacard.la install-libcacard
  132: ifeq ($(LIBTOOL),)
  133: libcacard.la:
  134: 	@echo "libtool is missing, please install and rerun configure"; exit 1
  135: 
  136: install-libcacard:
  137: 	@echo "libtool is missing, please install and rerun configure"; exit 1
  138: else
  139: libcacard.la: $(GENERATED_HEADERS) $(oslib-obj-y) qemu-timer-common.o $(addsuffix .lo, $(basename $(trace-obj-y)))
  140: 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" libcacard.la,)
  141: 
  142: install-libcacard: libcacard.la
  143: 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C libcacard V="$(V)" TARGET_DIR="$*/" install-libcacard,)
  144: endif
  145: ######################################################################
  146: 
  147: qemu-img.o: qemu-img-cmds.h
  148: qemu-img.o qemu-tool.o qemu-nbd.o qemu-io.o cmd.o qemu-ga.o: $(GENERATED_HEADERS)
  149: 
  150: tools-obj-y = qemu-tool.o $(oslib-obj-y) $(trace-obj-y) \
  151: 	qemu-timer-common.o cutils.o
  152: 
  153: qemu-img$(EXESUF): qemu-img.o $(tools-obj-y) $(block-obj-y)
  154: qemu-nbd$(EXESUF): qemu-nbd.o $(tools-obj-y) $(block-obj-y)
  155: qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y)
  156: 
  157: qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
  158: 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"  GEN   $@")
  159: 
  160: check-qint.o check-qstring.o check-qdict.o check-qlist.o check-qfloat.o check-qjson.o test-coroutine.o: $(GENERATED_HEADERS)
  161: 
  162: check-qint: check-qint.o qint.o $(tools-obj-y)
  163: check-qstring: check-qstring.o qstring.o $(tools-obj-y)
  164: check-qdict: check-qdict.o qdict.o qfloat.o qint.o qstring.o qbool.o qlist.o $(tools-obj-y)
  165: check-qlist: check-qlist.o qlist.o qint.o $(tools-obj-y)
  166: check-qfloat: check-qfloat.o qfloat.o $(tools-obj-y)
  167: check-qjson: check-qjson.o $(qobject-obj-y) $(tools-obj-y)
  168: test-coroutine: test-coroutine.o qemu-timer-common.o async.o $(coroutine-obj-y) $(tools-obj-y)
  169: 
  170: $(qapi-obj-y): $(GENERATED_HEADERS)
  171: qapi-dir := $(BUILD_DIR)/qapi-generated
  172: test-visitor.o test-qmp-commands.o qemu-ga$(EXESUF): QEMU_CFLAGS += -I $(qapi-dir)
  173: qemu-ga$(EXESUF): LIBS = $(LIBS_QGA)
  174: 
  175: $(qapi-dir)/test-qapi-types.c $(qapi-dir)/test-qapi-types.h :\
  176: $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-types.py
  177: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py -o "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
  178: $(qapi-dir)/test-qapi-visit.c $(qapi-dir)/test-qapi-visit.h :\
  179: $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-visit.py
  180: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py -o "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
  181: $(qapi-dir)/test-qmp-commands.h $(qapi-dir)/test-qmp-marshal.c :\
  182: $(SRC_PATH)/qapi-schema-test.json $(SRC_PATH)/scripts/qapi-commands.py
  183: 	    $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py -o "$(qapi-dir)" -p "test-" < $<, "  GEN   $@")
  184: 
  185: $(qapi-dir)/qga-qapi-types.c $(qapi-dir)/qga-qapi-types.h :\
  186: $(SRC_PATH)/qapi-schema-guest.json $(SRC_PATH)/scripts/qapi-types.py
  187: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py -o "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
  188: $(qapi-dir)/qga-qapi-visit.c $(qapi-dir)/qga-qapi-visit.h :\
  189: $(SRC_PATH)/qapi-schema-guest.json $(SRC_PATH)/scripts/qapi-visit.py
  190: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py -o "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
  191: $(qapi-dir)/qga-qmp-commands.h $(qapi-dir)/qga-qmp-marshal.c :\
  192: $(SRC_PATH)/qapi-schema-guest.json $(SRC_PATH)/scripts/qapi-commands.py
  193: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py -o "$(qapi-dir)" -p "qga-" < $<, "  GEN   $@")
  194: 
  195: qapi-types.c qapi-types.h :\
  196: $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/scripts/qapi-types.py
  197: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-types.py -o "." < $<, "  GEN   $@")
  198: qapi-visit.c qapi-visit.h :\
  199: $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/scripts/qapi-visit.py
  200: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-visit.py -o "."  < $<, "  GEN   $@")
  201: qmp-commands.h qmp-marshal.c :\
  202: $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py
  203: 	$(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-commands.py -m -o "." < $<, "  GEN   $@")
  204: 
  205: test-visitor.o: $(addprefix $(qapi-dir)/, test-qapi-types.c test-qapi-types.h test-qapi-visit.c test-qapi-visit.h) $(qapi-obj-y)
  206: test-visitor: test-visitor.o $(qobject-obj-y) $(qapi-obj-y) $(tools-obj-y) $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o
  207: 
  208: test-qmp-commands.o: $(addprefix $(qapi-dir)/, test-qapi-types.c test-qapi-types.h test-qapi-visit.c test-qapi-visit.h test-qmp-marshal.c test-qmp-commands.h) $(qapi-obj-y)
  209: test-qmp-commands: test-qmp-commands.o $(qobject-obj-y) $(qapi-obj-y) $(tools-obj-y) $(qapi-dir)/test-qapi-visit.o $(qapi-dir)/test-qapi-types.o $(qapi-dir)/test-qmp-marshal.o module.o
  210: 
  211: QGALIB_OBJ=$(addprefix $(qapi-dir)/, qga-qapi-types.o qga-qapi-visit.o qga-qmp-marshal.o)
  212: QGALIB_GEN=$(addprefix $(qapi-dir)/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h)
  213: $(QGALIB_OBJ): $(QGALIB_GEN) $(GENERATED_HEADERS)
  214: $(qga-obj-y) qemu-ga.o: $(QGALIB_GEN) $(GENERATED_HEADERS)
  215: 
  216: qemu-ga$(EXESUF): qemu-ga.o $(qga-obj-y) $(qapi-obj-y) $(tools-obj-y) $(qobject-obj-y) $(version-obj-y) $(QGALIB_OBJ)
  217: 
  218: QEMULIBS=libhw32 libhw64 libuser libdis libdis-user
  219: 
  220: clean:
  221: # avoid old build problems by removing potentially incorrect old files
  222: 	rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
  223: 	rm -f qemu-options.def
  224: 	rm -f *.o *.d *.a *.lo $(TOOLS) $(CHECKS) qemu-ga TAGS cscope.* *.pod *~ */*~
  225: 	rm -Rf .libs
  226: 	rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d block/*.o block/*.d net/*.o net/*.d fsdev/*.o fsdev/*.d ui/*.o ui/*.d qapi/*.o qapi/*.d qga/*.o qga/*.d
  227: 	rm -f qemu-img-cmds.h
  228: 	rm -f trace/*.o trace/*.d
  229: 	rm -f trace.c trace.h trace.c-timestamp trace.h-timestamp
  230: 	rm -f trace-dtrace.dtrace trace-dtrace.dtrace-timestamp
  231: 	rm -f trace-dtrace.h trace-dtrace.h-timestamp
  232: 	rm -f $(GENERATED_SOURCES)
  233: 	rm -rf $(qapi-dir)
  234: 	$(MAKE) -C tests clean
  235: 	for d in $(ALL_SUBDIRS) $(QEMULIBS) libcacard; do \
  236: 	if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \
  237: 	rm -f $$d/qemu-options.def; \
  238:         done
  239: 
  240: distclean: clean
  241: 	rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi
  242: 	rm -f config-all-devices.mak
  243: 	rm -f roms/seabios/config.mak roms/vgabios/config.mak
  244: 	rm -f qemu-doc.info qemu-doc.aux qemu-doc.cp qemu-doc.cps qemu-doc.dvi
  245: 	rm -f qemu-doc.fn qemu-doc.fns qemu-doc.info qemu-doc.ky qemu-doc.kys
  246: 	rm -f qemu-doc.log qemu-doc.pdf qemu-doc.pg qemu-doc.toc qemu-doc.tp
  247: 	rm -f qemu-doc.vr
  248: 	rm -f config.log
  249: 	rm -f qemu-tech.info qemu-tech.aux qemu-tech.cp qemu-tech.dvi qemu-tech.fn qemu-tech.info qemu-tech.ky qemu-tech.log qemu-tech.pdf qemu-tech.pg qemu-tech.toc qemu-tech.tp qemu-tech.vr
  250: 	for d in $(TARGET_DIRS) $(QEMULIBS); do \
  251: 	rm -rf $$d || exit 1 ; \
  252:         done
  253: 
  254: KEYMAPS=da     en-gb  et  fr     fr-ch  is  lt  modifiers  no  pt-br  sv \
  255: ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
  256: common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
  257: 
  258: ifdef INSTALL_BLOBS
  259: BLOBS=bios.bin sgabios.bin vgabios.bin vgabios-cirrus.bin \
  260: vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin \
  261: ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc \
  262: pxe-e1000.rom pxe-eepro100.rom pxe-ne2k_pci.rom \
  263: pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom \
  264: bamboo.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb \
  265: mpc8544ds.dtb \
  266: multiboot.bin linuxboot.bin \
  267: s390-zipl.rom \
  268: spapr-rtas.bin slof.bin \
  269: palcode-clipper
  270: else
  271: BLOBS=
  272: endif
  273: 
  274: install-doc: $(DOCS)
  275: 	$(INSTALL_DIR) "$(DESTDIR)$(docdir)"
  276: 	$(INSTALL_DATA) qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
  277: ifdef CONFIG_POSIX
  278: 	$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
  279: 	$(INSTALL_DATA) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
  280: 	$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8"
  281: 	$(INSTALL_DATA) qemu-nbd.8 "$(DESTDIR)$(mandir)/man8"
  282: endif
  283: 
  284: install-sysconfig:
  285: 	$(INSTALL_DIR) "$(DESTDIR)$(sysconfdir)/qemu"
  286: 	$(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(sysconfdir)/qemu"
  287: 
  288: install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
  289: 	$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
  290: ifneq ($(TOOLS),)
  291: 	$(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
  292: endif
  293: ifneq ($(BLOBS),)
  294: 	$(INSTALL_DIR) "$(DESTDIR)$(datadir)"
  295: 	set -e; for x in $(BLOBS); do \
  296: 		$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
  297: 	done
  298: endif
  299: 	$(INSTALL_DIR) "$(DESTDIR)$(datadir)/keymaps"
  300: 	set -e; for x in $(KEYMAPS); do \
  301: 		$(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
  302: 	done
  303: 	for d in $(TARGET_DIRS); do \
  304: 	$(MAKE) -C $$d $@ || exit 1 ; \
  305:         done
  306: 
  307: # various test targets
  308: test speed: all
  309: 	$(MAKE) -C tests $@
  310: 
  311: .PHONY: check
  312: check: $(patsubst %,run-check-%,$(CHECKS))
  313: 
  314: run-check-%: %
  315: 	./$<
  316: 
  317: .PHONY: TAGS
  318: TAGS:
  319: 	find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags
  320: 
  321: cscope:
  322: 	rm -f ./cscope.*
  323: 	find "$(SRC_PATH)" -name "*.[chsS]" -print | sed 's,^\./,,' > ./cscope.files
  324: 	cscope -b
  325: 
  326: # documentation
  327: MAKEINFO=makeinfo
  328: MAKEINFOFLAGS=--no-headers --no-split --number-sections
  329: TEXIFLAG=$(if $(V),,--quiet)
  330: %.dvi: %.texi
  331: 	$(call quiet-command,texi2dvi $(TEXIFLAG) -I . $<,"  GEN   $@")
  332: 
  333: %.html: %.texi
  334: 	$(call quiet-command,$(MAKEINFO) $(MAKEINFOFLAGS) --html $< -o $@, \
  335: 	"  GEN   $@")
  336: 
  337: %.info: %.texi
  338: 	$(call quiet-command,$(MAKEINFO) $< -o $@,"  GEN   $@")
  339: 
  340: %.pdf: %.texi
  341: 	$(call quiet-command,texi2pdf $(TEXIFLAG) -I . $<,"  GEN   $@")
  342: 
  343: qemu-options.texi: $(SRC_PATH)/qemu-options.hx
  344: 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"  GEN   $@")
  345: 
  346: qemu-monitor.texi: $(SRC_PATH)/hmp-commands.hx
  347: 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"  GEN   $@")
  348: 
  349: QMP/qmp-commands.txt: $(SRC_PATH)/qmp-commands.hx
  350: 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -q < $< > $@,"  GEN   $@")
  351: 
  352: qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx
  353: 	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"  GEN   $@")
  354: 
  355: qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi
  356: 	$(call quiet-command, \
  357: 	  perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< qemu.pod && \
  358: 	  pod2man --section=1 --center=" " --release=" " qemu.pod > $@, \
  359: 	  "  GEN   $@")
  360: 
  361: qemu-img.1: qemu-img.texi qemu-img-cmds.texi
  362: 	$(call quiet-command, \
  363: 	  perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< qemu-img.pod && \
  364: 	  pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@, \
  365: 	  "  GEN   $@")
  366: 
  367: qemu-nbd.8: qemu-nbd.texi
  368: 	$(call quiet-command, \
  369: 	  perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< qemu-nbd.pod && \
  370: 	  pod2man --section=8 --center=" " --release=" " qemu-nbd.pod > $@, \
  371: 	  "  GEN   $@")
  372: 
  373: dvi: qemu-doc.dvi qemu-tech.dvi
  374: html: qemu-doc.html qemu-tech.html
  375: info: qemu-doc.info qemu-tech.info
  376: pdf: qemu-doc.pdf qemu-tech.pdf
  377: 
  378: qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \
  379: 	qemu-img.texi qemu-nbd.texi qemu-options.texi \
  380: 	qemu-monitor.texi qemu-img-cmds.texi
  381: 
  382: VERSION ?= $(shell cat VERSION)
  383: FILE = qemu-$(VERSION)
  384: 
  385: # tar release (use 'make -k tar' on a checkouted tree)
  386: tar:
  387: 	rm -rf /tmp/$(FILE)
  388: 	cp -r . /tmp/$(FILE)
  389: 	cd /tmp && tar zcvf ~/$(FILE).tar.gz $(FILE) --exclude CVS --exclude .git --exclude .svn
  390: 	rm -rf /tmp/$(FILE)
  391: 
  392: # Include automatically generated dependency files
  393: -include $(wildcard *.d audio/*.d slirp/*.d block/*.d net/*.d ui/*.d qapi/*.d qga/*.d)

unix.superglobalmegacorp.com