-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathMakefile
executable file
·87 lines (65 loc) · 2.06 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Copyright (C) 2023-2024 Simon Crase. simon@greenweavez.nz
#
# This is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this software. If not, see <http://www.gnu.org/licenses/>
#
# Makefile snarfed from https://stackoverflow.com/questions/2481269/how-to-make-a-simple-c-makefile
CPPFLAGS = -g -O3 -D_RUNTIME_CHECKS -pthread -I/sw/include/root -std=gnu++11 -DVERSION="\"$(GIT_VERSION)\""
LDFLAGS = -g -O3
LDLIBS =
CC = gcc
CXX = g++
RM = rm -f
MKDIR = mkdir
SRCS = ksim.cpp \
newick.cpp \
qrtd.cpp \
tree.cpp
TESTS = test-ksim.cpp \
test-newick.cpp \
test-qrtd.cpp \
test-tree.cpp
OBJS1 = $(subst .cpp,.o,$(SRCS))
OBJS = $(subst .cc,.o,$(OBJS1))
TEST_OBJS = $(subst .cpp,.o,$(TESTS))
MAIN = bioinformatics.exe
TEST_MAIN = tests.exe
TARGETS = $(MAIN)
all : $(TARGETS) $(TEST_OBJS)
run : all
${RM} *.stackdump
$(MAIN)
clean :
${RM} *.o *.stackdump
rebuild: clean all
depend: .depend
install: rebuild
cp $(MAIN) /usr/local/bin
.depend: $(SRCS) $(TESTS)
$(RM) ./.depend
$(CXX) $(CPPFLAGS) -MM $^>>./.depend;
sed -i -e 's/\/home\/Weka\/qrtd\///$g' .depend
$(MAIN): $(OBJS) bioinformatics.o
${CXX} $(LDFLAGS) -o $(MAIN) ${OBJS} bioinformatics.o ${LDLIBS}
$(TEST_MAIN): $(OBJS) tests.o $(TEST_OBJS)
${CXX} $(LDFLAGS) -o $(TEST_MAIN) tests.o ${OBJS} $(TEST_OBJS) ${LDLIBS}
tests : $(TEST_MAIN)
${RM} *.stackdump
./$(TEST_MAIN)
distclean: clean
$(RM) *~ .depend
setup:
-$(MKDIR) configs
-$(MKDIR) imgs
-$(MKDIR) logs
include .depend