summaryrefslogtreecommitdiff
blob: cf47b35af5023853bb5b0c2014320dc564eba4c3 (plain)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
 src/Makefile | 61 ++++++++++++++++++++++++++++++------------------------------
 1 file changed, 31 insertions(+), 30 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index 607ab45..a88adf4 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -52,15 +52,16 @@ TESTOPTS=
 WINMAKE=mingw32-make
 
 LDLIBS     = -lm
-AR         = ar
-CC         = gcc
-CPP        = g++
-O_OPTS     = -O2
-CC_OPTS    = -g -Wall -D__USE_FIXED_PROTOTYPES__
-P_DEFINES  =
+AR         ?= ar
+CC         ?= gcc
+CXX        ?= g++
+O_OPTS     ?= 
+CC_OPTS    ?= -Wall -D__USE_FIXED_PROTOTYPES__
+P_DEFINES  ?=
 
-CFLAGS  = $(CC_OPTS) $(O_OPTS)
-LDFLAGS = -g
+CFLAGS    += $(CC_OPTS) $(O_OPTS)
+CXXFLAGS  += $(CC_OPTS) $(O_OPTS)
+LDFLAGS   +=
 # Note, for profiling, use
 # make O_OPTS='-pg -O0' LDFLAGS='-g -pg'
 
@@ -92,7 +93,7 @@ LIBPRIMER3      = libprimer3.a
 LIBPRIMER3_DYN  = libprimer3.so.1.0.0
 LIBRARIES       = $(LIBPRIMER3) $(LIBDPAL) $(LIBTHAL) $(LIBOLIGOTM) 
 DYNLIBS         = $(LIBPRIMER3_DYN) $(LIBDPAL_DYN) $(LIBTHAL_DYN) $(LIBOLIGOTM_DYN)
-RANLIB          = ranlib
+RANLIB          ?= ranlib
 
 PRIMER_OBJECTS1=primer3_boulder_main.o\
                 format_output.o\
@@ -127,85 +128,85 @@ $(LIBOLIGOTM): oligotm.o
 	$(RANLIB) $@
 
 $(LIBOLIGOTM_LIB): oligotm.o
-	$(CC) -shared -W1,-soname,liboligotm.so.1 -o $(LIBOLIGOTM_DYN) oligotm.o
+	$(CC) $(LDFLAGS) -shared -W1,-soname,liboligotm.so.1 -o $(LIBOLIGOTM_DYN) oligotm.o
 
 $(LIBDPAL): dpal_primer.o
 	$(AR) rv $@ dpal_primer.o
 	$(RANLIB) $@
 
 $(LIBDPAL_DYN): dpal_primer.o
-	$(CC) -shared -W1,-soname,libdpal.so.1 -o $(LIBDPAL_DYN_LIB) dpal_primer.o
+	$(CC) $(LDFLAGS) -shared -W1,-soname,libdpal.so.1 -o $(LIBDPAL_DYN_LIB) dpal_primer.o
 
 $(LIBTHAL): thal_primer.o
 	$(AR) rv $@ thal_primer.o
 	$(RANLIB) $@
 
 $(LIBTHAL_DYN): thal_primer.o
-	$(CC) -shared -W1,-soname,libthal.so.1 -o $(LIBTHAL_DYN_LIB) thal_primer.o
+	$(CC) $(LDFLAGS) -shared -W1,-soname,libthal.so.1 -o $(LIBTHAL_DYN_LIB) thal_primer.o
 
 $(LIBPRIMER3): libprimer3.o p3_seq_lib.o
 	$(AR) rv $@ libprimer3.o p3_seq_lib.o
 	$(RANLIB) $@
 
 $(LIBPRIMER3_DYN): libprimer3.o p3_seq_lib.o
-	$(CC) -shared -W1,-soname,liprimer3.so.1 -o $(LIBPRIMER3_DYN) libprimer3.o p3_seq_lib.o
+	$(CC) $(LDFLAGS) -shared -W1,-soname,liprimer3.so.1 -o $(LIBPRIMER3_DYN) libprimer3.o p3_seq_lib.o
 
 $(PRIMER_EXE): $(PRIMER_OBJECTS)
-	$(CPP) $(LDFLAGS) -o $@ $(PRIMER_OBJECTS) $(LIBOPTS) $(LDLIBS)
+	$(CXX) $(LDFLAGS) -o $@ $(PRIMER_OBJECTS) $(LIBOPTS) $(LDLIBS)
 
 libprimer3.o: libprimer3.c libprimer3.h p3_seq_lib.h dpal.h thal.h oligotm.h
