octopus/Makefile

45 lines
1.2 KiB
Makefile
Raw Normal View History

2022-01-22 15:04:17 +01:00
DEPENDENCIES= glibc-static
CC= clang
PROG= spectre
CFLAGS= -march=native
CFLAGS+= -W
CFLAGS+= -Wall
CFLAGS+= -Werror
CFLAGS+= -Wno-unused-parameter
CFLAGS+= -Wno-missing-field-initializers
OPTIMIZATIONS= 0 1 2 3
LINKAGE= static
OPROGS= $(foreach O, $(OPTIMIZATIONS), $(addsuffix -O$(O), $(PROG)))
PROGS+= $(OPROGS) $(foreach L, $(LINKAGE), $(addsuffix -$(L), $(foreach O, $(OPTIMIZATIONS), $(addsuffix -O$(O), $(PROG)))))
.PHONY: clean
.SILENT:
.NOTPARALLEL:
all: $(PROGS)
echo -e "\033[1mCPU\t\t" $$(LC_ALL=en_US.UTF-8 lscpu | grep "Model name" | cut -d":" -f 2 | sort | uniq | awk '{$$1=$$1;print}')
echo -e "Kernel\t\t" $$(uname -a)
echo -e "Test date\t" $$(date "+%d-%m-%Y")
echo -e "Clang\t\t" $$(clang -v 2>&1 | head -n 1)"\033[0m"
for p in $(PROGS); do \
sleep 1; \
echo -e "\033[4m$$p\033[0m "; \
taskset 01 ./$$p; \
echo; done
$(foreach O, $(OPTIMIZATIONS), $(addsuffix -O$(O), $(PROG))):
$(CC) $(CFLAGS) -$(word 2, $(subst -, ,$@)) -o $@ $(PROG).c
$(foreach L, $(LINKAGE), $(addsuffix -$(L), $(foreach O, $(OPTIMIZATIONS), $(addsuffix -O$(O), $(PROG))))):
$(CC) $(addprefix -, $(word 3, $(subst -, ,$@))) $(CFLAGS) -$(word 2, $(subst -, ,$@)) -o $@ $(PROG).c
clean:
rm -rf $(PROGS)