forked from jerenner/tofpet3d
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
executable file
·47 lines (37 loc) · 1010 Bytes
/
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
ifndef TOFPET3DDIR
$(error TOFPET3DDIR is not set)
endif
OBJDIR = $(TOFPET3DDIR)/obj
SRCDIR = $(TOFPET3DDIR)/cc
LIBDIR = $(TOFPET3DDIR)/lib
SOURCES = $(wildcard $(SRCDIR)/*.cc)
OBJECTS = $(subst $(SRCDIR),$(OBJDIR),$(SOURCES:.cc=.o))
TARGETS = dirs
TARGETS += $(OBJECTS)
CXX = g++
# Compilation flags
CFLAGS = -fpic -c
# Optimization flags
CFLAGS += -O2
# Debug flags
CFLAGS += -pg
all: $(TARGETS)
@echo Creating library libmlem...
@$(CXX) -shared -o $(LIBDIR)/libmlem.so $(OBJECTS)
@echo Finished.
dirs :
@if [ ! -d $(LIBDIR) ] ; then mkdir -p $(LIBDIR); \
echo " >>>> Created directory $(LIBDIR)"; \
else echo " $(LIBDIR) already exists"; fi
@if [ ! -d $(OBJDIR) ]; then mkdir -p $(OBJDIR); \
echo " >>>> Create directory $(OBJDIR)"; \
else echo " $(OBJDIR) already exists"; fi
clean:
@echo Removing object files...
@$(RM) $(OBJDIR)/*.o
@echo Removing libraries...
@$(RM) $(LIBDIR)/*.so
$(OBJDIR)/mlem.o: \
$(SRCDIR)/mlem.cc
@echo $@
@$(CXX) $(CFLAGS) $< -o $@