diff --git a/lib/Makefile b/lib/Makefile index d7ce91aa..2f6e21c2 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -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)