aboutsummaryrefslogtreecommitdiff
path: root/reproduce/src/make/dependencies-basic.mk
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-14 12:39:23 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-14 13:28:27 +0000
commita56b46a7dde09d7cb24abb53598bd777b5c89577 (patch)
treed436e27b05710753c2e7e553a82d4335e8117c61 /reproduce/src/make/dependencies-basic.mk
parent78727050424174fdee340190cdc458e491aaf18c (diff)
Configuration stops if a dependency cannot be built
Until now, we used semicolons in Make's Call function definitions to build the programs with GNU build system or CMake. Therefore, if any step of the process failed, the rest would be ignorant to it and pass. Now, we use `&&' to separate the different processing steps. In this way, we can be sure that if any of them fails (during configuration, or building for example), the pipeline will also stop and not continue to the next command (in the same recipe). Since the two Make Call functions were identical in the two `dependencies-basic.mk' and `dependencies.mk', they are now in one file to be imported in both. This bug was found by Raul Infante Sainz.
Diffstat (limited to 'reproduce/src/make/dependencies-basic.mk')
-rw-r--r--reproduce/src/make/dependencies-basic.mk20
1 files changed, 4 insertions, 16 deletions
diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index dad9c5f..33b682b 100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
@@ -38,6 +38,7 @@
# Top level environment
include reproduce/config/pipeline/LOCAL.mk
+include reproduce/src/make/dependencies-build-rules.mk
include reproduce/config/pipeline/dependency-versions.mk
ddir = $(BDIR)/dependencies
@@ -67,7 +68,8 @@ $(tarballs): $(tdir)/%:
if [ -f $(DEPENDENCIES-DIR)/$* ]; then \
cp $(DEPENDENCIES-DIR)/$* $@; \
else \
- n=$$(echo $* | sed -e's/[0-9\-]/ /g' -e's/\./ /g' \
+ n=$$(echo $* | sed -e's/[0-9\-]/ /g' \
+ -e's/\./ /g' \
| awk '{print $$1}' ); \
\
mergenames=1; \
@@ -91,20 +93,6 @@ $(tarballs): $(tdir)/%:
-# Build system rules
-# ------------------
-gbuild = cd $(ddir); rm -rf $(2); tar xf $(tdir)/$(1); cd $(2); \
- if [ $(3)x = staticx ]; then \
- opts="CFLAGS=--static --disable-shared"; \
- fi; \
- ./configure $$opts $(4) --prefix=$(idir); make $(5); \
- check="$(6)"; if [ x"$$check" != x ]; then $$check; fi; \
- make install; cd ..; rm -rf $(2)
-
-
-
-
-
# GNU Bash
# --------
#
@@ -125,4 +113,4 @@ $(ibdir)/bash: $(tdir)/bash-$(bash-version).tar.gz
# `--disable-load', but unfortunately I don't know any way to fix the
# second. So, we'll have to build it dynamically for now.
$(ibdir)/make: $(tdir)/make-$(make-version).tar.gz
- $(call gbuild,$(subst $(tdir),,$<), make-$(make-version))
+ $(call gbuild,$(subst $(tdir),,$<), make-$(make-version), , , ,)