]> git.proxmox.com Git - mirror_qemu.git/blobdiff - Makefile
softfloat: Move round_canonical to softfloat-parts.c.inc
[mirror_qemu.git] / Makefile
index 76dbb917f5cd3085ad93cb634c14ba88b380ab53..bcbbec71a1cb61342dada30c54d34ef2672860d0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -47,30 +47,10 @@ git-submodule-update:
 Makefile: .git-submodule-status
 
 .PHONY: git-submodule-update
-
-git_module_status := $(shell \
-  cd '$(SRC_PATH)' && \
-  GIT="$(GIT)" ./scripts/git-submodule.sh status $(GIT_SUBMODULES); \
-  echo $$?; \
-)
-
-ifeq (1,$(git_module_status))
-ifeq (no,$(GIT_UPDATE))
-git-submodule-update:
-       $(call quiet-command, \
-            echo && \
-            echo "GIT submodule checkout is out of date. Please run" && \
-            echo "  scripts/git-submodule.sh update $(GIT_SUBMODULES)" && \
-            echo "from the source directory checkout $(SRC_PATH)" && \
-            echo && \
-            exit 1)
-else
 git-submodule-update:
        $(call quiet-command, \
-          (cd $(SRC_PATH) && GIT="$(GIT)" ./scripts/git-submodule.sh update $(GIT_SUBMODULES)), \
-          "GIT","$(GIT_SUBMODULES)")
-endif
-endif
+               (GIT="$(GIT)" "$(SRC_PATH)/scripts/git-submodule.sh" $(GIT_SUBMODULES_ACTION) $(GIT_SUBMODULES)), \
+               "GIT","$(GIT_SUBMODULES)")
 
 # 0. ensure the build tree is okay
 
@@ -133,6 +113,7 @@ Makefile.ninja: build.ninja
 
 # A separate rule is needed for Makefile dependencies to avoid -n
 build.ninja: build.ninja.stamp
+$(build-files):
 build.ninja.stamp: meson.stamp $(build-files)
        $(NINJA) $(if $V,-v,) build.ninja && touch $@
 endif
@@ -168,7 +149,7 @@ $(ninja-targets): run-ninja
 # --output-sync line.
 run-ninja: config-host.mak
 ifneq ($(filter $(ninja-targets), $(ninja-cmd-goals)),)
-       +$(quiet-@)$(if $(MAKE.nq),@:, $(NINJA) \
+       +$(quiet-@)$(if $(MAKE.nq),@:, $(NINJA) -d keepdepfile \
           $(NINJAFLAGS) $(sort $(filter $(ninja-targets), $(ninja-cmd-goals))) | cat)
 endif
 endif
@@ -235,7 +216,6 @@ distclean: clean
        rm -f config-host.mak config-host.h*
        rm -f tests/tcg/config-*.mak
        rm -f config-all-disas.mak config.status
-       rm -f tests/qemu-iotests/common.env
        rm -f roms/seabios/config.mak roms/vgabios/config.mak
        rm -f qemu-plugins-ld.symbols qemu-plugins-ld64.symbols
        rm -f *-config-target.h *-config-devices.mak *-config-devices.h
@@ -249,19 +229,49 @@ find-src-path = find "$(SRC_PATH)/" -path "$(SRC_PATH)/meson" -prune -o \( -name
 
 .PHONY: ctags
 ctags:
-       rm -f "$(SRC_PATH)/"tags
-       $(find-src-path) -exec ctags -f "$(SRC_PATH)/"tags --append {} +
+       $(call quiet-command,                   \
+               rm -f "$(SRC_PATH)/"tags,       \
+               "CTAGS", "Remove old tags")
+       $(call quiet-command, \
+               $(find-src-path) -exec ctags            \
+               -f "$(SRC_PATH)/"tags --append {} +,    \
+               "CTAGS", "Re-index $(SRC_PATH)")
+
+.PHONY: gtags
+gtags:
+       $(call quiet-command,                   \
+               rm -f "$(SRC_PATH)/"GTAGS;      \
+               rm -f "$(SRC_PATH)/"GRTAGS;     \
+               rm -f "$(SRC_PATH)/"GPATH,      \
+               "GTAGS", "Remove old $@ files")
+       $(call quiet-command,                           \
+               (cd $(SRC_PATH) &&                      \
+                $(find-src-path) | gtags -f -),        \
+               "GTAGS", "Re-index $(SRC_PATH)")
 
 .PHONY: TAGS
 TAGS:
-       rm -f "$(SRC_PATH)/"TAGS
-       $(find-src-path) -exec etags -f "$(SRC_PATH)/"TAGS --append {} +
+       $(call quiet-command,                   \
+               rm -f "$(SRC_PATH)/"TAGS,       \
+               "TAGS", "Remove old $@")
+       $(call quiet-command,                           \
+               $(find-src-path) -exec etags            \
+               -f "$(SRC_PATH)/"TAGS --append {} +,    \
+               "TAGS", "Re-index $(SRC_PATH)")
 
 .PHONY: cscope
 cscope:
-       rm -f "$(SRC_PATH)"/cscope.*
-       $(find-src-path) -print | sed -e 's,^\./,,' > "$(SRC_PATH)/cscope.files"
-       cscope -b -i"$(SRC_PATH)/cscope.files" -f"$(SRC_PATH)"/cscope.out
+       $(call quiet-command,                   \
+               rm -f "$(SRC_PATH)/"cscope.* ,  \
+               "cscope", "Remove old $@ files")
+       $(call quiet-command,                                   \
+               ($(find-src-path) -print | sed -e 's,^\./,,'    \
+               > "$(SRC_PATH)/cscope.files"),                  \
+               "cscope", "Create file list")
+       $(call quiet-command,                           \
+               cscope -b -i"$(SRC_PATH)/cscope.files"  \
+               -f"$(SRC_PATH)"/cscope.out,             \
+               "cscope", "Re-index $(SRC_PATH)")
 
 # Needed by "meson install"
 export DESTDIR
@@ -278,7 +288,7 @@ help:
        $(call print-help,all,Build all)
        $(call print-help,dir/file.o,Build specified target only)
        $(call print-help,install,Install QEMU, documentation and tools)
-       $(call print-help,ctags/TAGS,Generate tags file for editors)
+       $(call print-help,ctags/gtags/TAGS,Generate tags file for editors)
        $(call print-help,cscope,Generate cscope index)
        $(call print-help,sparse,Run sparse on the QEMU source)
        @echo  ''
@@ -295,7 +305,7 @@ endif
        @echo  'Test targets:'
        $(call print-help,check,Run all tests (check-help for details))
        $(call print-help,bench,Run all benchmarks)
-       $(call print-help,docker,Help about targets running tests inside containers)
+       $(call print-help,docker-help,Help about targets running tests inside containers)
        $(call print-help,vm-help,Help about targets running tests inside VM)
        @echo  ''
        @echo  'Documentation targets:'
@@ -304,9 +314,7 @@ endif
 ifdef CONFIG_WIN32
        @echo  'Windows targets:'
        $(call print-help,installer,Build NSIS-based installer for QEMU)
-ifdef CONFIG_QGA_MSI
        $(call print-help,msi,Build MSI-based installer for qemu-ga)
-endif
        @echo  ''
 endif
        $(call print-help,$(MAKE) [targets],(quiet build, default))