mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 16:12:02 +00:00
tools/power turbostat: Add "snapshot:" Makefile target
Kernel developers often need to diagnose remote customer systems with the latest turbostat, yet customers are running binary distros with out-dated turbostat and the customer has no experience cloning linux kernel trees. Add a turbostat "snapshot" makefile target to create a standalone source snapshot from the developer's git tree, appropriately hacked so that the customer can build turbostat without a kernel tree. Include the turbostat binary in the snapshot, for convenience in those situations where the source and destination are trusted, (and have new enough glibc to execute). The snapshot is named with the date it was taken rather than the turbostat VERSION, as it could occur between VERSIONS... Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
a6189a7407
commit
231ce08b66
@ -3,6 +3,8 @@ CC = $(CROSS_COMPILE)gcc
|
||||
BUILD_OUTPUT := $(CURDIR)
|
||||
PREFIX ?= /usr
|
||||
DESTDIR ?=
|
||||
DAY := $(shell date +%Y.%m.%d)
|
||||
SNAPSHOT = turbostat-$(DAY)
|
||||
|
||||
ifeq ("$(origin O)", "command line")
|
||||
BUILD_OUTPUT := $(O)
|
||||
@ -22,9 +24,30 @@ override CFLAGS += -D_FORTIFY_SOURCE=2
|
||||
.PHONY : clean
|
||||
clean :
|
||||
@rm -f $(BUILD_OUTPUT)/turbostat
|
||||
@rm -f $(SNAPSHOT).tar.gz
|
||||
|
||||
install : turbostat
|
||||
install -d $(DESTDIR)$(PREFIX)/bin
|
||||
install -d $(DESTDIR)$(PREFIX)/bin
|
||||
install $(BUILD_OUTPUT)/turbostat $(DESTDIR)$(PREFIX)/bin/turbostat
|
||||
install -d $(DESTDIR)$(PREFIX)/share/man/man8
|
||||
install -d $(DESTDIR)$(PREFIX)/share/man/man8
|
||||
install -m 644 turbostat.8 $(DESTDIR)$(PREFIX)/share/man/man8
|
||||
|
||||
snapshot: turbostat
|
||||
@rm -rf $(SNAPSHOT)
|
||||
@mkdir $(SNAPSHOT)
|
||||
@cp turbostat Makefile turbostat.c turbostat.8 ../../../../arch/x86/include/asm/intel-family.h $(SNAPSHOT)
|
||||
|
||||
@sed -e 's/^#include <linux\/bits.h>/#include "bits.h"/' ../../../../arch/x86/include/asm/msr-index.h > $(SNAPSHOT)/msr-index.h
|
||||
@echo '#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))' >> $(SNAPSHOT)/msr-index.h
|
||||
@echo "#define BIT(x) (1 << (x))" > $(SNAPSHOT)/bits.h
|
||||
@echo "#define BIT_ULL(nr) (1ULL << (nr))" >> $(SNAPSHOT)/bits.h
|
||||
@echo "#define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (sizeof(long) * 8 - 1 - (h))))" >> $(SNAPSHOT)/bits.h
|
||||
@echo "#define GENMASK_ULL(h, l) (((~0ULL) << (l)) & (~0ULL >> (sizeof(long long) * 8 - 1 - (h))))" >> $(SNAPSHOT)/bits.h
|
||||
|
||||
@echo PWD=. > $(SNAPSHOT)/Makefile
|
||||
@echo "CFLAGS += -DMSRHEADER='\"msr-index.h\"'" >> $(SNAPSHOT)/Makefile
|
||||
@echo "CFLAGS += -DINTEL_FAMILY_HEADER='\"intel-family.h\"'" >> $(SNAPSHOT)/Makefile
|
||||
@sed -e's/.*MSRHEADER.*//' -e's/.*INTEL_FAMILY_HEADER.*//' Makefile >> $(SNAPSHOT)/Makefile
|
||||
|
||||
@rm -f $(SNAPSHOT).tar.gz
|
||||
tar cvzf $(SNAPSHOT).tar.gz $(SNAPSHOT)
|
||||
|
Loading…
Reference in New Issue
Block a user