develop #17
32
Makefile
32
Makefile
@ -3,22 +3,18 @@ CC=g++
|
||||
|
||||
# Flags
|
||||
CFLAGS=-Wall -larmadillo -std=c++11 -O3 -fopenmp
|
||||
PROFFLAGS=-fno-inline-functions
|
||||
DBGFLAGS=-DDBG -g
|
||||
|
||||
MKDIR=mkdir -p
|
||||
RMDIR=rm -rf
|
||||
INSTRUMENT=scorep
|
||||
|
||||
# Directories for binaries
|
||||
BINDIR=./bin
|
||||
PROFDIR=./prof
|
||||
DEBUGDIR=./debug
|
||||
|
||||
# Directories for object files
|
||||
BUILDDIR=./build
|
||||
BINOBJDIR=$(BUILDDIR)/objs
|
||||
PROFOBJDIR=$(BUILDDIR)/prof
|
||||
DEBUGOBJDIR=$(BUILDDIR)/debug
|
||||
|
||||
# Directory for latex source
|
||||
@ -29,23 +25,14 @@ SRC=./src
|
||||
LIB=./lib
|
||||
INCLUDE=./include
|
||||
|
||||
# Source files and object file locations
|
||||
#SRCFILES=utils.cpp testlib.cpp
|
||||
#SRCS=$(addprefix $(SRC)/, $(SRCS))
|
||||
#BINOBJS=$(addprefix $(BINOBJDIR)/, $(SRCFILES:.cpp=.o))
|
||||
#PROFOBJS=$(addprefix $(PROFOBJDIR)/, $(SRCFILES:.cpp=.o))
|
||||
#DEBUGOBJS=$(addprefix $(DEBUGOBJDIR)/, $(SRCFILES:.cpp=.o))
|
||||
|
||||
# Lib files
|
||||
LIBSRCS=$(notdir $(shell find $(LIB) -type f))
|
||||
LIBBINOBJS=$(addprefix $(BINOBJDIR)/, $(LIBSRCS:.cpp=.o))
|
||||
LIBPROFOBJS=$(addprefix $(PROFOBJDIR)/, $(LIBSRCS:.cpp=.o))
|
||||
LIBDEBUGOBJS=$(addprefix $(DEBUGOBJDIR)/, $(LIBSRCS:.cpp=.o))
|
||||
|
||||
# Location for Binaries
|
||||
EXEC=$(basename $(notdir $(shell find $(SRC) -type f)))
|
||||
BINS=$(addprefix $(BINDIR)/, $(EXEC))
|
||||
PROFBINS=$(addprefix $(PROFDIR)/, $(EXEC))
|
||||
DEBUGBINS=$(addprefix $(DEBUGDIR)/, $(EXEC))
|
||||
|
||||
# List phony targets
|
||||
@ -54,8 +41,6 @@ DEBUGBINS=$(addprefix $(DEBUGDIR)/, $(EXEC))
|
||||
# "Commands"
|
||||
all: $(BINS)
|
||||
|
||||
profile: $(PROFBINS)
|
||||
|
||||
debug: $(DEBUGBINS)
|
||||
|
||||
# build latex file
|
||||
@ -67,11 +52,6 @@ $(BINDIR)/%: $(BINOBJDIR)/%.o $(LIBBINOBJS)
|
||||
$(MKDIR) $(BINDIR)
|
||||
$(CC) $^ -o $@ $(CFLAGS) -I$(INCLUDE)
|
||||
|
||||
# Rule for profiling binaries
|
||||
$(PROFDIR)/%: $(PROFOBJDIR)/%.o $(LIBPROFOBJS)
|
||||
$(MKDIR) $(PROFDIR)
|
||||
$(INSTRUMENT) $(CC) $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE)
|
||||
|
||||
# Rule for debug binaries
|
||||
$(DEBUGDIR)/%: $(DEBUGOBJDIR)/%.o $(LIBDEBUGOBJS)
|
||||
$(MKDIR) $(DEBUGDIR)
|
||||
@ -83,11 +63,6 @@ $(BINOBJDIR)/%.o: $(SRC)/%.cpp
|
||||
echo $(LIBBINOBJS)
|
||||
$(CC) -c $^ -o $@ $(CFLAGS) -I$(INCLUDE)
|
||||
|
||||
# Rule for instrumented object files
|
||||
$(PROFOBJDIR)/%.o: $(SRC)/%.cpp
|
||||
$(MKDIR) $(PROFOBJDIR)
|
||||
$(INSTRUMENT) $(CC) -c $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE)
|
||||
|
||||
# Rule for debug object files
|
||||
$(DEBUGOBJDIR)/%.o: $(SRC)/%.cpp
|
||||
$(MKDIR) $(DEBUGOBJDIR)
|
||||
@ -98,11 +73,6 @@ $(BINOBJDIR)/%.o: $(LIB)/%.cpp
|
||||
$(MKDIR) $(BINOBJDIR)
|
||||
$(CC) -c $^ -o $@ $(CFLAGS) -I$(INCLUDE)
|
||||
|
||||
# Rule for instrumented object files
|
||||
$(PROFOBJDIR)/%.o: $(LIB)/%.cpp
|
||||
$(MKDIR) $(PROFOBJDIR)
|
||||
$(INSTRUMENT) $(CC) -c $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE)
|
||||
|
||||
# Rule for debug object files
|
||||
$(DEBUGOBJDIR)/%.o: $(LIB)/%.cpp
|
||||
$(MKDIR) $(DEBUGOBJDIR)
|
||||
@ -118,4 +88,4 @@ objclean:
|
||||
$(RMDIR) $(BUILDDIR)
|
||||
|
||||
binclean:
|
||||
$(RMDIR) $(BINDIR) $(PROFDIR) $(DEBUGDIR)
|
||||
$(RMDIR) $(BINDIR) $(DEBUGDIR)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user