source: trunk/RNACMA/Makefile

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