diff options
| author | Jack O'Connor <[email protected]> | 2020-07-20 09:45:20 -0400 |
|---|---|---|
| committer | Jack O'Connor <[email protected]> | 2020-07-20 09:47:38 -0400 |
| commit | e4703ac170c5852be5bd13f5e45f416b6ab492b3 (patch) | |
| tree | aea255e28829098c9eeb73c68c5782eb9c7e6e42 /c/Makefile.testing | |
| parent | 7d0de7be14789924a4cfdb0e844eef3540237b2b (diff) | |
rename the C Makefile to Makefile.testing
Diffstat (limited to 'c/Makefile.testing')
| -rw-r--r-- | c/Makefile.testing | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/c/Makefile.testing b/c/Makefile.testing new file mode 100644 index 0000000..18245c7 --- /dev/null +++ b/c/Makefile.testing @@ -0,0 +1,64 @@ +# This Makefile is only for testing. C callers should follow the instructions +# in ./README.md to incorporate these C files into their existing build. + +NAME=blake3 +CC=gcc +CFLAGS=-O3 -Wall -Wextra -std=c11 -pedantic +TARGETS= +ASM_TARGETS= +EXTRAFLAGS= + +ifdef BLAKE3_NO_SSE41 +EXTRAFLAGS += -DBLAKE3_NO_SSE41 +else +TARGETS += blake3_sse41.o +ASM_TARGETS += blake3_sse41_x86-64_unix.S +endif + +ifdef BLAKE3_NO_AVX2 +EXTRAFLAGS += -DBLAKE3_NO_AVX2 +else +TARGETS += blake3_avx2.o +ASM_TARGETS += blake3_avx2_x86-64_unix.S +endif + +ifdef BLAKE3_NO_AVX512 +EXTRAFLAGS += -DBLAKE3_NO_AVX512 +else +TARGETS += blake3_avx512.o +ASM_TARGETS += blake3_avx512_x86-64_unix.S +endif + +ifdef BLAKE3_USE_NEON +EXTRAFLAGS += -DBLAKE3_USE_NEON +TARGETS += blake3_neon.o +endif + +all: blake3.c blake3_dispatch.c blake3_portable.c main.c $(TARGETS) + $(CC) $(CFLAGS) $(EXTRAFLAGS) $^ -o $(NAME) + +blake3_sse41.o: blake3_sse41.c + $(CC) $(CFLAGS) $(EXTRAFLAGS) -c $^ -o $@ -msse4.1 + +blake3_avx2.o: blake3_avx2.c + $(CC) $(CFLAGS) $(EXTRAFLAGS) -c $^ -o $@ -mavx2 + +blake3_avx512.o: blake3_avx512.c + $(CC) $(CFLAGS) $(EXTRAFLAGS) -c $^ -o $@ -mavx512f -mavx512vl + +blake3_neon.o: blake3_neon.c + $(CC) $(CFLAGS) $(EXTRAFLAGS) -c $^ -o $@ + +test: CFLAGS += -DBLAKE3_TESTING -fsanitize=address,undefined +test: all + ./test.py + +asm: blake3.c blake3_dispatch.c blake3_portable.c main.c $(ASM_TARGETS) + $(CC) $(CFLAGS) $(EXTRAFLAGS) $^ -o $(NAME) + +test_asm: CFLAGS += -DBLAKE3_TESTING -fsanitize=address,undefined +test_asm: asm + ./test.py + +clean: + rm -f $(NAME) *.o |
