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
|
# MAKE FILE, use 'make native' if you are running on a reasonably recent version
# of g++ for best optimisation. When ready for release, change PROGRAM to
# KlustaKwik for backwards compatibility
PROGRAM = KlustaKwik
OBJS = io.o linalg.o log.o parameters.o precomputations.o util.o klustakwik.o
CXX = g++
OPTIMISATIONS = -O3 -ffast-math
CXXFLAGS += -g -Wall -c -Wno-write-strings $(OPTIMISATIONS)
LFLAGS = -Wall
all: executable
.PHONY: all debug native executable clean
executable: $(OBJS)
$(CXX) $(LFLAGS) $(OBJS) -o $(PROGRAM) $(LDFLAGS)
clean:
\rm -f *.o $(PROGRAM)
######## DEPENDENCIES FOR FILES IN PROJECT ###################################
linalg.h: numerics.h
klustakwik.h: parameters.h log.h util.h numerics.h linalg.h
numerics.h: globalswitches.h
parameters.h: numerics.h
util.h: numerics.h
io.o: io.cpp klustakwik.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
linalg.o: linalg.cpp linalg.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
log.o: log.cpp log.h parameters.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
klustakwik.o: klustakwik.cpp klustakwik.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
parameters.o: parameters.cpp parameters.h log.h util.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
precomputations.o: precomputations.cpp klustakwik.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
util.o: util.cpp util.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $<
|