-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
56 lines (48 loc) · 1.39 KB
/
makefile
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
#
# Copyright(C) 2014 Pedro H. Penna <pedrohenriquepenna@gmail.com>,
# Larissa Leijôto <larissa.leijoto@gmail.com>
#
# Directories.
export PREFIX = $(CURDIR)
export BINDIR = $(CURDIR)/bin
export CONTRIBDIR = $(CURDIR)/contrib
export INCDIR = $(CURDIR)/include
export LIBDIR = $(CURDIR)/lib
export LIBSRCDIR = $(CURDIR)/libsrc
export SRCDIR = $(CURDIR)/src
# Libraries.
export MYLIB = mylib-0.7
export LIBS += $(LIBDIR)/libmy.a
export LIBS += $(LIBDIR)/libsvm.a
export LIBS += -lm -fopenmp
# Executable name.
export EXEC = predict
# Toolchain.
export CXX = g++
export CC = gcc
export AR = ar
# Toolchain configuration.
CXXFLAGS= -D NDEBUG -O3
export CFLAGS = -I $(INCDIR) -ansi -pedantic -Wall -Wextra -Werror -std=c99
export CFLAGS += -D NDEBUG -O3
# Builds everything.
all: libraries
mkdir -p $(BINDIR)
cd $(SRCDIR) && $(MAKE) all
# Builds libraries.
libraries:
mkdir -p $(LIBDIR)
cd $(CONTRIBDIR) && \
mkdir -p $(MYLIB) && \
tar -xjvf $(MYLIB).tar.bz2 --directory $(MYLIB) && \
cd $(MYLIB) && \
$(MAKE) install PREFIX=$(PREFIX)
rm -rf $(CONTRIBDIR)/$(MYLIB)
cd $(LIBSRCDIR) && $(MAKE) all
cd $(LIBSRCDIR) && $(MAKE) all
# Cleans compilation files.
clean:
cd $(LIBSRCDIR) && $(MAKE) clean
cd $(SRCDIR) && $(MAKE) clean
rm -rf $(INCDIR)/mylib
rm -rf $(LIBDIR)