@@ -82,8 +82,11 @@ LIBS+= \
82
82
83
83
84
84
DEBUGFLAGS=-g
85
- CXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
86
- $(DEBUGFLAGS) $(DEFS) $(HARDENING)
85
+
86
+ # CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only
87
+ # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work.
88
+ xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
89
+ $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
87
90
88
91
OBJS= \
89
92
obj/version.o \
@@ -121,26 +124,26 @@ version.cpp: obj/build.h
121
124
DEFS += -DHAVE_BUILD_INFO
122
125
123
126
obj/%.o: %.cpp
124
- $(CXX) -c $(CXXFLAGS ) -MMD -o $@ $<
127
+ $(CXX) -c $(xCXXFLAGS ) -MMD -o $@ $<
125
128
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
126
129
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
127
130
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
128
131
rm -f $(@:%.o=%.d)
129
132
130
133
bitcoind: $(OBJS:obj/%=obj/%)
131
- $(CXX) $(CXXFLAGS ) -o $@ $^ $(LDFLAGS) $(LIBS)
134
+ $(CXX) $(xCXXFLAGS ) -o $@ $^ $(LDFLAGS) $(LIBS)
132
135
133
136
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
134
137
135
138
obj-test/%.o: test/%.cpp
136
- $(CXX) -c $(TESTDEFS) $(CXXFLAGS ) -MMD -o $@ $<
139
+ $(CXX) -c $(TESTDEFS) $(xCXXFLAGS ) -MMD -o $@ $<
137
140
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
138
141
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
139
142
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
140
143
rm -f $(@:%.o=%.d)
141
144
142
145
test_bitcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
143
- $(CXX) $(CXXFLAGS ) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(LDFLAGS) $(LIBS)
146
+ $(CXX) $(xCXXFLAGS ) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(LDFLAGS) $(LIBS)
144
147
145
148
clean:
146
149
-rm -f bitcoind test_bitcoin
0 commit comments