-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefileLinux
More file actions
61 lines (47 loc) · 2.21 KB
/
MakefileLinux
File metadata and controls
61 lines (47 loc) · 2.21 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
# usage> make -f .\MakefileLinux
##########################################################################################
# Specify library locations here (add or remove "#" marks to comment/uncomment lines for your platform)
# Mac OS X
# BNCpp_INCLUDE_PATH =
# BNCpp_LIBRARY_PATH =
# BNCpp_BLAS_LIBS = -framework Accelerate
# BNCpp_SUITESPARSE_LIBS = -lspqr -lumfpack -lcholmod -lmetis -lcolamd -lccolamd -lcamd -lamd -ltbb -lm -lsuitesparseconfig
# BNCpp_OPENGL_LIBS = -framework OpenGL -framework GLUT
# # Linux
BNCpp_INCLUDE_PATH = -I./include -I./src
BNCpp_LIBRARY_PATH =
BNCpp_BLAS_LIBS = -llapack -lblas -lgfortran
# BNCpp_SUITESPARSE_LIBS = -lspqr -lcholmod -lmetis -lcolamd -lccolamd -lcamd -lamd -lm
# BNCpp_OPENGL_LIBS = -lglut -lGL -lGLU -lX11
BNCpp_SUITESPARSE_LIBS = -lspqr -lcholmod -lcolamd -lccolamd -lcamd -lamd -lm -lumfpack -lamd #-lmetis
BNCpp_OPENGL_LIBS = -lGL -lGLU -lglut -lGLEW #-lX11
# # Windows / Cygwin
# BNCpp_INCLUDE_PATH = -I/usr/include/opengl -I/usr/include/suitesparse
# BNCpp_LIBRARY_PATH = -L/usr/lib/w32api -L/usr/lib/suitesparse
# BNCpp_BLAS_LIBS = -llapack -lblas
# BNCpp_SUITESPARSE_LIBS = -lspqr -lcholmod -lcolamd -lccolamd -lcamd -lamd -lm
# BNCpp_OPENGL_LIBS = -lglut32 -lglu32 -lopengl32
########################################################################################
TARGET = run/BNcpp
CC = g++
LD = g++
CFLAGS = -O3 -Wall -Werror -ansi -pedantic $(BNCpp_INCLUDE_PATH)
LFLAGS = -O3 -Wall -Werror -ansi -pedantic $(BNCpp_LIBRARY_PATH)
LIBS = $(BNCpp_OPENGL_LIBS) $(BNCpp_SUITESPARSE_LIBS) $(BNCpp_BLAS_LIBS)
########################################################################################
## !! Do not edit below this line
HEADERS := $(wildcard include/*.h) $(wildcard include/*.hpp)
SOURCES := $(wildcard src/*.cpp)
OBJECTS := $(addprefix obj/,$(notdir $(SOURCES:.cpp=.o)))
all: $(TARGET)
$(TARGET): $(OBJECTS)
@echo "headers = " $(HEADERS)
@echo "sources = " $(SOURCES)
@echo "objects = " $(OBJECTS)
$(LD) $(OBJECTS) -o $(TARGET) $(CFLAGS) $(LFLAGS) $(LIBS) -std=gnu++11
obj/%.o: src/%.cpp ${HEADERS}
$(CC) -c $< -o $@ $(CFLAGS)
clean:
rm -f $(OBJECTS)
rm -f $(TARGET)
rm -f $(TARGET).exe