You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
5.7 KiB

--- a/src/Makefile
+++ b/src/Makefile
@@ -52,15 +52,13 @@
WINMAKE=mingw32-make
LDLIBS = -lm
-AR = ar
-CC = gcc
-CPP = g++
-O_OPTS = -O2
-CC_OPTS = -g -Wall -D__USE_FIXED_PROTOTYPES__
-P_DEFINES =
-
-CFLAGS = $(CC_OPTS) $(O_OPTS)
-LDFLAGS = -g
+O_OPTS ?=
+CC_OPTS ?= -Wall -D__USE_FIXED_PROTOTYPES__
+P_DEFINES ?=
+
+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 +90,6 @@
LIBPRIMER3_DYN = libprimer3.so.1.0.0
LIBRARIES = $(LIBPRIMER3) $(LIBDPAL) $(LIBTHAL) $(LIBOLIGOTM)
DYNLIBS = $(LIBPRIMER3_DYN) $(LIBDPAL_DYN) $(LIBTHAL_DYN) $(LIBOLIGOTM_DYN)
-RANLIB = ranlib
PRIMER_OBJECTS1=primer3_boulder_main.o\
format_output.o\
@@ -119,93 +116,89 @@
ifeq ($(TESTOPTS),--windows)
cd ..\test & $(WINMAKE) clean TESTOPTS=$(TESTOPTS)
else
- cd ../test/; make clean
+ cd ../test/ && $(MAKE) clean
endif
$(LIBOLIGOTM): oligotm.o
- $(AR) rv $@ oligotm.o
- $(RANLIB) $@
+ $(AR) rcs $@ oligotm.o
$(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) $@
+ $(AR) rcs $@ dpal_primer.o
$(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) $@
+ $(AR) rcs $@ thal_primer.o
$(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) $@
+ $(AR) rcs $@ libprimer3.o p3_seq_lib.o
$(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
@@ -213,7 +206,7 @@
ifeq ($(TESTOPTS),--windows)
cd ..\test & $(WINMAKE) TESTOPTS=$(TESTOPTS)
else
- cd ../test; make test
+ cd ../test && $(MAKE) test
endif
# ======================================================================
--- a/test/Makefile
+++ b/test/Makefile
@@ -86,7 +86,7 @@
ifeq ($(TESTOPTS),--windows)
cd ..\src & $(WINMAKE)
else
- cd ../src; make
+ cd ../src && $(MAKE)
endif
clean: