@@ -74,6 +74,8 @@ WANT_DEPS:=@WANT_DEPS@
7474WANT_ASSEMBLY: =@WANT_ASSEMBLY@
7575ASM_PATH: =$(ABS_SRC_DIR ) /mpn_extras/@ASM_PATH@
7676
77+ WANT_LTO: =@WANT_LTO@
78+
7779GMP_LIB_PATH: =@GMP_LIB_PATH@
7880MPFR_LIB_PATH: =@MPFR_LIB_PATH@
7981BLAS_LIB_PATH: =@BLAS_LIB_PATH@
@@ -431,9 +433,15 @@ endef
431433$(foreach dir, $(DIRS), $(eval $(call xxx_merged_lobj_rule,$(dir))))
432434MERGED_LOBJS: =$(foreach dir, $(DIRS ) ,$(BUILD_DIR ) /$(dir ) _merged.lo)
433435
434- $(FLINT_DIR ) /$(FLINT_LIB_FULL ) : $(MERGED_LOBJS )
436+ ifeq ($(WANT_LTO ) ,1)
437+ LIB_DEPS = $(LOBJS)
438+ else
439+ LIB_DEPS = $(MERGED_LOBJS)
440+ endif
441+
442+ $(FLINT_DIR ) /$(FLINT_LIB_FULL ) : $(LIB_DEPS )
435443 @echo " Building $( FLINT_LIB_FULL) "
436- $(CMD ) $(CC ) $(CFLAGS ) -shared $(EXTRA_SHARED_FLAGS ) $(MERGED_LOBJS ) -o $(FLINT_LIB_FULL ) $(LDFLAGS ) $(LIBS )
444+ $(CMD ) $(CC ) $(CFLAGS ) -shared $(EXTRA_SHARED_FLAGS ) $(LIB_DEPS ) -o $(FLINT_LIB_FULL ) $(LDFLAGS ) $(LIBS )
437445 @$(RM_F ) $(FLINT_LIB )
438446 @$(RM_F ) $(FLINT_LIB_MAJOR )
439447 @$(LN_S ) $(FLINT_LIB_FULL ) $(FLINT_LIB )
@@ -452,9 +460,15 @@ endef
452460$(foreach dir, $(DIRS), $(eval $(call xxx_merged_obj_rule,$(dir))))
453461MERGED_OBJS: =$(foreach dir, $(DIRS ) ,$(BUILD_DIR ) /$(dir ) _merged.o)
454462
455- $(FLINT_DIR ) /$(FLINT_LIB_STATIC ) : $(MERGED_OBJS )
463+ ifeq ($(WANT_LTO ) ,1)
464+ LIB_DEPS = $(OBJS)
465+ else
466+ LIB_DEPS = $(MERGED_OBJS)
467+ endif
468+
469+ $(FLINT_DIR ) /$(FLINT_LIB_STATIC ) : $(LIB_DEPS )
456470 @echo " Building $( FLINT_LIB_STATIC) "
457- @$(AR ) rcs $(FLINT_DIR ) /$(FLINT_LIB_STATIC ) $(MERGED_OBJS )
471+ @$(AR ) rcs $(FLINT_DIR ) /$(FLINT_LIB_STATIC ) $(LIB_DEPS )
458472endif
459473
460474# ###############################################################################
0 commit comments