mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 09:24:54 +01:00
1a6208bfbd
We were previously using separate CFLAGS and NOTMUCH_CFLAGS variables in an attempt to allow the user to specify CFLAGS on the command-line. However, that's just a lot of extra noise in the Makefile when we can instead let the user specify what is desired for CFLAGS and then use an override to append the things we require. So our Makefile is much neater now.
44 lines
1.4 KiB
Makefile
44 lines
1.4 KiB
Makefile
# Default FLAGS, (can be overriden by user such as "make CFLAGS=-O2")
|
|
WARN_FLAGS=-Wall -Wextra -Wmissing-declarations -Wwrite-strings -Wswitch-enum
|
|
CFLAGS=-g -O0
|
|
|
|
# Additional flags that we will append to whatever the user set.
|
|
# These aren't intended for the user to manipulate.
|
|
extra_cflags = -I./lib `pkg-config --cflags glib-2.0 gmime-2.4 talloc`
|
|
extra_cxxflags = `xapian-config --cxxflags`
|
|
|
|
# Now smash together user's values with our extra values
|
|
override CFLAGS := $(CFLAGS) $(WARN_FLAGS) $(extra_cflags)
|
|
override CXXFLAGS := $(CXXFLAGS) $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
|
|
|
|
override LDFLAGS := $(LDFLAGS) `pkg-config --libs glib-2.0 gmime-2.4 talloc` \
|
|
`xapian-config --libs`
|
|
|
|
# Include our local Makfile.local first so that its first target is default
|
|
include Makefile.local
|
|
include lib/Makefile.local
|
|
|
|
%.o: %.cc
|
|
$(CXX) -c $(CFLAGS) $(CXXFLAGS) $< -o $@
|
|
|
|
%.o: %.c
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
.deps/%.d: %.c
|
|
@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
|
|
$(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
|
|
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
|
rm -f $@.$$$$
|
|
|
|
.deps/%.d: %.cc
|
|
@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
|
|
$(CXX) -M $(CPPFLAGS) $(CXXFLAGS) $< > $@.$$$$; \
|
|
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
|
rm -f $@.$$$$
|
|
|
|
DEPS := $(SRCS:%.c=.deps/%.d)
|
|
DEPS := $(DEPS:%.cc=.deps/%.d)
|
|
-include $(DEPS)
|
|
|
|
clean:
|
|
rm -f $(CLEAN); rm -rf .deps
|