aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 4b4fbb25d0fd48f1d098de1d2729bb1fb1512ccd (plain)
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
VERSION=0.1
CC=gcc
CFLAGS=-Wall -O3 -DVERSION=$(VERSION) -g
INCLUDE= -Iinclude
LIB= -Llib
DOXY=doxygen
DOCDIR=doc
DOXYFILE=$(DOCDIR)/Doxyfile

EXECS=gensvm gensvm_grid

.PHONY: all clean doc test

all: lib/libgensvm.a $(EXECS)

override LDFLAGS+=-lcblas -llapack -lm

debug: CFLAGS += -DDEBUG
debug: all

doc:
	$(DOXY) $(DOXYFILE)

clean:
	rm -rf $(EXECS) *.o src/*.o lib/*.a
	$(MAKE) -C tests clean

test: lib/libgensvm.a
	$(MAKE) -C tests all

lib/libgensvm.a: \
	src/gensvm_base.o \
	src/gensvm_cmdarg.o \
	src/gensvm_copy.o \
	src/gensvm_cv_util.o \
	src/gensvm_grid.o \
	src/gensvm_gridsearch.o \
	src/gensvm_init.o \
	src/gensvm_io.o \
	src/gensvm_kernel.o \
	src/gensvm_memory.o \
	src/gensvm_optimize.o \
	src/gensvm_pred.o \
	src/gensvm_print.o \
	src/gensvm_queue.o \
	src/gensvm_simplex.o \
	src/gensvm_strutil.o \
	src/gensvm_sv.o \
	src/gensvm_task.o \
	src/gensvm_timer.o \
	src/gensvm_train.o
	@ar rcs lib/libgensvm.a \
		src/gensvm_base.o \
		src/gensvm_cmdarg.o \
		src/gensvm_copy.o \
		src/gensvm_cv_util.o \
		src/gensvm_grid.o \
		src/gensvm_gridsearch.o \
		src/gensvm_init.o \
		src/gensvm_io.o \
		src/gensvm_kernel.o \
		src/gensvm_memory.o \
		src/gensvm_optimize.o \
		src/gensvm_pred.o \
		src/gensvm_print.o \
		src/gensvm_queue.o \
		src/gensvm_simplex.o \
		src/gensvm_strutil.o \
		src/gensvm_sv.o \
		src/gensvm_task.o \
		src/gensvm_timer.o \
		src/gensvm_train.o
	@echo libgensvm.a...

gensvm: src/GenSVMtraintest.c lib/libgensvm.a
	@$(CC) -o $@ $< $(CFLAGS) $(INCLUDE) $(LIB) -lgensvm $(LDFLAGS)
	@echo gensvm ...

gensvm_grid: src/GenSVMgrid.c lib/libgensvm.a
	@$(CC) -o $@ $< $(CFLAGS) $(INCLUDE) $(LIB) -lgensvm $(LDFLAGS)
	@echo gensvm_grid ...

src/%.o: src/%.c
	@$(CC) $(CFLAGS) $(INCLUDE) $(LDFLAGS) -c $< -o $@
	@echo $< ...