commit 795773be8c3ddc8380f134adc7e2ccfde2d8469b Author: Willy Tarreau Date: Fri Mar 29 17:17:52 2019 +0100 BUILD: makefile: work around an old bug in GNU make-3.80 GNU make-3.80 fails on the .build_opts target, expecting the closing brace before the first semi-colon in the shell command, it probably uses a more limited parser for dependencies. Actually it appears it's enough to place this command in a variable and reference the variable there. Since it doesn't affect later versions (and the resulting string is always empty anyway), let's apply the minor change to continue to comply with the announced dependencies. This could be backported as far as 1.6. (cherry picked from commit 509a009c5dd06e680bc2fff6ebc45f7f42aaee3e) Signed-off-by: Willy Tarreau (cherry picked from commit 953b732eef96689f2b11bc2768ba05f28feac9a5) Signed-off-by: Christopher Faulet diff --git a/Makefile b/Makefile index 94e04738..bdf5a2d0 100644 --- a/Makefile +++ b/Makefile @@ -905,7 +905,8 @@ INCLUDES = $(wildcard include/*/*.h ebtree/*.h) DEP = $(INCLUDES) .build_opts # Used only to force a rebuild if some build options change -.build_opts: $(shell rm -f .build_opts.new; echo \'$(TARGET) $(BUILD_OPTIONS) $(VERBOSE_CFLAGS)\' > .build_opts.new; if cmp -s .build_opts .build_opts.new; then rm -f .build_opts.new; else mv -f .build_opts.new .build_opts; fi) +build_opts = $(shell rm -f .build_opts.new; echo \'$(TARGET) $(BUILD_OPTIONS) $(VERBOSE_CFLAGS)\' > .build_opts.new; if cmp -s .build_opts .build_opts.new; then rm -f .build_opts.new; else mv -f .build_opts.new .build_opts; fi) +.build_opts: $(build_opts) haproxy: $(OPTIONS_OBJS) $(EBTREE_OBJS) $(OBJS) $(LD) $(LDFLAGS) -o $@ $^ $(LDOPTS)