brintos

brintos / linux-shallow public Read only

0
0
Text · 2.4 KiB · 3946d52 Raw
59 lines · plain
1# SPDX-License-Identifier: GPL-2.02CC		= $(CROSS_COMPILE)gcc3BUILD_OUTPUT	:= $(CURDIR)4PREFIX		?= /usr5DESTDIR		?=6DAY		:= $(shell date +%Y.%m.%d)7SNAPSHOT		= turbostat-$(DAY)8 9ifeq ("$(origin O)", "command line")10	BUILD_OUTPUT := $(O)11endif12 13turbostat : turbostat.c14override CFLAGS +=	-O2 -Wall -Wextra -I../../../include15override CFLAGS +=	-DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"'16override CFLAGS +=	-DINTEL_FAMILY_HEADER='"../../../../arch/x86/include/asm/intel-family.h"'17override CFLAGS +=	-DBUILD_BUG_HEADER='"../../../../include/linux/build_bug.h"'18override CFLAGS +=	-D_FILE_OFFSET_BITS=6419override CFLAGS +=	-D_FORTIFY_SOURCE=220 21%: %.c22	@mkdir -p $(BUILD_OUTPUT)23	$(CC) $(CFLAGS) $< -o $(BUILD_OUTPUT)/$@ $(LDFLAGS) -lcap -lrt24 25.PHONY : clean26clean :27	@rm -f $(BUILD_OUTPUT)/turbostat28	@rm -f $(SNAPSHOT).tar.gz29 30install : turbostat31	install -d $(DESTDIR)$(PREFIX)/bin32	install $(BUILD_OUTPUT)/turbostat $(DESTDIR)$(PREFIX)/bin/turbostat33	install -d $(DESTDIR)$(PREFIX)/share/man/man834	install -m 644 turbostat.8 $(DESTDIR)$(PREFIX)/share/man/man835 36snapshot: turbostat37	@rm -rf $(SNAPSHOT)38	@mkdir $(SNAPSHOT)39	@cp turbostat Makefile turbostat.c turbostat.8 ../../../../arch/x86/include/asm/intel-family.h $(SNAPSHOT)40 41	@sed -e 's/^#include <linux\/bits.h>/#include "bits.h"/' ../../../../arch/x86/include/asm/msr-index.h > $(SNAPSHOT)/msr-index.h42	@echo '#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))' >> $(SNAPSHOT)/msr-index.h43	@echo "#define BIT(x) (1 << (x))" > $(SNAPSHOT)/bits.h44	@echo "#define BIT_ULL(nr) (1ULL << (nr))" >> $(SNAPSHOT)/bits.h45	@echo "#define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (sizeof(long) * 8 - 1 - (h))))" >> $(SNAPSHOT)/bits.h46	@echo "#define GENMASK_ULL(h, l) (((~0ULL) << (l)) & (~0ULL >> (sizeof(long long) * 8 - 1 - (h))))" >> $(SNAPSHOT)/bits.h47 48	@echo '#define BUILD_BUG_ON(cond) do { enum { compile_time_check ## __COUNTER__ = 1/(!(cond)) }; } while (0)' > $(SNAPSHOT)/build_bug.h49	@echo '#define __must_be_array(arr) 0' >> $(SNAPSHOT)/build_bug.h50 51	@echo PWD=. > $(SNAPSHOT)/Makefile52	@echo "CFLAGS +=	-DMSRHEADER='\"msr-index.h\"'" >> $(SNAPSHOT)/Makefile53	@echo "CFLAGS +=	-DINTEL_FAMILY_HEADER='\"intel-family.h\"'" >> $(SNAPSHOT)/Makefile54	@echo "CFLAGS +=	-DBUILD_BUG_HEADER='\"build_bug.h\"'" >> $(SNAPSHOT)/Makefile55	@sed -e's/.*MSRHEADER.*//' -e's/.*INTEL_FAMILY_HEADER.*//' -e's/.*BUILD_BUG_HEADER.*//' Makefile >> $(SNAPSHOT)/Makefile56 57	@rm -f $(SNAPSHOT).tar.gz58	tar cvzf $(SNAPSHOT).tar.gz $(SNAPSHOT)59