-	$(CPP) -c $(CFLAGS) -Wno-deprecated $(P_DEFINES) -o $@ libprimer3.c
+	$(CXX) -c $(CXXFLAGS) -Wno-deprecated $(P_DEFINES) -o $@ libprimer3.c
 
 $(NTDPAL_EXE): ntdpal_main.o dpal.o
-	$(CPP) $(LDFLAGS) -o $@ ntdpal_main.o dpal.o
+	$(CXX) $(LDFLAGS) -o $@ ntdpal_main.o dpal.o
 
 $(NTTHAL_EXE): thal_main.o thal.o
-	$(CPP) $(LDFLAGS) -o $@ thal_main.o thal.o $(LDLIBS)
+	$(CXX) $(LDFLAGS) -o $@ thal_main.o thal.o $(LDLIBS)
 
 $(OLIGOTM_EXE): oligotm_main.c oligotm.h $(LIBOLIGOTM)
-	$(CPP) $(CFLAGS) -o $@ oligotm_main.c $(LIBOLIGOTM) $(LIBOPTS) $(LDLIBS)
+	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ oligotm_main.c $(LIBOLIGOTM) $(LIBOPTS) $(LDLIBS)
 
 $(LONG_SEQ_EXE): long_seq_tm_test_main.c oligotm.o
-	$(CPP) $(CFLAGS) -o $@ long_seq_tm_test_main.c oligotm.o $(LIBOPTS) $(LDLIBS)
+	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ long_seq_tm_test_main.c oligotm.o $(LIBOPTS) $(LDLIBS)
 
 read_boulder.o: read_boulder.c read_boulder.h libprimer3.h dpal.h thal.h p3_seq_lib.h 
-	$(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ read_boulder.c
+	$(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ read_boulder.c
 
 print_boulder.o: print_boulder.c print_boulder.h libprimer3.h p3_seq_lib.h 
-	$(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ print_boulder.c
+	$(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ print_boulder.c
 
 dpal.o: dpal.c dpal.h
-	$(CPP) -c $(CFLAGS) -o $@ dpal.c
+	$(CXX) -c $(CXXFLAGS) -o $@ dpal.c
 
 # We use '-ffloat-store' on windows to prevent undesirable
 # precision which may lead to differences in floating point results.
 thal.o: thal.c thal.h
-	$(CPP) -c $(CFLAGS) -ffloat-store -o $@ thal.c
+	$(CXX) -c $(CXXFLAGS) -ffloat-store -o $@ thal.c
 
 p3_seq_lib.o: p3_seq_lib.c p3_seq_lib.h libprimer3.h
-	$(CPP) -c $(CFLAGS) -o $@ p3_seq_lib.c
+	$(CXX) -c $(CXXFLAGS) -o $@ p3_seq_lib.c
 
 dpal_primer.o: dpal.c dpal.h
-	$(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ dpal.c
+	$(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ dpal.c
 
 thal_primer.o: thal.c thal.h
-	$(CPP) -c $(CFLAGS) -ffloat-store $(P_DEFINES) -o $@ thal.c
+	$(CXX) -c $(CXXFLAGS) -ffloat-store $(P_DEFINES) -o $@ thal.c
 
 format_output.o: format_output.c format_output.h libprimer3.h dpal.h thal.h p3_seq_lib.h 
-	$(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ format_output.c
+	$(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ format_output.c
 
 ntdpal_main.o: ntdpal_main.c dpal.h
-	$(CPP) -c $(CC_OPTS) -o $@ ntdpal_main.c
+	$(CXX) -c $(CXXFLAGS) -o $@ ntdpal_main.c
 
 thal_main.o: thal_main.c thal.h
-	$(CPP) -c $(CFLAGS) -o $@ thal_main.c
+	$(CXX) -c $(CXXFLAGS) -o $@ thal_main.c
 # We use CC_OPTS above rather than CFLAGS because
 # gcc 2.7.2 crashes while compiling ntdpal_main.c with -O2
 
 oligotm.o: oligotm.c oligotm.h
 
 primer3_boulder_main.o: primer3_boulder_main.c libprimer3.h dpal.h thal.h oligotm.h format_output.h print_boulder.h read_boulder.h
-	$(CPP) -c $(CFLAGS) $(P_DEFINES) primer3_boulder_main.c
+	$(CXX) -c $(CXXFLAGS) $(P_DEFINES) primer3_boulder_main.c
 
 primer_test: test