mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-03 17:56:12 -04:00
21 lines
978 B
Makefile
21 lines
978 B
Makefile
# the old makefile (before switching to cmake)
|
|
#
|
|
# it has a minor usefulness in still that it can generate the fsst_avx512_unrollX.inc files which we now just added to the repo
|
|
SHELL := /bin/bash
|
|
|
|
OPT=-O3 -march=native -DNDEBUG
|
|
|
|
all: fsst
|
|
clean:
|
|
-@rm -f libfsst.[oa] fsst_avx512.o fsst
|
|
fsst: fsst.cpp libfsst.a
|
|
g++ -std=c++17 -W -Wall -ofsst $(OPT) -g fsst.cpp -L. -lfsst -lpthread
|
|
libfsst.a: libfsst.cpp libfsst.hpp fsst.h fsst_avx512.o
|
|
g++ -std=c++17 -W -Wall -c $(OPT) -g libfsst.cpp
|
|
ar ru $@ libfsst.o fsst_avx512.o
|
|
ranlib $@
|
|
fsst_avx512_unroll%.inc: fsst_avx512.inc
|
|
awk '{ if ($$0 != '//') for(i=1;i<='$*';i++) {s=$$0; gsub(/X/,i,s); print s}}' fsst_avx512.inc > fsst_avx512_unroll$*.inc;
|
|
fsst_avx512.o: fsst_avx512.cpp fsst_avx512_unroll1.inc fsst_avx512_unroll2.inc fsst_avx512_unroll3.inc fsst_avx512_unroll4.inc
|
|
g++ -std=c++17 -W -Wall -g -O1 -march=native -c fsst_avx512.cpp # -O1: no constant propagation reduces register pressure and improves unrolling
|