From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v3 10/25] tools/xentop: rework makefile
Date: Fri, 24 Jun 2022 17:04:07 +0100 [thread overview]
Message-ID: <20220624160422.53457-11-anthony.perard@citrix.com> (raw)
In-Reply-To: <20220624160422.53457-1-anthony.perard@citrix.com>
Add "xentop" to "TARGETS" because this variable will be useful later.
Always define all the targets, even when configured with
--disable-monitor, instead don't visit the subdirectory.
This mean xentop/ isn't visited anymore during "make clean" that's how
most other subdirs in the tools/ works.
Also add missing "xentop" rules. It only works without it because we
still have make's built-ins rules and variables, but fix this to not
have to rely on them.
Use $(TARGETS) with $(INSTALL_PROG), and thus install into the
directory rather than spelling the program name.
In the "clean" rule, use $(RM) and remove all "*.o" instead of just
one object.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
Notes:
v2:
- use $(RM) in clean.
- remove all *.o instead of just one object in "clean" rule.
- in "install" rule, make use of $(TARGETS). install into a dir rather
than to a specific path, in case there's more targets.
tools/Makefile | 2 +-
tools/xentop/Makefile | 21 +++++++++------------
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/tools/Makefile b/tools/Makefile
index 79b4c7e3de..0c1d8b64a4 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -17,7 +17,7 @@ SUBDIRS-$(CONFIG_XCUTILS) += xcutils
SUBDIRS-$(CONFIG_X86) += firmware
SUBDIRS-y += console
SUBDIRS-y += xenmon
-SUBDIRS-y += xentop
+SUBDIRS-$(XENSTAT_XENTOP) += xentop
SUBDIRS-y += libfsimage
SUBDIRS-$(CONFIG_Linux) += vchan
diff --git a/tools/xentop/Makefile b/tools/xentop/Makefile
index 0034114684..7bd96f34d5 100644
--- a/tools/xentop/Makefile
+++ b/tools/xentop/Makefile
@@ -13,36 +13,33 @@
XEN_ROOT=$(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
-ifneq ($(XENSTAT_XENTOP),y)
-.PHONY: all install xentop uninstall
-all install xentop uninstall:
-else
-
CFLAGS += -DGCC_PRINTF -Werror $(CFLAGS_libxenstat)
LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(TINFO_LIBS) $(SOCKET_LIBS) -lm
CFLAGS += -DHOST_$(XEN_OS)
# Include configure output (config.h)
CFLAGS += -include $(XEN_ROOT)/tools/config.h
-LDFLAGS += $(APPEND_LDFLAGS)
+
+TARGETS := xentop
.PHONY: all
-all: xentop
+all: $(TARGETS)
+
+xentop: xentop.o
+ $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) $(APPEND_LDFLAGS)
.PHONY: install
-install: xentop
+install: all
$(INSTALL_DIR) $(DESTDIR)$(sbindir)
- $(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
+ $(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(sbindir)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(sbindir)/xentop
-endif
-
.PHONY: clean
clean:
- rm -f xentop xentop.o $(DEPS_RM)
+ $(RM) *.o $(TARGETS) $(DEPS_RM)
.PHONY: distclean
distclean: clean
--
Anthony PERARD
next prev parent reply other threads:[~2022-06-24 16:05 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-24 16:03 [XEN PATCH v3 00/25] Toolstack build system improvement, toward non-recursive makefiles Anthony PERARD
2022-06-24 16:03 ` [XEN PATCH v3 01/25] tools/console: have one Makefile per program/directory Anthony PERARD
2022-07-08 15:08 ` Luca Fancellu
2022-06-24 16:03 ` [XEN PATCH v3 02/25] tools/debugger/gdbsx: Fix and cleanup makefiles Anthony PERARD
2022-07-08 15:23 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 03/25] tools/examples: cleanup Makefile Anthony PERARD
2022-07-08 15:31 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 04/25] tools/firmware/hvmloader: rework Makefile Anthony PERARD
2022-07-08 15:39 ` Luca Fancellu
2022-07-11 13:38 ` Anthony PERARD
2022-07-11 13:40 ` Luca Fancellu
2022-07-11 13:41 ` Jan Beulich
2022-07-11 13:52 ` Jan Beulich
2022-07-11 17:01 ` Anthony PERARD
2022-06-24 16:04 ` [XEN PATCH v3 05/25] tools/fuzz/libelf: rework makefile Anthony PERARD
2022-07-11 11:23 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 06/25] tools/fuzz/x86_instruction_emulator: " Anthony PERARD
2022-07-11 13:16 ` Luca Fancellu
2022-07-11 14:08 ` Jan Beulich
2022-08-02 17:09 ` Anthony PERARD
2022-08-03 5:56 ` Jan Beulich
2022-08-03 10:15 ` Anthony PERARD
2022-06-24 16:04 ` [XEN PATCH v3 07/25] tools/hotplug: cleanup Makefiles Anthony PERARD
2022-07-22 11:02 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 08/25] tools/libfsimage: Cleanup makefiles Anthony PERARD
2022-07-22 12:07 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 09/25] tools/xenpaging: Rework makefile Anthony PERARD
2022-07-22 12:17 ` Luca Fancellu
2022-06-24 16:04 ` Anthony PERARD [this message]
2022-07-22 13:13 ` [XEN PATCH v3 10/25] tools/xentop: rework makefile Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 11/25] tools/xentrace: rework Makefile Anthony PERARD
2022-07-22 13:30 ` Luca Fancellu
2022-08-08 15:35 ` Anthony PERARD
2022-06-24 16:04 ` [XEN PATCH v3 12/25] .gitignore: Cleanup ignores of tools/libs/*/{headers.chk,*.pc} Anthony PERARD
2022-06-29 10:15 ` Juergen Gross
2022-07-05 13:17 ` Bertrand Marquis
2022-06-24 16:04 ` [XEN PATCH v3 13/25] tools/libs/util: cleanup Makefile Anthony PERARD
2022-06-29 10:18 ` Juergen Gross
2022-07-05 13:20 ` Bertrand Marquis
2022-06-24 16:04 ` [XEN PATCH v3 14/25] tools/flask/utils: list build targets in $(TARGETS) Anthony PERARD
2022-07-12 1:30 ` Henry Wang
2022-06-24 16:04 ` [XEN PATCH v3 15/25] libs/libs.mk: Rename $(LIB) to $(TARGETS) Anthony PERARD
2022-06-29 10:19 ` Juergen Gross
2022-07-05 13:21 ` Bertrand Marquis
2022-06-24 16:04 ` [XEN PATCH v3 16/25] libs/libs.mk: Remove the need for $(PKG_CONFIG_INST) Anthony PERARD
2022-06-29 10:22 ` Juergen Gross
2022-07-05 13:27 ` Bertrand Marquis
2022-06-24 16:04 ` [XEN PATCH v3 17/25] libs/libs.mk: Rework target headers.chk dependencies Anthony PERARD
2022-06-29 10:23 ` Juergen Gross
2022-07-05 13:29 ` Bertrand Marquis
2022-06-24 16:04 ` [XEN PATCH v3 18/25] tools: Introduce $(xenlibs-rpath,..) to replace $(SHDEPS_lib*) Anthony PERARD
2022-06-29 10:26 ` Juergen Gross
2022-06-24 16:04 ` [XEN PATCH v3 19/25] tools: Introduce $(xenlibs-ldlibs, ) macro Anthony PERARD
2022-06-29 10:29 ` Juergen Gross
2022-06-24 16:04 ` [XEN PATCH v3 20/25] tools: Introduce $(xenlibs-ldflags, " Anthony PERARD
2022-07-12 1:40 ` Henry Wang
2022-06-24 16:04 ` [XEN PATCH v3 21/25] tools/helper: Cleanup Makefile Anthony PERARD
2022-07-22 14:06 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 22/25] tools/console: Use $(xenlibs-ldlibs,) Anthony PERARD
2022-07-22 14:15 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 23/25] tools/helpers: Fix build of xen-init-dom0 with -Werror Anthony PERARD
2022-07-12 1:31 ` Henry Wang
2022-06-24 16:04 ` [XEN PATCH v3 24/25] tools: Add -Werror by default to all tools/ Anthony PERARD
2022-07-22 14:31 ` Luca Fancellu
2022-06-24 16:04 ` [XEN PATCH v3 25/25] tools: Remove -Werror everywhere else Anthony PERARD
2022-06-29 8:59 ` Luca Fancellu
2022-06-29 17:22 ` Stefano Stabellini
2022-06-30 7:33 ` Bertrand Marquis
2022-06-30 21:03 ` Stefano Stabellini
2022-07-01 13:26 ` Bertrand Marquis
2022-07-01 17:47 ` Stefano Stabellini
2022-06-29 10:31 ` Juergen Gross
2022-06-27 7:25 ` [XEN PATCH v3 00/25] Toolstack build system improvement, toward non-recursive makefiles Christian Lindig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220624160422.53457-11-anthony.perard@citrix.com \
--to=anthony.perard@citrix.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.