tests/cpu-policy: Rework Makefile

In particular, fill in the install/uninstall rules so this test can be
packaged to be automated sensibly.

Rework TARGET-y to be TARGETS, drop redundant -f's for $(RM), drop the
unconditional -O3 and use the default instead, and drop CFLAGS from the link
line but honour APPEND_LDFLAGS.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2021-07-09 16:38:27 +01:00
1 parent ff759953b3
commit 6a9f547763
1 file changed
+18 -11
+18 -11
View File
@@ -1,21 +1,19 @@
XEN_ROOT = $(CURDIR)/../../..
include $(XEN_ROOT)/tools/Rules.mk
TARGET-y := test-cpu-policy
TARGETS :=
# For brevity, these tests make extensive use of designated initialisers in
# anonymous unions, but GCCs older than 4.6 can't cope. Ignore the test in
# this case.
ifneq ($(clang),y)
TARGET-$(call cc-ver,$(CC),lt,0x040600) :=
endif
ifeq ($(TARGET-y),)
ifneq ($(gcc)$(call cc-ver,$(CC),lt,0x040600),yy)
TARGETS += test-cpu-policy
else
$(warning Test harness not built, use newer compiler than "$(CC)" (version $(shell $(CC) -dumpversion)))
endif
.PHONY: all
all: $(TARGET-y)
all: $(TARGETS)
.PHONY: run
run: $(TARGET-y)
@@ -23,23 +21,32 @@ run: $(TARGET-y)
.PHONY: clean
clean:
$(RM) -f -- *.o .*.d .*.d2 test-cpu-policy
$(RM) -- *.o $(TARGETS) $(DEPS_RM)
.PHONY: distclean
distclean: clean
$(RM) -f -- *~
$(RM) -- *~
.PHONY: install
install: all
$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
$(if $(TARGETS),$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(LIBEXEC_BIN))
.PHONY: uninstall
uninstall:
$(RM) -- $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/,$(TARGETS))
CFLAGS += -Werror $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -O3
CFLAGS += -Werror -D__XEN_TOOLS__
CFLAGS += $(CFLAGS_xeninclude)
CFLAGS += $(APPEND_CFLAGS)
LDFLAGS += $(APPEND_LDFLAGS)
vpath %.c ../../../xen/lib/x86
%.o: Makefile
test-cpu-policy: test-cpu-policy.o msr.o cpuid.o policy.o
$(CC) $(CFLAGS) $^ -o $@
$(CC) $^ -o $@ $(LDFLAGS)
-include $(DEPS_INCLUDE)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.