Skip to content
This repository was archived by the owner on Oct 18, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 69 additions & 42 deletions Makefile
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,45 +1,72 @@

# CPPFLAGS=-g3 -Wall -O0 -fPIC -DVERBOSE
CPPFLAGS=-O9 -Wall -DNDEBUG -fPIC

all: libcompact tests

doc:
@echo " [DOC] Generating documentation"
@doxygen

libcompact:
@echo " [MSG] Entering directory src"
@CPPFLAGS="$(CPPFLAGS)" make --no-print-directory -C src

tests: libcompact
@echo " [MSG] Entering directory tests"
@CPPFLAGS="$(CPPFLAGS)" make --no-print-directory -C tests

shared_lib: libcompact
@echo " [C++] Compiling shared library"
@g++ -shared $(CPPFLAGS) -w -o lib/libcds.so ./lib/libcds.a

shared_lib_install:
@cp ./lib/libcds.so /usr/lib
@cp ./lib/libcds.a /usr/lib
@echo " [MSG] Library copied to /usr/lib"
@mkdir -p /usr/include/libcds
@cp -rf ./includes /usr/include/libcds
@echo " [MSG] Headers copied to /usr/include/libcds"
CPP=g++

clean:
@echo " [MSG] Entering directory src"
@make --no-print-directory -C src clean
@echo " [MSG] Entering directory tests"
@make --no-print-directory -C tests clean
@echo " [CLN] Cleaning docs folder"
@rm -rf docs/*
@touch docs/delete_me
@echo " [CLN] Cleaning lib folder"
@rm -f lib/*
@touch lib/delete_me
@echo " [CLN] Cleaning includes folder"
@rm -f includes/*
@touch includes/delete_me
#CPPFLAGS=-g3 -Wall -O0 -I../includes/
#CPPFLAGS=-O3 -Wall -DNDEBUG -I../includes/
INCS=-I../includes/
LIB=../lib/libcds.a

OBJECTS= testArray.o testBitSequence.o testSequence.o testQuantile.o testHuffman.o timeSequence.o toArray.o toArray2.o
BIN= testArray testBitSequence testSequence testHuffman timeSequence toArray toArray2 testQuantile

%.o: %.cpp
@echo " [C++] Compiling $<"
@$(CPP) $(CPPFLAGS) $(INCS) -c $< -o $@

all: clean $(OBJECTS) $(BIN)
@echo " [MSG] Done compiling tests"
@echo " [FLG] $(CPPFLAGS)"

testHuffman:
@echo " [LNK] Building testHuffman"
@$(CPP) $(CPPFLAGS) -o testHuffman testHuffman.o $(LIB)

testSequence:
@echo " [LNK] Building testSequence"
@$(CPP) $(CPPFLAGS) -o testSequence testSequence.o $(LIB)

testQuantile:
@echo " [LNK] Building testSequence"
@$(CPP) $(CPPFLAGS) -o testQuantile testQuantile.o $(LIB)

testBitSequence:
@echo " [LNK] Building testBitSequence"
@$(CPP) $(CPPFLAGS) -o testBitSequence testBitSequence.o $(LIB)

testArray:
@echo " [LNK] Building testArray"
@$(CPP) $(CPPFLAGS) -o testArray testArray.o $(LIB)

testTextIndex:
@echo " [LNK] Building testTextIndex"
@$(CPP) $(CPPFLAGS) -o testTextIndex testTextIndex.o $(LIB)

testLCP:
@echo " [LNK] Building testLCP"
@$(CPP) $(CPPFLAGS) -o testLCP testLCP.o $(LIB)

testNPR:
@echo " [LNK] Building testNPR"
@$(CPP) $(CPPFLAGS) -o testNPR testNPR.o $(LIB)

toArray2:
@echo " [LNK] Building toArray2"
@$(CPP) $(CPPFLAGS) -o toArray2 toArray2.o $(LIB)

toArray:
@echo " [LNK] Building toArray"
@$(CPP) $(CPPFLAGS) -o toArray toArray.o $(LIB)

testSuffixTree:
@echo " [LNK] Building testSuffixTree"
@$(CPP) $(CPPFLAGS) -o testSuffixTree testSuffixTree.o $(LIB)

timeSequence:
@echo " [LNK] Building timeSequence"
@$(CPP) $(CPPFLAGS) -o timeSequence timeSequence.o $(LIB)



clean:
@echo " [CLN] Cleaning object and binary files"
@rm -f $(OBJECTS) $(BIN)
2 changes: 1 addition & 1 deletion src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ UTILS_OBJ=utils/Array.o utils/libcdsBitString.o utils/cppUtils.o utils/timing.o

# OBJECTS FROM cds_static PACKAGE
STATIC_MAPPER_OBJ=static/mapper/Mapper.o static/mapper/MapperNone.o static/mapper/MapperCont.o static/mapper/MapperRev.o
STATIC_BITSEQ_OBJ= static/bitsequence/BitSequence.o static/bitsequence/BitSequenceRG.o static/bitsequence/BitSequenceSDArray.o static/bitsequence/sdarraySadakane.o static/bitsequence/BitSequenceDArray.o static/bitsequence/BitSequenceRRR.o static/bitsequence/BitSequenceBuilderRG.o static/bitsequence/BitSequenceBuilderRRR.o static/bitsequence/BitSequenceBuilderSDArray.o static/bitsequence/BitSequenceBuilderDArray.o static/bitsequence/TableOffsetRRR.o
STATIC_BITSEQ_OBJ= static/bitsequence/BitSequence.o static/bitsequence/BitSequenceRG.o static/bitsequence/BitSequenceSDArray.o static/bitsequence/sdarraySadakane.o static/bitsequence/BitSequenceDArray.o static/bitsequence/BitSequenceRRR.o static/bitsequence/BitSequenceBuilderRG.o static/bitsequence/BitSequenceBuilderRRR.o static/bitsequence/BitSequenceBuilderSDArray.o static/bitsequence/BitSequenceBuilderDArray.o static/bitsequence/TableOffsetRRR.o static/bitsequence/BitSequenceRGK.o
STATIC_CODER_OBJ=static/coders/huff.o static/coders/HuffmanCoder.o
STATIC_SEQ_OBJ=static/sequence/Sequence.o static/sequence/BitmapsSequence.o static/sequence/wt_coder.o static/sequence/wt_coder_binary.o static/sequence/wt_coder_huff.o static/sequence/wt_node.o static/sequence/wt_node_internal.o static/sequence/wt_node_leaf.o static/sequence/WaveletTree.o static/sequence/WaveletTreeNoptrs.o static/sequence/WaveletTreeNoptrsS.o static/sequence/WaveletMatrix.o static/sequence/SequenceGMR.o static/sequence/SequenceGMRChunk.o static/sequence/SequenceBuilderWaveletTreeNoptrs.o static/sequence/SequenceBuilderWaveletTreeNoptrsS.o static/sequence/SequenceBuilderWaveletTree.o static/sequence/SequenceBuilderGMR.o static/sequence/SequenceBuilderGMRChunk.o static/sequence/SequenceAlphPart.o static/sequence/SequenceBuilderStr.o static/sequence/SequenceBuilderAlphPart.o static/sequence/SequenceBuilderWaveletMatrix.o

Expand Down
Loading