]> arthur.barton.de Git - bup.git/blobdiff - GNUmakefile
Update base_version to 0.34~ for 0.34 development
[bup.git] / GNUmakefile
index 61d4a4c5a7c6f66145af8b8942538123661e270f..767b0ee0f66a7e1ed714e33af1200686b51b3d42 100644 (file)
@@ -1,10 +1,15 @@
 
 MAKEFLAGS += --warn-undefined-variables
-OUTPUT_OPTION = -MMD -MP -o $@
 
 SHELL := bash
 .DEFAULT_GOAL := all
 
+# So where possible we can make tests more reproducible
+export BUP_TEST_RANDOM_SEED ?= $(shell echo "$$RANDOM")
+
+# Guard against accidentally using/testing a local bup
+export PATH := $(CURDIR)/dev/shadow-bin:$(PATH)
+
 clean_paths :=
 generated_dependencies :=
 
@@ -32,14 +37,13 @@ current_sampledata := test/sampledata/var/rev/v$(sampledata_rev)
 os := $(shell ($(pf); uname | sed 's/[-_].*//') $(isok))
 os := $(call shout,$(os),Unable to determine OS)
 
+# CFLAGS CPPFLAGS LDFLAGS are handled vis config/config.vars.in
+
 # Satisfy --warn-undefined-variables
-CFLAGS ?=
 DESTDIR ?=
-CPPFLAGS ?=
-LDFLAGS ?=
 TARGET_ARCH ?=
 
-bup_shared_cflags := -O2 -Wall -Werror -Wformat=2
+bup_shared_cflags := -O2 -Wall -Werror -Wformat=2 -MMD -MP
 bup_shared_cflags := -Wno-unknown-pragmas -Wsign-compare $(bup_shared_cflags)
 bup_shared_cflags := -D_FILE_OFFSET_BITS=64 $(bup_shared_cflags)
 bup_shared_cflags := $(bup_config_cflags) $(bup_shared_cflags)
@@ -69,7 +73,7 @@ config/config.vars: configure config/configure config/configure.inc config/*.in
 # _XOPEN_SOURCE version, i.e. -Werror crashes on a mismatch, so for
 # now, we're just going to let Python's version win.
 
-helpers_cflags := $(bup_python_cflags) $(bup_shared_cflags) -I$(CURDIR)/src
+helpers_cflags = $(bup_python_cflags) $(bup_shared_cflags) -I$(CURDIR)/src
 helpers_ldflags := $(bup_python_ldflags) $(bup_shared_ldflags)
 
 ifneq ($(strip $(bup_readline_cflags)),)
@@ -154,14 +158,14 @@ install: all
            $(INSTALL) -pm 0644 lib/bup/source_info.py $(dest_libdir)/bup/; \
        fi
 
-embed_cflags := $(bup_python_cflags_embed) $(bup_shared_cflags) -I$(CURDIR)/src
+embed_cflags = $(bup_python_cflags_embed) $(bup_shared_cflags) -I$(CURDIR)/src
 embed_ldflags := $(bup_python_ldflags_embed) $(bup_shared_ldflags)
 
 config/config.h: config/config.vars
 clean_paths += config/config.h.tmp
 
-cc_bin = $(CC) $(embed_cflags) $(CFLAGS) $^ $(embed_ldflags) $(LDFLAGS) -fPIE \
-  -I src $(OUTPUT_OPTION)
+cc_bin = $(CC) $(embed_cflags) -I src $(CPPFLAGS) $(CFLAGS) $^ \
+  $(embed_ldflags) $(LDFLAGS) -fPIE -o $@
 
 clean_paths += dev/python-proposed
 generated_dependencies += dev/python-proposed.d
@@ -172,17 +176,17 @@ dev/python-proposed: dev/python.c src/bup/compat.c src/bup/io.c
 clean_paths += dev/python
 dev/python: dev/python-proposed
        dev/validate-python $@-proposed
-       ln $@-proposed $@
+       cp -R -p $@-proposed $@
 
 clean_paths += dev/bup-exec
 generated_dependencies += dev/bup-exec.d
-dev/bup-exec: CFLAGS += -D BUP_DEV_BUP_EXEC=1
+dev/bup-exec: bup_shared_cflags += -D BUP_DEV_BUP_EXEC=1
 dev/bup-exec: lib/cmd/bup.c src/bup/compat.c src/bup/io.c
        $(cc_bin)
 
 clean_paths += dev/bup-python
 generated_dependencies += dev/bup-python.d
-dev/bup-python: CFLAGS += -D BUP_DEV_BUP_PYTHON=1
+dev/bup-python: bup_shared_cflags += -D BUP_DEV_BUP_PYTHON=1
 dev/bup-python: lib/cmd/bup.c src/bup/compat.c src/bup/io.c
        $(cc_bin)
 
@@ -194,8 +198,8 @@ lib/cmd/bup: lib/cmd/bup.c src/bup/compat.c src/bup/io.c
 clean_paths += lib/bup/_helpers$(soext)
 generated_dependencies += lib/bup/_helpers.d
 lib/bup/_helpers$(soext): lib/bup/_helpers.c lib/bup/bupsplit.c
-       $(CC) $(helpers_cflags) $(CFLAGS) $^ \
-         $(helpers_ldflags) $(LDFLAGS) $(OUTPUT_OPTION)
+       $(CC) $(helpers_cflags) $(CPPFLAGS) $(CFLAGS) $^ \
+         $(helpers_ldflags) $(LDFLAGS) -o $@
 
 test/tmp:
        mkdir test/tmp
@@ -210,6 +214,7 @@ lint: dev/bup-exec dev/bup-python
        ./pylint
 
 test: all test/tmp dev/python lint
+       ! bup version  # Ensure we can't test the local bup (cf. dev/shadow-bin)
        ./bup features
        if test yes = "$$(dev/python -c 'import xdist; print("yes")' 2>/dev/null)"; then \
           (set -x; ./pytest $(xdist_opt);) \
@@ -235,14 +240,9 @@ long-test: test
 long-check: export BUP_TEST_LEVEL=11
 long-check: check
 
-.PHONY: check-py2 check-py3 check-both
+.PHONY: check-py3
 check-py3:
        $(MAKE) clean && BUP_PYTHON_CONFIG=python3-config $(MAKE) check
-check-py2:
-       $(MAKE) clean && BUP_PYTHON_CONFIG=python2.7-config $(MAKE) check
-check-both:
-       $(MAKE) check-py3
-       $(MAKE) check-py2
 
 .PHONY: Documentation/all
 Documentation/all: $(man_roff) $(man_html)