-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
90 lines (71 loc) · 2.09 KB
/
Makefile
File metadata and controls
90 lines (71 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#COMPILER = $(CXX)
COMPILER = g++
LIB=./lib
INCLUDE=./include
SRC=./src
OBJ=./obj
BIN=./bin
FLLIBPNGINCLUDES = -I./externals/libpng/include
FLLIBJPEGINCLUDES = -I./externals/libjpeg/include
FLLIBTIFFINCLUDES = -I./externals/libtiff/include
FLLIBSVMINCLUDES = -I./externals/libsvm/include
INCLUDEALL = $(FLLIBPNGINCLUDES) $(FLLIBJPEGINCLUDES) $(FLLIBSVMINCLUDES) -I$(INCLUDE)
FLAGS= -O3 -Wall -Wno-unused-result -pedantic -Wno-write-strings -fsanitize=address -fopenmp
#######################ift things
FLLIBIFTINCLUDES = -I./externals/libift/include
LIBCBLAS_LD = -llapack -lblas -lcblas
LIBIFT_LD = -L ./externals/libift/lib -lift
#######################
USE_IFT=0
ifeq ($(USE_IFT), 1)
export FLAGS += -DUSE_IFT=1
INCLUDEALL += $(FLLIBIFTINCLUDES)
LINKER += $(LIBIFT_LD) $(LIBCBLAS_LD)
endif
libFL: lpng ljpeg libsvm $(LIB)/libFL.a
echo "libFL.a built..."
$(LIB)/libFL.a: \
$(OBJ)/common.o \
$(OBJ)/linkedlist.o \
$(OBJ)/argumentList.o \
$(OBJ)/vector.o \
$(OBJ)/matrix.o \
$(OBJ)/file.o \
$(OBJ)/adjacencyRelation.o \
$(OBJ)/featureVector.o \
$(OBJ)/gif.o \
$(OBJ)/kernel.o \
$(OBJ)/image.o \
$(OBJ)/histogram.o \
$(OBJ)/morphology.o \
$(OBJ)/filtering.o \
$(OBJ)/sampling.o \
$(OBJ)/featureExtractor.o \
$(OBJ)/clustering.o \
$(OBJ)/classifiers.o \
$(OBJ)/bagOfVisualWords.o
ar csr $(LIB)/libFL.a $(OBJ)/*.o \
./externals/zlib/obj/*.o \
./externals/libpng/obj/*.o \
./externals/libjpeg/obj/*.o \
./externals/libsvm/obj/*.o
# generic src compilation
$(OBJ)/%.o: $(SRC)/%.cpp $(INCLUDE)/%.h
$(COMPILER) $(INCLUDEALL) $(FLAGS) -c $< -o $@
lpng: ./externals/libpng/source/ ./externals/libpng/include
cd externals/libpng; $(MAKE) ; cd -\
ljpeg: ./externals/libjpeg/source ./externals/libjpeg/include
cd externals/libjpeg; $(MAKE) ; cd -\
libtiff:
cd externals/libtiff; (MAKE) ; cd -\
libsvm:
cd externals/libsvm; $(MAKE) ; cd -\
clean:
rm $(LIB)/lib*.a; rm $(OBJ)/*.o
cleanAll:
rm $(LIB)/lib*.a; rm $(OBJ)/*.o;\
cd externals/libpng; $(MAKE) clean; \
cd ..; cd libjpeg; $(MAKE) clean; \
cd ..; cd zlib; $(MAKE) clean; \
cd ..; cd libsvm; $(MAKE) clean; \
cd ..; cd libtiff; $(MAKE) clean; cd -\