From dc31c1f6f6a09ae543c29624f881caf5790f5247 Mon Sep 17 00:00:00 2001 From: "Darryl L. Miles" Date: Mon, 20 Jul 2026 15:21:56 +0100 Subject: [PATCH] Makefile: LDFLAGS autoconf propagation Also fixed up CC/CXX/CXXFLAGS in the same way. Main notable concern the tclmagic.so now has reordered position of $LDFLAGS (was start AND end of list, now start of list only), $LDDL_FLAGS would have already provided it start of list, so it would be duplicated set of options. @LDDL_FLAGS@ no longer prepend $LDFLAGS which is now explicit in the Makefile to allow specific target control. The purpose of all this is the toplevel ./configure now has LDFLAGS control passed down to linker command lines as configure --help indicates. --- ext2sim/Makefile | 2 +- ext2spice/Makefile | 2 +- lef/Makefile | 2 +- magic/Makefile | 4 ++-- plot/Makefile | 2 +- router/Makefile | 2 +- scripts/configure.in | 6 +++++- scripts/defs.mak.in | 5 ++++- 8 files changed, 16 insertions(+), 9 deletions(-) diff --git a/ext2sim/Makefile b/ext2sim/Makefile index 69e5e60f..8eb48d2a 100644 --- a/ext2sim/Makefile +++ b/ext2sim/Makefile @@ -33,7 +33,7 @@ simwrap.o: ext2sim.c exttosim${SHDLIB_EXT}: simwrap.o ${MAGICDIR}/extflat/libextflat.o @echo --- making exttosim Tcl library \(exttosim${SHDLIB_EXT}\) ${RM} exttosim${SHDLIB_EXT} - ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} simwrap.o \ + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDFLAGS} ${LDDL_FLAGS} simwrap.o \ ${MAGICDIR}/extflat/libextflat.o ${LD_SHARED} ${LD_FIRST_LIBS} -lc ${LIBS} install: $(DESTDIR)${INSTALL_BINDIR}/${MODULE}${EXEEXT} diff --git a/ext2spice/Makefile b/ext2spice/Makefile index 0c94f32d..f27f7668 100644 --- a/ext2spice/Makefile +++ b/ext2spice/Makefile @@ -29,7 +29,7 @@ ext2spice_main.o: ext2spice.c exttospice${SHDLIB_EXT}: spicewrap.o spicehier.o ${MAGICDIR}/extflat/libextflat.o @echo --- making exttospice Tcl library \(exttospice${SHDLIB_EXT}\) ${RM} exttospice${SHDLIB_EXT} - ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} spicewrap.o spicehier.o \ + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDFLAGS} ${LDDL_FLAGS} spicewrap.o spicehier.o \ ${MAGICDIR}/extflat/libextflat.o ${LD_SHARED} -lc ${LIBS} install: $(DESTDIR)${INSTALL_BINDIR}/${MODULE}${EXEEXT} $(DESTDIR)${INSTALL_BINDIR}/spice2sim diff --git a/lef/Makefile b/lef/Makefile index a4b380ca..0386d085 100644 --- a/lef/Makefile +++ b/lef/Makefile @@ -19,7 +19,7 @@ tcllef.o: tcllef.c magiclef${SHDLIB_EXT}: tcllef.o ${OBJS} @echo --- making Tcl auto-load module \(magiclef${SHDLIB_EXT}\) ${RM} magiclef${SHDLIB_EXT} - ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tcllef.o ${OBJS} \ + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDFLAGS} ${LDDL_FLAGS} tcllef.o ${OBJS} \ ${EXTRA_LIBS} -lc ${LIBS} install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/magiclef${SHDLIB_EXT} diff --git a/magic/Makefile b/magic/Makefile index 663946d6..764b33c2 100644 --- a/magic/Makefile +++ b/magic/Makefile @@ -76,9 +76,9 @@ tcl-main: tclmagic${SHDLIB_EXT} proto.magicrc tclmagic${SHDLIB_EXT}: ${EXTRA_LIBS} @echo --- making magic Tcl library \(tclmagic${SHDLIB_EXT}\) ${RM} tclmagic${SHDLIB_EXT} - ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} ${LD_RUN_PATH} \ + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDFLAGS} ${LDDL_FLAGS} ${LD_RUN_PATH} \ ${LD_FIRST_LIBS} ${EXTRA_LIBS} ${LD_EXTRA_LIBS} \ - -lc ${LIBS} ${LIB_SPECS} ${LDFLAGS} + -lc ${LIBS} ${LIB_SPECS} proto.magicrc: proto.magicrc.in ${MCPP} ${GR_DFLAGS} ${DFLAGS} proto.magicrc.in > proto.magicrc diff --git a/plot/Makefile b/plot/Makefile index dbded3f0..0c363324 100644 --- a/plot/Makefile +++ b/plot/Makefile @@ -25,7 +25,7 @@ tclplot.o: tclplot.c tclplot${SHDLIB_EXT}: tclplot.o ${OBJS} @echo --- making Tcl auto-load module \(tclplot${SHDLIB_EXT}\) ${RM} tclplot${SHDLIB_EXT} - ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tclplot.o ${OBJS} \ + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDFLAGS} ${LDDL_FLAGS} tclplot.o ${OBJS} \ ${EXTRA_LIBS} -lc ${LIBS} install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/tclplot${SHDLIB_EXT} diff --git a/router/Makefile b/router/Makefile index b8ca997f..dfd8014d 100644 --- a/router/Makefile +++ b/router/Makefile @@ -25,7 +25,7 @@ tclroute.o: tclroute.c tclroute${SHDLIB_EXT}: tclroute.o ${OBJS} @echo --- making Tcl auto-load module \(tclroute${SHDLIB_EXT}\) ${RM} tclroute${SHDLIB_EXT} - ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tclroute.o ${OBJS} \ + ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDFLAGS} ${LDDL_FLAGS} tclroute.o ${OBJS} \ ${EXTRA_LIBS} -lc ${LIBS} install-tcl: $(DESTDIR)${TCLDIR}/tclroute${SHDLIB_EXT} diff --git a/scripts/configure.in b/scripts/configure.in index afd85cf4..8ae42237 100644 --- a/scripts/configure.in +++ b/scripts/configure.in @@ -1946,10 +1946,14 @@ AC_SUBST(X_CFLAGS) AC_SUBST(X_EXTRA_LIBS) AC_SUBST(X_LIBS) AC_SUBST(X_PRE_LIBS) -AC_SUBST(CPPFLAGS) +AC_SUBST(CC) AC_SUBST(CFLAGS) +AC_SUBST(CPPFLAGS) +AC_SUBST(CXX) +AC_SUBST(CXXFLAGS) AC_SUBST(DEPEND_FLAG) AC_SUBST(SHLIB_CFLAGS) +AC_SUBST(LDFLAGS) AC_SUBST(LD_RUN_PATH) AC_SUBST(MCPP) AC_SUBST(MSED) diff --git a/scripts/defs.mak.in b/scripts/defs.mak.in index bbc37758..26209659 100755 --- a/scripts/defs.mak.in +++ b/scripts/defs.mak.in @@ -71,7 +71,7 @@ MSED = @MSED@ RANLIB = @RANLIB@ SHDLIB_EXT = @SHDLIB_EXT@ ZLIB_FLAG = @ZLIB_FLAG@ -LDDL_FLAGS = ${LDFLAGS} @LDDL_FLAGS@ +LDDL_FLAGS = @LDDL_FLAGS@ LD_RUN_PATH = @LD_RUN_PATH@ LIB_SPECS = @LIB_SPECS@ LIB_SPECS_NOSTUB = @LIB_SPECS_NOSTUB@ @@ -112,6 +112,7 @@ CXX = @CXX@ #FEATURE_FLAGS += -DSUPPORT_REMOVE_MALLOC_LEGACY CPPFLAGS = -I${MAGICDIR} @CPPFLAGS@ +CXXFLAGS = @CXXFLAGS@ DFLAGS_MAGICVERSION = -DMAGIC_VERSION=\"${MAGIC_VERSION}\" -DMAGIC_REVISION=\"${MAGIC_REVISION}\" -DMAGIC_COMMIT=\"${MAGIC_COMMIT}\" "-DMAGIC_BUILDDATE=\"${MAGIC_BUILDDATE}\"" DFLAGS = @extra_defs@ @stub_defs@ @DEFS@ ${DFLAGS_MAGICVERSION} -DGCORE=\"@GCORE@\" DFLAGS += -DSHDLIB_EXT=\"@SHDLIB_EXT@\" @NDEBUG_defs@ @DEBUG_defs@ ${FEATURE_FLAGS} @@ -119,6 +120,8 @@ DFLAGS_NOSTUB = @extra_defs@ @DEFS@ ${DFLAGS_MAGICVERSION} -D DFLAGS_NOSTUB += -DSHDLIB_EXT=\"@SHDLIB_EXT@\" @NDEBUG_defs@ @DEBUG_defs@ ${FEATURE_FLAGS} CFLAGS = @CFLAGS@ @SHLIB_CFLAGS@ @INC_SPECS@ +LDFLAGS = @LDFLAGS@ + READLINE_DEFS = @rl_defs@ READLINE_LIBS = @rl_libs@