From: Rich Felker Date: Fri, 23 Oct 2015 03:41:35 +0000 (-0400) Subject: fix breakage when user overrides CFLAGS on the make command line X-Git-Tag: v1.1.13~150 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=be76cdcf81bdf60d2b7981d9f7d09593f88ef4e6;p=oweals%2Fmusl.git fix breakage when user overrides CFLAGS on the make command line these per-target CFLAGS adjustments are mandatory additions to the command line for building the affected targets, not part of the user-provided CFLAGS for tuning. my intent was always that the variable append operations would take place after user settings, but when a variable is set on the command line, it overrides all definitions in the makefile, including target-specific ones. based on patch by Szabolcs Nagy. --- diff --git a/Makefile b/Makefile index 844a0176..b2226fad 100644 --- a/Makefile +++ b/Makefile @@ -94,22 +94,22 @@ crt/crt1.o crt/Scrt1.o crt/rcrt1.o src/ldso/dlstart.lo: $(wildcard arch/$(ARCH)/ crt/rcrt1.o: src/ldso/dlstart.c -crt/Scrt1.o crt/rcrt1.o: CFLAGS += -fPIC +crt/Scrt1.o crt/rcrt1.o: CFLAGS_ALL += -fPIC OPTIMIZE_SRCS = $(wildcard $(OPTIMIZE_GLOBS:%=src/%)) $(OPTIMIZE_SRCS:%.c=%.o) $(OPTIMIZE_SRCS:%.c=%.lo): CFLAGS += -O3 MEMOPS_SRCS = src/string/memcpy.c src/string/memmove.c src/string/memcmp.c src/string/memset.c -$(MEMOPS_SRCS:%.c=%.o) $(MEMOPS_SRCS:%.c=%.lo): CFLAGS += $(CFLAGS_MEMOPS) +$(MEMOPS_SRCS:%.c=%.o) $(MEMOPS_SRCS:%.c=%.lo): CFLAGS_ALL += $(CFLAGS_MEMOPS) NOSSP_SRCS = $(wildcard crt/*.c) \ src/env/__libc_start_main.c src/env/__init_tls.c \ src/thread/__set_thread_area.c src/env/__stack_chk_fail.c \ src/string/memset.c src/string/memcpy.c \ src/ldso/dlstart.c src/ldso/dynlink.c -$(NOSSP_SRCS:%.c=%.o) $(NOSSP_SRCS:%.c=%.lo): CFLAGS += $(CFLAGS_NOSSP) +$(NOSSP_SRCS:%.c=%.o) $(NOSSP_SRCS:%.c=%.lo): CFLAGS_ALL += $(CFLAGS_NOSSP) -$(CRT_LIBS:lib/%=crt/%): CFLAGS += -DCRT +$(CRT_LIBS:lib/%=crt/%): CFLAGS_ALL += -DCRT # This incantation ensures that changes to any subarch asm files will # force the corresponding object file to be rebuilt, even if the implicit