Knyffen
c6b6329134
The process contains the fingerprinting function along with a queue representing the sliding window. This means that the user no longer needs to remember the outgoing character when streaming the text.
53 lines
1.9 KiB
Makefile
53 lines
1.9 KiB
Makefile
CC = cc # C compiler
|
|
# cc and gcc is the same
|
|
CXX = c++ # C++ compiler
|
|
# c++
|
|
# g++
|
|
# clang++
|
|
CPPFLAGS = # preprocessor flags
|
|
CFLAGS = -Wall -Wfloat-equal -std=c99 -O0 -mtune=native -funroll-loops $(OPT) # C compiler flags
|
|
# -Wall: Warnings all
|
|
# -Wfloat-equal: Warn if comparing floats with ==
|
|
# -OX: Optimization level -O0 (none, default), -O1, -O2, -O3 (most, may increase file size), -Os (decrease file size), -ffast-math
|
|
# -mtune: Tune for specific/generic CPU
|
|
# -funrool-loops: Unroll loops when compiling
|
|
# -fopenmp: Enable OpenMP (When running, set the environmental variable OMP_NUM_THREADS)
|
|
# $(OPT): Passes any parameter given when calling make with 'make OPT=...'
|
|
CXXFLAGS = -Wall -std=c++20 -O0 # C++ compiler flags
|
|
LDFLAGS = # linker flags
|
|
LDLIBS = # library flags
|
|
# -lm (for <math.h>)
|
|
# -lblas (BASIC LINEAR ALGEBRA SUBPROGRAMS)
|
|
# -lcblas (for <cblas.h>)
|
|
# -lopenblas (NOT INSTALLED; blas and cblas in one; conflicts with blas and cblas)
|
|
# -llapack (LAPACKE)
|
|
# -llapacke (LAPACK) NOTE: The order of "-llapacke -llapack -lblas" is very important
|
|
#LINK.o = $(CXX) $(LDFLAGS) # use CXX for linking
|
|
|
|
simple_string_matching: simple_string_matching.o Rabin_fingerprint.o general_library.o processes.o
|
|
$(CXX) $(CXXFLAGS) simple_string_matching.o Rabin_fingerprint.o general_library.o processes.o -o simple_string_matching
|
|
|
|
simple_string_matching.o: simple_string_matching.cpp
|
|
$(CXX) $(CXXFLAGS) -c simple_string_matching.cpp
|
|
|
|
Rabin_fingerprint.o: Rabin_fingerprint.cpp Rabin_fingerprint.hpp
|
|
$(CXX) $(CXXFLAGS) -c Rabin_fingerprint.cpp
|
|
|
|
general_library.o: general_library.cpp general_library.hpp
|
|
$(CXX) $(CXXFLAGS) -c general_library.cpp
|
|
|
|
processes.o: processes.cpp processes.hpp
|
|
$(CXX) $(CXXFLAGS) -c processes.cpp
|
|
|
|
porat-porat: porat-porat.cpp
|
|
|
|
# Tell the compiler that 'clean' isn't referring to a file
|
|
.PHONY: clean
|
|
|
|
# A make target that cleans (by deleting files)
|
|
clean:
|
|
$(RM) porat-porat
|
|
$(RM) simple_string_matching
|
|
$(RM) *.o
|
|
$(RM) *.sage.py
|