| 1 | # for variables passed from parent makefile see ../SOURCE_TOOLS/parent_make.txt |
|---|
| 2 | |
|---|
| 3 | .SUFFIXES: .o .cxx .depend |
|---|
| 4 | |
|---|
| 5 | # MAKEFLAGS += --trace --debug=a |
|---|
| 6 | # $(info Trace activated in RNACMA Makefile) |
|---|
| 7 | |
|---|
| 8 | OBJECTS = $(subst .cxx,.o,$(wildcard *.cxx)) |
|---|
| 9 | |
|---|
| 10 | cma_cxxflags:=$(cxxflags) |
|---|
| 11 | cma_cflags:= $(cflags) |
|---|
| 12 | |
|---|
| 13 | # dump flags |
|---|
| 14 | # $(info cma_cflags: $(cma_cflags)) |
|---|
| 15 | # $(info cma_cxxflags: $(cma_cxxflags)) |
|---|
| 16 | |
|---|
| 17 | SUPPRESS_WARNINGS=1# set to 0 to show warnings |
|---|
| 18 | |
|---|
| 19 | ifeq ($(SUPPRESS_WARNINGS),1) |
|---|
| 20 | cma_cxxflags:= $(subst -Weffc++,,$(cma_cxxflags)) |
|---|
| 21 | cma_cxxflags:= $(subst -Wctor-dtor-privacy,,$(cma_cxxflags)) |
|---|
| 22 | cma_cxxflags:= $(subst -Wlogical-op,,$(cma_cxxflags)) |
|---|
| 23 | cma_cxxflags:= $(subst -Wunused-local-typedefs,,$(cma_cxxflags)) |
|---|
| 24 | cma_cxxflags:= $(cma_cxxflags) -Wno-deprecated-declarations -Wno-ignored-attributes -Wno-int-in-bool-context -Wno-zero-as-null-pointer-constant -Wno-deprecated-copy |
|---|
| 25 | cma_cflags:= $(subst -Wshadow,,$(cma_cflags)) |
|---|
| 26 | ifeq ($(USE_CLANG),1) |
|---|
| 27 | # clang spams warnings about unused parameters in Eigen (-> skip them) |
|---|
| 28 | cma_cxxflags+= -Wno-unused-parameter -Wno-unused-variable |
|---|
| 29 | else |
|---|
| 30 | # -Wunused-local-typedefs is included in -Wall -> disable (but not for clang) |
|---|
| 31 | cma_cflags+= -Wno-unused-local-typedefs |
|---|
| 32 | endif |
|---|
| 33 | endif |
|---|
| 34 | |
|---|
| 35 | cma_cflags+= -I../HEADERLIBS |
|---|
| 36 | |
|---|
| 37 | # clang reports error for binder1st, binder2nd etc => downgrade to C++14 |
|---|
| 38 | cma_cxxflags:= $(subst -std=gnu++20,-std=gnu++17,$(cma_cxxflags)) |
|---|
| 39 | cma_cxxflags:= $(subst -std=gnu++17,-std=gnu++14,$(cma_cxxflags)) |
|---|
| 40 | |
|---|
| 41 | # $(info cma_cflags: $(cma_cflags)) |
|---|
| 42 | # $(info cma_cxxflags: $(cma_cxxflags)) |
|---|
| 43 | |
|---|
| 44 | $(MAIN): $(OBJECTS) warn |
|---|
| 45 | @$(ARBHOME)/SOURCE_TOOLS/binuptodate.pl $(MAIN) $(OBJECTS) || ( \ |
|---|
| 46 | echo "$(LINK_STATIC_LIB) $(MAIN) $(OBJECTS)"; \ |
|---|
| 47 | $(LINK_STATIC_LIB) $(MAIN) $(OBJECTS) ; \ |
|---|
| 48 | ) |
|---|
| 49 | |
|---|
| 50 | warn: |
|---|
| 51 | ifeq ($(SUPPRESS_WARNINGS),1) |
|---|
| 52 | @echo "------------------------------------------------------------------------------------------" |
|---|
| 53 | @echo "Please note: Several compiler warnings have been disabled in RNACMA" |
|---|
| 54 | @echo "(namely -Weffc++, -Wctor-dtor-privacy, -Wlogical-op, -Wshadow, -Wunused-local-typedefs," |
|---|
| 55 | @echo " -Wint-in-bool-context, -Wdeprecated-declarations, -Wignored-attributes," |
|---|
| 56 | @echo " -Wzero-as-null-pointer-constant -Wdeprecated-copy)" |
|---|
| 57 | @echo "to avoid Eigen spams us with warnings here." |
|---|
| 58 | @echo "------------------------------------------------------------------------------------------" |
|---|
| 59 | endif |
|---|
| 60 | |
|---|
| 61 | .cxx.o: warn Makefile |
|---|
| 62 | $(A_CXX) $(cma_cflags) $(cma_cxxflags) -c $< $(CXX_INCLUDES) $(POST_COMPILE) $< |
|---|
| 63 | |
|---|
| 64 | |
|---|
| 65 | $(OBJECTS) : Makefile |
|---|
| 66 | |
|---|
| 67 | clean: |
|---|
| 68 | rm -f $(OBJECTS) *.o *.a |
|---|
| 69 | |
|---|
| 70 | DEPENDS = $(OBJECTS:.o=.depend) |
|---|
| 71 | depends: $(DEPENDS) |
|---|
| 72 | @cat $(DEPENDS) | grep -v '^#' >>Makefile |
|---|
| 73 | @rm $(DEPENDS) |
|---|
| 74 | $(DEPENDS): depend.init |
|---|
| 75 | depend.init: |
|---|
| 76 | $(MAKEDEPEND) $(MAKEDEPENDFLAGS) 2>/dev/null # remove dependencies |
|---|
| 77 | .c.depend: |
|---|
| 78 | $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@ |
|---|
| 79 | .cxx.depend: |
|---|
| 80 | $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@ |
|---|
| 81 | |
|---|
| 82 | # DO NOT DELETE THIS LINE -- make depend depends on it. |
|---|
| 83 | |
|---|
| 84 | # Do not add dependencies manually - use 'make depend' in $ARBHOME |
|---|
| 85 | # For formatting issues see SOURCE_TOOLS/fix_depends.pl (from main) |
|---|
| 86 | |
|---|
| 87 | AlignedSequenceLoader.o: AlignedSequenceLoader.h |
|---|
| 88 | AlignedSequenceLoader.o: Cma.h |
|---|
| 89 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/ad_prot.h |
|---|
| 90 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/ad_t_prot.h |
|---|
| 91 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arb_assert.h |
|---|
| 92 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arb_core.h |
|---|
| 93 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arb_error.h |
|---|
| 94 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arb_mem.h |
|---|
| 95 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arb_msg.h |
|---|
| 96 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arb_string.h |
|---|
| 97 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arbdb.h |
|---|
| 98 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arbdb_base.h |
|---|
| 99 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arbdbt.h |
|---|
| 100 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/arbtools.h |
|---|
| 101 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/attributes.h |
|---|
| 102 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/cxxforward.h |
|---|
| 103 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/downcast.h |
|---|
| 104 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/dupstr.h |
|---|
| 105 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/gccver.h |
|---|
| 106 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/smartptr.h |
|---|
| 107 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/static_assert.h |
|---|
| 108 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/stringize.h |
|---|
| 109 | AlignedSequenceLoader.o: $(ARBHOME)/INCLUDE/test_global.h |
|---|
| 110 | |
|---|
| 111 | Analyser.o: AlignedSequenceLoader.h |
|---|
| 112 | Analyser.o: Analyser.h |
|---|
| 113 | Analyser.o: Cma.h |
|---|
| 114 | Analyser.o: $(ARBHOME)/INCLUDE/ad_prot.h |
|---|
| 115 | Analyser.o: $(ARBHOME)/INCLUDE/ad_t_prot.h |
|---|
| 116 | Analyser.o: $(ARBHOME)/INCLUDE/arb_assert.h |
|---|
| 117 | Analyser.o: $(ARBHOME)/INCLUDE/arb_core.h |
|---|
| 118 | Analyser.o: $(ARBHOME)/INCLUDE/arb_error.h |
|---|
| 119 | Analyser.o: $(ARBHOME)/INCLUDE/arb_mem.h |
|---|
| 120 | Analyser.o: $(ARBHOME)/INCLUDE/arb_msg.h |
|---|
| 121 | Analyser.o: $(ARBHOME)/INCLUDE/arb_string.h |
|---|
| 122 | Analyser.o: $(ARBHOME)/INCLUDE/arbdb.h |
|---|
| 123 | Analyser.o: $(ARBHOME)/INCLUDE/arbdb_base.h |
|---|
| 124 | Analyser.o: $(ARBHOME)/INCLUDE/arbdbt.h |
|---|
| 125 | Analyser.o: $(ARBHOME)/INCLUDE/arbtools.h |
|---|
| 126 | Analyser.o: $(ARBHOME)/INCLUDE/attributes.h |
|---|
| 127 | Analyser.o: $(ARBHOME)/INCLUDE/cxxforward.h |
|---|
| 128 | Analyser.o: $(ARBHOME)/INCLUDE/downcast.h |
|---|
| 129 | Analyser.o: $(ARBHOME)/INCLUDE/dupstr.h |
|---|
| 130 | Analyser.o: $(ARBHOME)/INCLUDE/gccver.h |
|---|
| 131 | Analyser.o: $(ARBHOME)/INCLUDE/smartptr.h |
|---|
| 132 | Analyser.o: $(ARBHOME)/INCLUDE/static_assert.h |
|---|
| 133 | Analyser.o: $(ARBHOME)/INCLUDE/stringize.h |
|---|
| 134 | Analyser.o: $(ARBHOME)/INCLUDE/test_global.h |
|---|
| 135 | Analyser.o: $(ARBHOME)/INCLUDE/test_unit.h |
|---|
| 136 | |
|---|
| 137 | Cma.o: Cma.h |
|---|
| 138 | Cma.o: $(ARBHOME)/INCLUDE/cxxforward.h |
|---|
| 139 | Cma.o: $(ARBHOME)/INCLUDE/gccver.h |
|---|