Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  Makefile   Sprache: unbekannt

 
SPDX-License-Identifier: GPL-2.0
java.lang.NullPointerException
This is a simple Makefile to test some of the RAID-6 code
from userspace.
java.lang.NullPointerException

pound := \java.lang.NullPointerException

Adjust as desired
CC       = gcc
OPTFLAGS = -O2
CFLAGS   = -I.. -I ../../../include -g $(OPTFLAGS)
LD       = ld
AWK      = awk -f
AR       = ar
RANLIB   = ranlib
OBJS     = int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o

ARCH := $(shell uname -m 2>/dev/null | sed -e /s/i.86/i386/)
ifeq ($(ARCH),i386)
        CFLAGS += -DCONFIG_X86_32
        IS_X86 = yes
endif
ifeq ($(ARCH),x86_64)
        CFLAGS += -DCONFIG_X86_64
        IS_X86 = yes
endif

ifeq ($(ARCH),arm)
        CFLAGS += -I../../../arch/arm/include -mfpu=neon
        HAS_NEON = yes
endif
ifeq ($(ARCH),aarch64)
        CFLAGS += -I../../../arch/arm64/include
        HAS_NEON = yes
endif

ifeq ($(findstring ppc,$(ARCH)),ppc)
        CFLAGS += -I../../../arch/powerpc/include
        HAS_ALTIVEC := $(shell printf '$(pound)include \nvector int a;\n' |\
                         gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
endif

ifeq ($(ARCH),loongarch64)
        CFLAGS += -I../../../arch/loongarch/include -DCONFIG_LOONGARCH=1
        CFLAGS += $(shell echo 'vld $$vr0, $$zero, 0' |         \
                    gcc -c -x assembler - >/dev/null 2>&1 &&    \
                    rm ./-.o && echo -DCONFIG_CPU_HAS_LSX=1)
        CFLAGS += $(shell echo 'xvld $$xr0, $$zero, 0' |        \
                    gcc -c -x assembler - >/dev/null 2>&1 &&    \
                    rm ./-.o && echo -DCONFIG_CPU_HAS_LASX=1)
endif

ifeq ($(IS_X86),yes)
        OBJS   += mmx.o sse1.o sse2.o avx2.o recov_ssse3.o recov_avx2.o avx512.o recov_avx512.o
        CFLAGS += -DCONFIG_X86
else ifeq ($(HAS_NEON),yes)
        OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
        CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
else ifeq ($(HAS_ALTIVEC),yes)
        CFLAGS += -DCONFIG_ALTIVEC
        OBJS += altivec1.o altivec2.o altivec4.o altivec8.o \
                vpermxor1.o vpermxor2.o vpermxor4.o vpermxor8.o
else ifeq ($(ARCH),loongarch64)
        OBJS += loongarch_simd.o recov_loongarch_simd.o
endif

.c.o:
 $(CC) $(CFLAGS) -c -o $@ $<

%.c: ../%.c
 cp -f $< $@

%.uc: ../%.uc
 cp -f $< $@

all: raid6.a raid6test

raid6.a: $(OBJS)
 rm -f $@
 $(AR) cq $@ $^
 $(RANLIB) $@

raid6test: test.c raid6.a
 $(CC) $(CFLAGS) -o raid6test $^

neon1.c: neon.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=1 < neon.uc > $@

neon2.c: neon.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=2 < neon.uc > $@

neon4.c: neon.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=4 < neon.uc > $@

neon8.c: neon.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=8 < neon.uc > $@

altivec1.c: altivec.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=1 < altivec.uc > $@

altivec2.c: altivec.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=2 < altivec.uc > $@

altivec4.c: altivec.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=4 < altivec.uc > $@

altivec8.c: altivec.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=8 < altivec.uc > $@

vpermxor1.c: vpermxor.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=1 < vpermxor.uc > $@

vpermxor2.c: vpermxor.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=2 < vpermxor.uc > $@

vpermxor4.c: vpermxor.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=4 < vpermxor.uc > $@

vpermxor8.c: vpermxor.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=8 < vpermxor.uc > $@

int1.c: int.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=1 < int.uc > $@

int2.c: int.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=2 < int.uc > $@

int4.c: int.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=4 < int.uc > $@

int8.c: int.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=8 < int.uc > $@

int16.c: int.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=16 < int.uc > $@

int32.c: int.uc ../unroll.awk
 $(AWK) ../unroll.awk -vN=32 < int.uc > $@

tables.c: mktables
 ./mktables > tables.c

clean:
 rm -f *.o *.a mktables mktables.c *.uc int*.c altivec*.c vpermxor*.c neon*.c tables.c raid6test

spotless: clean
 rm -f *~

Messung V0.5
C=100 H=100 G=100

[ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge