cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Makefile (3546B)


      1# SPDX-License-Identifier: GPL-2.0
      2#
      3# This is a simple Makefile to test some of the RAID-6 code
      4# from userspace.
      5#
      6
      7pound := \#
      8
      9CC	 = gcc
     10OPTFLAGS = -O2			# Adjust as desired
     11CFLAGS	 = -I.. -I ../../../include -g $(OPTFLAGS)
     12LD	 = ld
     13AWK	 = awk -f
     14AR	 = ar
     15RANLIB	 = ranlib
     16OBJS	 = int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o
     17
     18ARCH := $(shell uname -m 2>/dev/null | sed -e /s/i.86/i386/)
     19ifeq ($(ARCH),i386)
     20        CFLAGS += -DCONFIG_X86_32
     21        IS_X86 = yes
     22endif
     23ifeq ($(ARCH),x86_64)
     24        CFLAGS += -DCONFIG_X86_64
     25        IS_X86 = yes
     26endif
     27
     28ifeq ($(ARCH),arm)
     29        CFLAGS += -I../../../arch/arm/include -mfpu=neon
     30        HAS_NEON = yes
     31endif
     32ifeq ($(ARCH),aarch64)
     33        CFLAGS += -I../../../arch/arm64/include
     34        HAS_NEON = yes
     35endif
     36
     37ifeq ($(IS_X86),yes)
     38        OBJS   += mmx.o sse1.o sse2.o avx2.o recov_ssse3.o recov_avx2.o avx512.o recov_avx512.o
     39        CFLAGS += -DCONFIG_X86
     40	CFLAGS += $(shell echo "vpmovm2b %k1, %zmm5" |          \
     41		    gcc -c -x assembler - >/dev/null 2>&1 &&	\
     42		    rm ./-.o && echo -DCONFIG_AS_AVX512=1)
     43else ifeq ($(HAS_NEON),yes)
     44        OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
     45        CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
     46else
     47        HAS_ALTIVEC := $(shell printf '$(pound)include <altivec.h>\nvector int a;\n' |\
     48                         gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
     49        ifeq ($(HAS_ALTIVEC),yes)
     50                CFLAGS += -I../../../arch/powerpc/include
     51                CFLAGS += -DCONFIG_ALTIVEC
     52                OBJS += altivec1.o altivec2.o altivec4.o altivec8.o \
     53                        vpermxor1.o vpermxor2.o vpermxor4.o vpermxor8.o
     54        endif
     55endif
     56
     57.c.o:
     58	$(CC) $(CFLAGS) -c -o $@ $<
     59
     60%.c: ../%.c
     61	cp -f $< $@
     62
     63%.uc: ../%.uc
     64	cp -f $< $@
     65
     66all:	raid6.a raid6test
     67
     68raid6.a: $(OBJS)
     69	 rm -f $@
     70	 $(AR) cq $@ $^
     71	 $(RANLIB) $@
     72
     73raid6test: test.c raid6.a
     74	$(CC) $(CFLAGS) -o raid6test $^
     75
     76neon1.c: neon.uc ../unroll.awk
     77	$(AWK) ../unroll.awk -vN=1 < neon.uc > $@
     78
     79neon2.c: neon.uc ../unroll.awk
     80	$(AWK) ../unroll.awk -vN=2 < neon.uc > $@
     81
     82neon4.c: neon.uc ../unroll.awk
     83	$(AWK) ../unroll.awk -vN=4 < neon.uc > $@
     84
     85neon8.c: neon.uc ../unroll.awk
     86	$(AWK) ../unroll.awk -vN=8 < neon.uc > $@
     87
     88altivec1.c: altivec.uc ../unroll.awk
     89	$(AWK) ../unroll.awk -vN=1 < altivec.uc > $@
     90
     91altivec2.c: altivec.uc ../unroll.awk
     92	$(AWK) ../unroll.awk -vN=2 < altivec.uc > $@
     93
     94altivec4.c: altivec.uc ../unroll.awk
     95	$(AWK) ../unroll.awk -vN=4 < altivec.uc > $@
     96
     97altivec8.c: altivec.uc ../unroll.awk
     98	$(AWK) ../unroll.awk -vN=8 < altivec.uc > $@
     99
    100vpermxor1.c: vpermxor.uc ../unroll.awk
    101	$(AWK) ../unroll.awk -vN=1 < vpermxor.uc > $@
    102
    103vpermxor2.c: vpermxor.uc ../unroll.awk
    104	$(AWK) ../unroll.awk -vN=2 < vpermxor.uc > $@
    105
    106vpermxor4.c: vpermxor.uc ../unroll.awk
    107	$(AWK) ../unroll.awk -vN=4 < vpermxor.uc > $@
    108
    109vpermxor8.c: vpermxor.uc ../unroll.awk
    110	$(AWK) ../unroll.awk -vN=8 < vpermxor.uc > $@
    111
    112int1.c: int.uc ../unroll.awk
    113	$(AWK) ../unroll.awk -vN=1 < int.uc > $@
    114
    115int2.c: int.uc ../unroll.awk
    116	$(AWK) ../unroll.awk -vN=2 < int.uc > $@
    117
    118int4.c: int.uc ../unroll.awk
    119	$(AWK) ../unroll.awk -vN=4 < int.uc > $@
    120
    121int8.c: int.uc ../unroll.awk
    122	$(AWK) ../unroll.awk -vN=8 < int.uc > $@
    123
    124int16.c: int.uc ../unroll.awk
    125	$(AWK) ../unroll.awk -vN=16 < int.uc > $@
    126
    127int32.c: int.uc ../unroll.awk
    128	$(AWK) ../unroll.awk -vN=32 < int.uc > $@
    129
    130tables.c: mktables
    131	./mktables > tables.c
    132
    133clean:
    134	rm -f *.o *.a mktables mktables.c *.uc int*.c altivec*.c vpermxor*.c neon*.c tables.c raid6test
    135
    136spotless: clean
    137	rm -f *~