vardir := /var/paraslash
mandir := $(datarootdir)/man/man1
STRIP := $(CROSS_COMPILE)strip
-HOSTCC ?= cc
MKDIR_P := mkdir -p
prefixed_executables := $(addprefix para_, $(executables))
uname_rs := $(shell uname -rs)
cc_version := $(shell $(CC) --version | head -n 1)
GIT_VERSION := $(shell ./GIT-VERSION-GEN git-version.h)
-COPYRIGHT_YEAR := 2016
+COPYRIGHT_YEAR := 2017
ifeq ("$(origin O)", "command line")
build_dir := $(O)
cmdlist_dir := $(build_dir)/cmdlist
m4depdir := $(build_dir)/m4deps
help2man_dir := $(build_dir)/help2man
-hostbin_dir := $(build_dir)/host/bin
m4_ggo_dir := m4/gengetopt
test_dir := t
endif
$(object_dir) $(man_dir) $(ggo_dir) $(cmdline_dir) $(dep_dir) $(m4depdir) \
- $(help2man_dir) $(hostbin_dir) $(cmdlist_dir):
+ $(help2man_dir) $(cmdlist_dir):
$(Q) $(MKDIR_P) $@
# When in doubt, use brute force (Ken Thompson)
CPPFLAGS += -DBUILD_DATE='"$(build_date)"'
CPPFLAGS += -DUNAME_RS='"$(uname_rs)"'
CPPFLAGS += -DCC_VERSION='"$(cc_version)"'
-CPPFLAGS += -DMAIN_INPUT_FILE_IS_$(*F)
CPPFLAGS += -I/usr/local/include
CPPFLAGS += -I$(cmdline_dir)
CPPFLAGS += -I$(cmdlist_dir)
LDFLAGS += -Wl,--gc-sections
endif
+cc-option = $(shell \
+ $(CC) $(1) -Werror -c -x c /dev/null -o /dev/null > /dev/null 2>&1 \
+ && echo "$(1)" \
+)
+
+STRICT_CFLAGS += $(call cc-option, -Wformat-signedness)
+
# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
ifeq ("$(origin V)", "command line")
WRITERS="$(writers)" \
./man_util.bash $@
-$(hostbin_dir)/error2: error2.c | $(hostbin_dir)
- @[ -z "$(Q)" ] || echo 'HCC $<'
- $(Q) $(HOSTCC) -o $@ $<
-error2.h: $(hostbin_dir)/error2 config.h
- @[ -z "$(Q)" ] || echo 'ER2 $<'
- @echo "$(object_executable_matrix)" | $< > $@
-
$(object_dir)/%.o: %.c | $(object_dir)
$(object_dir)/opus%.o $(dep_dir)/opus%.d: CPPFLAGS += $(opus_cppflags)
# The compiler outputs dependencies either as foo.h or as some_directory/foo.h,
# depending on whether the latter file exists. Since make needs the directory
# part we prefix the dependency as appropriate.
-$(dep_dir)/%.d: %.c error2.h | $(dep_dir)
+$(dep_dir)/%.d: %.c | $(dep_dir)
@[ -z "$(Q)" ] || echo 'DEP $<'
$(Q) $(CC) $(CPPFLAGS) -MM -MG -MP -MT $@ -MT $(object_dir)/$(*F).o $< \
| sed -e "s@ \([a-zA-Z0-9_]\{1,\}\.cmdline.h\)@ $(cmdline_dir)/\1@g" \
$(Q) rm -rf $(build_dir)
distclean: clean2 test-clean
@[ -z "$(Q)" ] || echo 'DISTCLEAN'
- $(Q) rm -f Makefile autoscan.log config.status config.log error2.h
+ $(Q) rm -f Makefile autoscan.log config.status config.log
$(Q) rm -f GPATH GRTAGS GSYMS GTAGS
maintainer-clean: distclean