]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fixed building libzstd with manual BUILD_DIR
authorYann Collet <yann.collet.73@gmail.com>
Fri, 23 Oct 2020 17:14:04 +0000 (10:14 -0700)
committerYann Collet <yann.collet.73@gmail.com>
Fri, 23 Oct 2020 17:14:04 +0000 (10:14 -0700)
and when HASH is not found

lib/Makefile

index d7ce91aa1a8691e19e6e3e94626c1b60bc2a4677..2f6e21c280827d840b72eccb817c2a8bb7132d9c 100644 (file)
@@ -224,23 +224,24 @@ ifeq ($(BUILD_DIR),0)
 
 .PHONY: libzstd.a  # not the actual recipe
 libzstd.a:
-       $(Q)$(MAKE) $@ \
+       $(Q)$(MAKE) --no-print-directory $@ \
         BUILD_DIR=obj/conf_$(shell echo $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) | $(HASH) | head -c 16) \
         CPPFLAGS="$(CPPFLAGS)"
 
 else
 # $(BUILD_DIR) is defined
 
-ZSTD_STATLIB := $(BUILD_DIR)/libzstd.a
-ZSTD_STATLIB_OBJ := $(addprefix $(BUILD_DIR)/,$(ZSTD_LOCAL_OBJ))
-$(ZSTD_STATLIB): ARFLAGS = rcs
-$(ZSTD_STATLIB): | $(BUILD_DIR)
+ZSTD_STATLIB_DIR := $(BUILD_DIR)/static
+ZSTD_STATLIB := $(ZSTD_STATLIB_DIR)/libzstd.a
+ZSTD_STATLIB_OBJ := $(addprefix $(ZSTD_STATLIB_DIR)/,$(ZSTD_LOCAL_OBJ))
+$(ZSTD_STATLIB): ARFLAGS ?= rcs
+$(ZSTD_STATLIB): | $(ZSTD_STATLIB_DIR)
 $(ZSTD_STATLIB): $(ZSTD_STATLIB_OBJ)
        @echo compiling static library
        $(Q)$(AR) $(ARFLAGS) $@ $^
 
 .PHONY: libzstd.a  # must be run every time
-libzstd.a: $(BUILD_DIR)/libzstd.a
+libzstd.a: $(ZSTD_STATLIB)
        $(Q)ln -sf $< $@
 
 endif
@@ -263,7 +264,7 @@ ifeq ($(BUILD_DIR),0)
 
 .PHONY: $(LIBZSTD)  # not the actual recipe
 $(LIBZSTD):
-       $(Q)$(MAKE) $@ \
+       $(Q)$(MAKE) --no-print-directory $@ \
         BUILD_DIR=obj/conf_$(shell echo $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) | $(HASH) | head -c 16) \
         CPPFLAGS="$(CPPFLAGS)" \
         CFLAGS="$(CFLAGS)" \
@@ -272,10 +273,11 @@ $(LIBZSTD):
 else
 # $(BUILD_DIR) is defined
 
-ZSTD_DYNLIB := $(BUILD_DIR)/$(LIBZSTD)
-ZSTD_DYNLIB_OBJ := $(addprefix $(BUILD_DIR)/,$(ZSTD_LOCAL_OBJ))
+ZSTD_DYNLIB_DIR := $(BUILD_DIR)/dynamic
+ZSTD_DYNLIB := $(ZSTD_DYNLIB_DIR)/$(LIBZSTD)
+ZSTD_DYNLIB_OBJ := $(addprefix $(ZSTD_DYNLIB_DIR)/,$(ZSTD_LOCAL_OBJ))
 
-$(ZSTD_DYNLIB): | $(BUILD_DIR)
+$(ZSTD_DYNLIB): | $(ZSTD_DYNLIB_DIR)
 $(ZSTD_DYNLIB): $(ZSTD_DYNLIB_OBJ)
        @echo compiling dynamic library $(LIBVER)
        $(Q)$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
@@ -314,12 +316,16 @@ lib : libzstd.a libzstd
 
 DEPFLAGS = -MT $@ -MMD -MP -MF
 
-$(BUILD_DIR)/%.o : %.c $(BUILD_DIR)/%.d | $(BUILD_DIR)
+$(ZSTD_DYNLIB_DIR)/%.o : %.c $(ZSTD_DYNLIB_DIR)/%.d | $(ZSTD_DYNLIB_DIR)
        @echo $@
-       $(Q)$(COMPILE.c) $(DEPFLAGS) $(BUILD_DIR)/$*.d $(OUTPUT_OPTION) $<
+       $(Q)$(COMPILE.c) $(DEPFLAGS) $(ZSTD_DYNLIB_DIR)/$*.d $(OUTPUT_OPTION) $<
+
+$(ZSTD_STATLIB_DIR)/%.o : %.c $(ZSTD_STATLIB_DIR)/%.d | $(ZSTD_STATLIB_DIR)
+       @echo $@
+       $(Q)$(COMPILE.c) $(DEPFLAGS) $(ZSTD_STATLIB_DIR)/$*.d $(OUTPUT_OPTION) $<
 
 MKDIR ?= mkdir
-$(BUILD_DIR):
+$(BUILD_DIR) $(ZSTD_DYNLIB_DIR) $(ZSTD_STATLIB_DIR):
        $(Q)$(MKDIR) -p $@
 
 DEPFILES := $(ZSTD_DYNLIB_OBJ:.o=.d) $(ZSTD_STATLIB_OBJ:.o=.d)