From bc00b5578ba2b4a33e10fb04c2ba6a5597ad9395 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Tue, 28 Jan 2020 10:40:01 -0500 Subject: [PATCH 1/4] Implemented a new configuration variable "dist_prefix" for distributed installations, where the immediate installation location is different from the final installation location, but in the case where it is not desirable to put the entire install hierarchy as a subdirectory of DESTDIR. --- ext2sim/Makefile | 10 ++++----- ext2spice/Makefile | 16 +++++++------- graphics/Makefile | 16 +++++++------- lef/Makefile | 8 +++---- lisp/Makefile | 4 ++-- magic/Makefile | 40 +++++++++++++++++------------------ net2ir/Makefile | 2 +- plot/Makefile | 8 +++---- scmos/Makefile | 8 +++---- scripts/configure | 22 +++++++++++++++++++ scripts/configure.in | 15 +++++++++++++ scripts/defs.mak.in | 8 +++++++ tcltk/Makefile | 50 ++++++++++++++++++++++---------------------- utils/Depend | 4 +++- windows/Makefile | 12 +++++------ 15 files changed, 135 insertions(+), 88 deletions(-) diff --git a/ext2sim/Makefile b/ext2sim/Makefile index ff4a218c..f7730f87 100644 --- a/ext2sim/Makefile +++ b/ext2sim/Makefile @@ -26,12 +26,12 @@ exttosim${SHDLIB_EXT}: simwrap.o ${MAGICDIR}/extflat/libextflat.o ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} simwrap.o \ ${MAGICDIR}/extflat/libextflat.o ${LD_SHARED} -lc ${LIBS} -install: $(DESTDIR)${BINDIR}/${MODULE}${EXEEXT} +install: $(DESTDIR)${INSTALL_BINDIR}/${MODULE}${EXEEXT} -install-tcl: $(DESTDIR)${TCLDIR}/exttosim${SHDLIB_EXT} +install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/exttosim${SHDLIB_EXT} -$(DESTDIR)${TCLDIR}/exttosim${SHDLIB_EXT}: exttosim${SHDLIB_EXT} - ${RM} $(DESTDIR)${TCLDIR}/exttosim${SHDLIB_EXT} - ${CP} exttosim${SHDLIB_EXT} $(DESTDIR)${TCLDIR}/exttosim${SHDLIB_EXT} +$(DESTDIR)${INSTALL_TCLDIR}/exttosim${SHDLIB_EXT}: exttosim${SHDLIB_EXT} + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/exttosim${SHDLIB_EXT} + ${CP} exttosim${SHDLIB_EXT} $(DESTDIR)${INSTALL_TCLDIR}/exttosim${SHDLIB_EXT} include ${MAGICDIR}/rules.mak diff --git a/ext2spice/Makefile b/ext2spice/Makefile index 3a7b7e96..1a53cc67 100644 --- a/ext2spice/Makefile +++ b/ext2spice/Makefile @@ -29,16 +29,16 @@ exttospice${SHDLIB_EXT}: spicewrap.o spicehier.o ${MAGICDIR}/extflat/libextflat. ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} spicewrap.o spicehier.o \ ${MAGICDIR}/extflat/libextflat.o ${LD_SHARED} -lc ${LIBS} -install: $(DESTDIR)${BINDIR}/${MODULE}${EXEEXT} $(DESTDIR)${BINDIR}/spice2sim +install: $(DESTDIR)${INSTALL_BINDIR}/${MODULE}${EXEEXT} $(DESTDIR)${INSTALL_BINDIR}/spice2sim -install-tcl: $(DESTDIR)${TCLDIR}/exttospice${SHDLIB_EXT} $(DESTDIR)${BINDIR}/spice2sim +install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/exttospice${SHDLIB_EXT} $(DESTDIR)${INSTALL_BINDIR}/spice2sim -$(DESTDIR)${TCLDIR}/exttospice${SHDLIB_EXT}: exttospice${SHDLIB_EXT} - ${RM} $(DESTDIR)${TCLDIR}/exttospice${SHDLIB_EXT} - ${CP} exttospice${SHDLIB_EXT} $(DESTDIR)${TCLDIR}/exttospice${SHDLIB_EXT} +$(DESTDIR)${INSTALL_TCLDIR}/exttospice${SHDLIB_EXT}: exttospice${SHDLIB_EXT} + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/exttospice${SHDLIB_EXT} + ${CP} exttospice${SHDLIB_EXT} $(DESTDIR)${INSTALL_TCLDIR}/exttospice${SHDLIB_EXT} -$(DESTDIR)${BINDIR}/spice2sim: spice2sim - ${RM} $(DESTDIR)${BINDIR}/spice2sim - ${CP} spice2sim $(DESTDIR)${BINDIR}/spice2sim +$(DESTDIR)${INSTALL_BINDIR}/spice2sim: spice2sim + ${RM} $(DESTDIR)${INSTALL_BINDIR}/spice2sim + ${CP} spice2sim $(DESTDIR)${INSTALL_BINDIR}/spice2sim include ${MAGICDIR}/rules.mak diff --git a/graphics/Makefile b/graphics/Makefile index 7eb312ec..f22c3dfa 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -40,22 +40,22 @@ ${GR_HELPER_PROG}: ${GR_HELPER_SRCS} ${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${GR_HELPER_SRCS} \ -o ${GR_HELPER_PROG} ${LIBS} -install: $(DESTDIR)${BINDIR}/${GR_HELPER_PROG} glyphs fonts +install: $(DESTDIR)${INSTALL_BINDIR}/${GR_HELPER_PROG} glyphs fonts install-tcl: glyphs fonts -$(DESTDIR)${BINDIR}/${GR_HELPER_PROG}: ${GR_HELPER_PROG} - ${RM} $(DESTDIR)${BINDIR}/${GR_HELPER_PROG} - ${CP} ${GR_HELPER_PROG} $(DESTDIR)${BINDIR} +$(DESTDIR)${INSTALL_BINDIR}/${GR_HELPER_PROG}: ${GR_HELPER_PROG} + ${RM} $(DESTDIR)${INSTALL_BINDIR}/${GR_HELPER_PROG} + ${CP} ${GR_HELPER_PROG} $(DESTDIR)${INSTALL_BINDIR} glyphs: ${GLYPHS} for i in ${GLYPHS}; do \ - ${RM} $(DESTDIR)${SYSDIR}/$$i; \ - ${CP} $$i $(DESTDIR)${SYSDIR}; done + ${RM} $(DESTDIR)${INSTALL_SYSDIR}/$$i; \ + ${CP} $$i $(DESTDIR)${INSTALL_SYSDIR}; done fonts: ${OUTLINE_FONTS} for i in ${OUTLINE_FONTS}; do \ - ${RM} $(DESTDIR)${SYSDIR}/$$i; \ - ${CP} $$i $(DESTDIR)${SYSDIR}; done + ${RM} $(DESTDIR)${INSTALL_SYSDIR}/$$i; \ + ${CP} $$i $(DESTDIR)${INSTALL_SYSDIR}; done include ${MAGICDIR}/rules.mak diff --git a/lef/Makefile b/lef/Makefile index 8fb6bd22..a4b380ca 100644 --- a/lef/Makefile +++ b/lef/Makefile @@ -22,10 +22,10 @@ magiclef${SHDLIB_EXT}: tcllef.o ${OBJS} ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tcllef.o ${OBJS} \ ${EXTRA_LIBS} -lc ${LIBS} -install-tcl: $(DESTDIR)${TCLDIR}/magiclef${SHDLIB_EXT} +install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/magiclef${SHDLIB_EXT} -$(DESTDIR)${TCLDIR}/magiclef${SHDLIB_EXT}: magiclef${SHDLIB_EXT} - ${RM} $(DESTDIR)${TCLDIR}/magiclef${SHDLIB_EXT} - ${CP} magiclef${SHDLIB_EXT} $(DESTDIR)${TCLDIR}/magiclef${SHDLIB_EXT} +$(DESTDIR)${INSTALL_TCLDIR}/magiclef${SHDLIB_EXT}: magiclef${SHDLIB_EXT} + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/magiclef${SHDLIB_EXT} + ${CP} magiclef${SHDLIB_EXT} $(DESTDIR)${INSTALL_TCLDIR}/magiclef${SHDLIB_EXT} include ${MAGICDIR}/rules.mak diff --git a/lisp/Makefile b/lisp/Makefile index e9a0f1d3..0ccb36a6 100644 --- a/lisp/Makefile +++ b/lisp/Makefile @@ -13,11 +13,11 @@ SCMSRC = default.scm box.scm label.scm draw.scm drc.scm \ include ${MAGICDIR}/defs.mak -INST_SCMSRC = ${SCMSRC:%=$(DESTDIR)${SCMDIR}/%} +INST_SCMSRC = ${SCMSRC:%=$(DESTDIR)${INSTALL_SCMDIR}/%} install: ${INST_SCMSRC} $(DESTDIR)${SCMDIR}/%: scm/% - ${CP} scm/$* $(DESTDIR)$(SCMDIR)/$* + ${CP} scm/$* $(DESTDIR)$(INSTALL_SCMDIR)/$* include ${MAGICDIR}/rules.mak diff --git a/magic/Makefile b/magic/Makefile index fb695b95..2079bca5 100644 --- a/magic/Makefile +++ b/magic/Makefile @@ -20,7 +20,7 @@ EXTRA_LIBS = ${MAGICDIR}/cmwind/libcmwind.o ${MAGICDIR}/commands/libcommands.o \ ${MAIN_EXTRA_LIBS} BITMAPS = up.xbm down.xbm left.xbm right.xbm zoom.xbm lock.xbm -DEST_XBM = $(BITMAPS:%=$(DESTDIR)${TCLDIR}/bitmaps/%) +DEST_XBM = $(BITMAPS:%=$(DESTDIR)${INSTALL_TCLDIR}/bitmaps/%) DFLAGS += -DMAGIC_DATE="\"`date`\"" -DCAD_DIR="${LIBDIR}" LIBS += ${GR_LIBS} ${READLINE_LIBS} -lm ${LD_EXTRA_LIBS} \ @@ -41,30 +41,30 @@ tclmagic${SHDLIB_EXT}: ${EXTRA_LIBS} proto.magicrc: proto.magicrc.in ${SCPP} ${GR_DFLAGS} ${DFLAGS} proto.magicrc.in > proto.magicrc -install: $(DESTDIR)${BINDIR}/${MODULE}${EXEEXT} $(DESTDIR)${SYSDIR}/.magicrc \ - $(DESTDIR)${SYSDIR}/magicps.pro +install: $(DESTDIR)${INSTALL_BINDIR}/${MODULE}${EXEEXT} $(DESTDIR)${INSTALL_SYSDIR}/.magicrc \ + $(DESTDIR)${INSTALL_SYSDIR}/magicps.pro -install-tcl: $(DESTDIR)${TCLDIR}/tclmagic${SHDLIB_EXT} $(DESTDIR)${SYSDIR}/.magicrc \ - $(DESTDIR)${SYSDIR}/.initrc $(DESTDIR)${SYSDIR}/magicps.pro ${DEST_XBM} +install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/tclmagic${SHDLIB_EXT} $(DESTDIR)${INSTALL_SYSDIR}/.magicrc \ + $(DESTDIR)${INSTALL_SYSDIR}/.initrc $(DESTDIR)${INSTALL_SYSDIR}/magicps.pro ${DEST_XBM} -$(DESTDIR)${TCLDIR}/tclmagic${SHDLIB_EXT}: tclmagic${SHDLIB_EXT} - ${RM} $(DESTDIR)${TCLDIR}/tclmagic${SHDLIB_EXT} - ${CP} tclmagic${SHDLIB_EXT} $(DESTDIR)${TCLDIR}/tclmagic${SHDLIB_EXT} +$(DESTDIR)${INSTALL_TCLDIR}/tclmagic${SHDLIB_EXT}: tclmagic${SHDLIB_EXT} + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/tclmagic${SHDLIB_EXT} + ${CP} tclmagic${SHDLIB_EXT} $(DESTDIR)${INSTALL_TCLDIR}/tclmagic${SHDLIB_EXT} -$(DESTDIR)${TCLDIR}/bitmaps/%: bitmaps/% - ${RM} $(DESTDIR)${TCLDIR}/bitmaps/$* - ${CP} bitmaps/$* $(DESTDIR)${TCLDIR}/bitmaps/$* +$(DESTDIR)${INSTALL_TCLDIR}/bitmaps/%: bitmaps/% + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/bitmaps/$* + ${CP} bitmaps/$* $(DESTDIR)${INSTALL_TCLDIR}/bitmaps/$* -$(DESTDIR)${SYSDIR}/.magicrc: proto.magicrc - ${RM} $(DESTDIR)${SYSDIR}/.magicrc - ${CP} proto.magicrc $(DESTDIR)${SYSDIR}/.magicrc +$(DESTDIR)${INSTALL_SYSDIR}/.magicrc: proto.magicrc + ${RM} $(DESTDIR)${INSTALL_SYSDIR}/.magicrc + ${CP} proto.magicrc $(DESTDIR)${INSTALL_SYSDIR}/.magicrc -$(DESTDIR)${SYSDIR}/.initrc: proto.initrc - ${RM} $(DESTDIR)${SYSDIR}/.initrc - ${CP} proto.initrc $(DESTDIR)${SYSDIR}/.initrc +$(DESTDIR)${INSTALL_SYSDIR}/.initrc: proto.initrc + ${RM} $(DESTDIR)${INSTALL_SYSDIR}/.initrc + ${CP} proto.initrc $(DESTDIR)${INSTALL_SYSDIR}/.initrc -$(DESTDIR)${SYSDIR}/magicps.pro: magicps.pro - ${RM} $(DESTDIR)${SYSDIR}/magicps.pro - ${CP} magicps.pro $(DESTDIR)${SYSDIR}/magicps.pro +$(DESTDIR)${INSTALL_SYSDIR}/magicps.pro: magicps.pro + ${RM} $(DESTDIR)${INSTALL_SYSDIR}/magicps.pro + ${CP} magicps.pro $(DESTDIR)${INSTALL_SYSDIR}/magicps.pro include ${MAGICDIR}/rules.mak diff --git a/net2ir/Makefile b/net2ir/Makefile index 9bdb7038..3b2b3131 100644 --- a/net2ir/Makefile +++ b/net2ir/Makefile @@ -15,7 +15,7 @@ tcl-main: main: net2ir -install: $(DESTDIR)${BINDIR}/${MODULE}${EXEEXT} +install: $(DESTDIR)${INSTALL_BINDIR}/${MODULE}${EXEEXT} install-tcl: echo "Nothing to do here" diff --git a/plot/Makefile b/plot/Makefile index 2e8027f3..0f164e5d 100644 --- a/plot/Makefile +++ b/plot/Makefile @@ -28,10 +28,10 @@ tclplot${SHDLIB_EXT}: tclplot.o ${OBJS} ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tclplot.o ${OBJS} \ ${EXTRA_LIBS} -lc ${LIBS} -install-tcl: $(DESTDIR)${TCLDIR}/tclplot${SHDLIB_EXT} +install-tcl: $(DESTDIR)${INSTALL_TCLDIR}/tclplot${SHDLIB_EXT} -$(DESTDIR)${TCLDIR}/tclplot${SHDLIB_EXT}: tclplot${SHDLIB_EXT} - ${RM} $(DESTDIR)${TCLDIR}/tclplot${SHDLIB_EXT} - ${CP} tclplot${SHDLIB_EXT} $(DESTDIR)${TCLDIR}/tclplot${SHDLIB_EXT} +$(DESTDIR)${INSTALL_TCLDIR}/tclplot${SHDLIB_EXT}: tclplot${SHDLIB_EXT} + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/tclplot${SHDLIB_EXT} + ${CP} tclplot${SHDLIB_EXT} $(DESTDIR)${INSTALL_TCLDIR}/tclplot${SHDLIB_EXT} include ${MAGICDIR}/rules.mak diff --git a/scmos/Makefile b/scmos/Makefile index 647e1d79..dd513e1a 100644 --- a/scmos/Makefile +++ b/scmos/Makefile @@ -54,11 +54,11 @@ all: $(OBJS) $(DEPEND) ${TECHFILES} install-tcl: all for i in ${FILES} ${TECHFILES}; do \ - ${CP} $$i $(DESTDIR)${SYSDIR}; done + ${CP} $$i $(DESTDIR)${INSTALL_SYSDIR}; done install: all for i in ${FILES} ${TECHFILES}; do \ - ${CP} $$i $(DESTDIR)${SYSDIR}; done + ${CP} $$i $(DESTDIR)${INSTALL_SYSDIR}; done scmos.tech: $(OBJS) sed -e 's/\\/\\\\/' scmos.tech.in > scmos.tech.out @@ -96,8 +96,8 @@ $(SCIFin): $(SCIFout): cd cif_template; ${MAKE} clean; ${MAKE}; -$(DESTDIR)${SYSDIR}/%: % - cp $* $(DESTDIR)${SYSDIR}/$* +$(DESTDIR)${INSTALL_SYSDIR}/%: % + cp $* $(DESTDIR)${INSTALL_SYSDIR}/$* clean:; -rm -f *.tech *.tech27 diff --git a/scripts/configure b/scripts/configure index 3b604040..1774a4ce 100755 --- a/scripts/configure +++ b/scripts/configure @@ -640,6 +640,7 @@ gr_dflags gr_cflags rl_libs rl_defs +dist_prefix cadinstall programs unused @@ -747,6 +748,7 @@ ac_user_opts=' enable_option_checking with_gnu_ld with_x +with_distdir with_interpreter with_tcl with_tk @@ -1425,6 +1427,7 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-x use the X Window System + --with-distdir=DIR install into location DIR for distribution --with-interpreter=arg enable interpreter (tcl, scheme, or no) --with-tcl=DIR Find tclConfig.sh in DIR --with-tk=DIR Find tkConfig.sh in DIR @@ -6136,6 +6139,24 @@ else fi fi +# For distributed installs, where the run-time files are installed in a +# place that is a temporary staging area, like DESTDIR, but unlike DESTDIR, +# the prefix is replaced by the destination directory, rather than appended +# to it. +dist_prefix="\${exec_prefix}" + +# Check whether --with-distdir was given. +if test "${with_distdir+set}" = set; then : + withval=$with_distdir; + if test "$withval" = "no" -o "$withval" = "NO" ; then + dist_prefix="\${exec_prefix}" + else + dist_prefix=$arg + fi + +fi + + # Check for libXi, which is required on some systems but not available on # others. use_libxi="" @@ -8259,6 +8280,7 @@ fi + ac_config_files="$ac_config_files defs.mak" diff --git a/scripts/configure.in b/scripts/configure.in index 3000438e..8f8f85d2 100644 --- a/scripts/configure.in +++ b/scripts/configure.in @@ -345,6 +345,20 @@ else fi fi +# For distributed installs, where the run-time files are installed in a +# place that is a temporary staging area, like DESTDIR, but unlike DESTDIR, +# the prefix is replaced by the destination directory, rather than appended +# to it. +dist_prefix="\${exec_prefix}" +AC_ARG_WITH(distdir, +[ --with-distdir=DIR install into location DIR for distribution], [ + if test "$withval" = "no" -o "$withval" = "NO" ; then + dist_prefix="\${exec_prefix}" + else + dist_prefix=$arg + fi +], ) + # Check for libXi, which is required on some systems but not available on # others. use_libxi="" @@ -1768,6 +1782,7 @@ AC_SUBST(modules) AC_SUBST(unused) AC_SUBST(programs) AC_SUBST(cadinstall) +AC_SUBST(dist_prefix) AC_SUBST(rl_defs) AC_SUBST(rl_libs) diff --git a/scripts/defs.mak.in b/scripts/defs.mak.in index 7338b375..a2e70954 100755 --- a/scripts/defs.mak.in +++ b/scripts/defs.mak.in @@ -33,6 +33,14 @@ SYSDIR = ${libdir}/magic/sys SCMDIR = ${libdir}/magic/scm TCLDIR = ${libdir}/magic/tcl +# Install targets may be different if dist_prefix is set by configure +INSTALL_BINDIR = @dist_prefix@/bin +INSTALL_MANDIR = @dist_prefix@/share/man +INSTALL_LIBDIR = @dist_prefix@/lib +INSTALL_SYSDIR = ${INSTALL_LIBDIR}/magic/sys +INSTALL_SCMDIR = ${INSTALL_LIBDIR}/magic/scm +INSTALL_TCLDIR = ${INSTALL_LIBDIR}/magic/tcl + MAIN_EXTRA_LIBS = @extra_libs@ LD_EXTRA_LIBS = @ld_extra_libs@ LD_SHARED = @ld_extra_objs@ diff --git a/tcltk/Makefile b/tcltk/Makefile index db00d511..a6619678 100644 --- a/tcltk/Makefile +++ b/tcltk/Makefile @@ -32,21 +32,21 @@ TCL_FILES = \ magic.tcl BIN_FILES = \ - $(DESTDIR)${BINDIR}/magic.sh \ - $(DESTDIR)${BINDIR}/ext2spice.sh \ - $(DESTDIR)${BINDIR}/ext2sim.sh + $(DESTDIR)${INSTALL_BINDIR}/magic.sh \ + $(DESTDIR)${INSTALL_BINDIR}/ext2spice.sh \ + $(DESTDIR)${INSTALL_BINDIR}/ext2sim.sh tcl-main: magicexec magicdnull magic.tcl magic.sh ext2spice.sh ext2sim.sh install-tcl: magicexec magicdnull ${BIN_FILES} ${TCL_FILES} - ${RM} $(DESTDIR)${TCLDIR}/magicexec - ${CP} magicexec $(DESTDIR)${TCLDIR}/magicexec - ${RM} $(DESTDIR)${TCLDIR}/magicdnull - ${CP} magicdnull $(DESTDIR)${TCLDIR}/magicdnull - (cd $(DESTDIR)${TCLDIR}; ${RM} ${TCL_FILES}) + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/magicexec + ${CP} magicexec $(DESTDIR)${INSTALL_TCLDIR}/magicexec + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/magicdnull + ${CP} magicdnull $(DESTDIR)${INSTALL_TCLDIR}/magicdnull + (cd $(DESTDIR)${INSTALL_TCLDIR}; ${RM} ${TCL_FILES}) for i in ${TCL_FILES}; do \ - ${CP} $$i $(DESTDIR)${TCLDIR}; done - (cd $(DESTDIR)${TCLDIR}; chmod 0755 tkcon.tcl tkshell.tcl) + ${CP} $$i $(DESTDIR)${INSTALL_TCLDIR}; done + (cd $(DESTDIR)${INSTALL_TCLDIR}; chmod 0755 tkcon.tcl tkshell.tcl) magicexec: magicexec.c ${MAGICDIR}/defs.mak ${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS_NOSTUB} ${LDFLAGS} magicexec.c \ @@ -73,23 +73,23 @@ ext2spice.sh: ext2spice.sh.in ${MAGICDIR}/defs.mak ext2sim.sh: ext2sim.sh.in ${MAGICDIR}/defs.mak sed -e /TCL_DIR/s%TCL_DIR%${TCLDIR}%g ext2sim.sh.in > ext2sim.sh -$(DESTDIR)${TCLDIR}/%: % - ${RM} $(DESTDIR)${TCLDIR}/$* - ${CP} $* $(DESTDIR)${TCLDIR}/$* +$(DESTDIR)${INSTALL_TCLDIR}/%: % + ${RM} $(DESTDIR)${INSTALL_TCLDIR}/$* + ${CP} $* $(DESTDIR)${INSTALL_TCLDIR}/$* -$(DESTDIR)${BINDIR}/magic.sh: magic.sh - ${RM} $(DESTDIR)${BINDIR}/magic.sh $(DESTDIR)${BINDIR}/magic - ${CP} magic.sh $(DESTDIR)${BINDIR}/magic - (cd $(DESTDIR)${BINDIR}; chmod 0755 magic) +$(DESTDIR)${INSTALL_BINDIR}/magic.sh: magic.sh + ${RM} $(DESTDIR)${INSTALL_BINDIR}/magic.sh $(DESTDIR)${INSTALL_BINDIR}/magic + ${CP} magic.sh $(DESTDIR)${INSTALL_BINDIR}/magic + (cd $(DESTDIR)${INSTALL_BINDIR}; chmod 0755 magic) -$(DESTDIR)${BINDIR}/ext2spice.sh: ext2spice.sh - ${RM} $(DESTDIR)${BINDIR}/ext2spice - ${CP} ext2spice.sh $(DESTDIR)${BINDIR}/ext2spice - (cd $(DESTDIR)${BINDIR}; chmod 0755 ext2spice) +$(DESTDIR)${INSTALL_BINDIR}/ext2spice.sh: ext2spice.sh + ${RM} $(DESTDIR)${INSTALL_BINDIR}/ext2spice + ${CP} ext2spice.sh $(DESTDIR)${INSTALL_BINDIR}/ext2spice + (cd $(DESTDIR)${INSTALL_BINDIR}; chmod 0755 ext2spice) -$(DESTDIR)${BINDIR}/ext2sim.sh: ext2sim.sh - ${RM} $(DESTDIR)${BINDIR}/ext2sim - ${CP} ext2sim.sh $(DESTDIR)${BINDIR}/ext2sim - (cd $(DESTDIR)${BINDIR}; chmod 0755 ext2sim) +$(DESTDIR)${INSTALL_BINDIR}/ext2sim.sh: ext2sim.sh + ${RM} $(DESTDIR)${INSTALL_BINDIR}/ext2sim + ${CP} ext2sim.sh $(DESTDIR)${INSTALL_BINDIR}/ext2sim + (cd $(DESTDIR)${INSTALL_BINDIR}; chmod 0755 ext2sim) include ${MAGICDIR}/rules.mak diff --git a/utils/Depend b/utils/Depend index 56e88bb4..4f469cb1 100644 --- a/utils/Depend +++ b/utils/Depend @@ -2,7 +2,9 @@ args.o: args.c ../utils/magic.h ../utils/utils.h child.o: child.c ../utils/utils.h ../utils/magic.h ../utils/malloc.h dqueue.o: dqueue.c ../utils/magic.h ../utils/dqueue.h ../utils/malloc.h finddisp.o: finddisp.c ../utils/magic.h ../utils/utils.h -flock.o: flock.c +flock.o: flock.c ../utils/magic.h ../utils/hash.h ../utils/geometry.h \ + ../tiles/tile.h ../database/database.h ../windows/windows.h \ + ../utils/malloc.h flsbuf.o: flsbuf.c fraction.o: fraction.c ../utils/magic.h ../utils/geometry.h geometry.o: geometry.c ../utils/magic.h ../utils/geometry.h \ diff --git a/windows/Makefile b/windows/Makefile index 0b310026..56dc6795 100644 --- a/windows/Makefile +++ b/windows/Makefile @@ -15,13 +15,13 @@ include ${MAGICDIR}/defs.mak include ${MAGICDIR}/rules.mak install-tcl: - @echo --- installing glyphs to $(DESTDIR)${SYSDIR} + @echo --- installing glyphs to $(DESTDIR)${INSTALL_SYSDIR} for i in ${GLYPHS} ${FONTS}; do \ - (cd $(DESTDIR)${SYSDIR} && ${RM} $$i); \ - ${CP} $$i $(DESTDIR)${SYSDIR}; done + (cd $(DESTDIR)${INSTALL_SYSDIR} && ${RM} $$i); \ + ${CP} $$i $(DESTDIR)${INSTALL_SYSDIR}; done install: - @echo --- installing glyphs to $(DESTDIR)${SYSDIR} + @echo --- installing glyphs to $(DESTDIR)${INSTALL_SYSDIR} for i in ${GLYPHS} ${FONTS}; do \ - (cd $(DESTDIR)${SYSDIR} && ${RM} $$i); \ - ${CP} $$i $(DESTDIR)${SYSDIR}; done + (cd $(DESTDIR)${INSTALL_SYSDIR} && ${RM} $$i); \ + ${CP} $$i $(DESTDIR)${INSTALL_SYSDIR}; done From 323ce9598113a2d387a2cbd04eb2caa511560075 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Tue, 28 Jan 2020 12:17:22 -0500 Subject: [PATCH 2/4] Corrected missing references to the dist_dir install location in the top-level Makefile. --- Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 23e22d4b..f0b50d48 100644 --- a/Makefile +++ b/Makefile @@ -66,8 +66,8 @@ depend: database/database.h install: $(INSTALL_TARGET) install-magic: - @echo --- installing executable to $(DESTDIR)${BINDIR} - @echo --- installing runtime files to $(DESTDIR)${LIBDIR} + @echo --- installing executable to $(DESTDIR)${INSTALL_BINDIR} + @echo --- installing runtime files to $(DESTDIR)${INSTALL_LIBDIR} @${MAKE} install-real 2>&1 >> install.log install-real: install-dirs @@ -77,16 +77,16 @@ install-real: install-dirs (cd $$dir && ${MAKE} install); done install-tcl-dirs: - ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${BINDIR} $(DESTDIR)${MANDIR} \ - $(DESTDIR)${SYSDIR} $(DESTDIR)${TCLDIR} $(DESTDIR)${TCLDIR}/bitmaps + ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} $(DESTDIR)${INSTALL_MANDIR} \ + $(DESTDIR)${SYSDIR} $(DESTDIR)${INSTALL_TCLDIR} $(DESTDIR)${INSTALL_TCLDIR}/bitmaps install-dirs: - ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${BINDIR} $(DESTDIR)${MANDIR} \ - $(DESTDIR)${SYSDIR} $(DESTDIR)${SCMDIR} + ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} $(DESTDIR)${INSTALL_MANDIR} \ + $(DESTDIR)${INSTALL_SYSDIR} $(DESTDIR)${INSTALL_SCMDIR} install-tcl: - @echo --- installing executable to $(DESTDIR)${BINDIR} - @echo --- installing runtime files to $(DESTDIR)${LIBDIR} + @echo --- installing executable to $(DESTDIR)${INSTALL_BINDIR} + @echo --- installing runtime files to $(DESTDIR)${INSTALL_LIBDIR} @${MAKE} install-tcl-real 2>&1 >> install.log install-tcl-real: install-tcl-dirs From 4c5f02710469fb1c3164a9a729f6bda661e0d157 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Tue, 28 Jan 2020 12:29:44 -0500 Subject: [PATCH 3/4] Correction to the configuration for distributed install. --- scripts/configure.in | 8 ++++---- scripts/defs.mak.in | 6 +++--- tcltk/ext2sim.sh | 2 +- tcltk/ext2spice.sh | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/configure.in b/scripts/configure.in index 8f8f85d2..306ab304 100644 --- a/scripts/configure.in +++ b/scripts/configure.in @@ -349,13 +349,13 @@ fi # place that is a temporary staging area, like DESTDIR, but unlike DESTDIR, # the prefix is replaced by the destination directory, rather than appended # to it. -dist_prefix="\${exec_prefix}" +DIST_DIR="\${exec_prefix}" AC_ARG_WITH(distdir, [ --with-distdir=DIR install into location DIR for distribution], [ if test "$withval" = "no" -o "$withval" = "NO" ; then - dist_prefix="\${exec_prefix}" + DIST_DIR="\${exec_prefix}" else - dist_prefix=$arg + DIST_DIR=${withval} fi ], ) @@ -1782,7 +1782,7 @@ AC_SUBST(modules) AC_SUBST(unused) AC_SUBST(programs) AC_SUBST(cadinstall) -AC_SUBST(dist_prefix) +AC_SUBST(DIST_DIR) AC_SUBST(rl_defs) AC_SUBST(rl_libs) diff --git a/scripts/defs.mak.in b/scripts/defs.mak.in index a2e70954..98f07b37 100755 --- a/scripts/defs.mak.in +++ b/scripts/defs.mak.in @@ -34,9 +34,9 @@ SCMDIR = ${libdir}/magic/scm TCLDIR = ${libdir}/magic/tcl # Install targets may be different if dist_prefix is set by configure -INSTALL_BINDIR = @dist_prefix@/bin -INSTALL_MANDIR = @dist_prefix@/share/man -INSTALL_LIBDIR = @dist_prefix@/lib +INSTALL_BINDIR = @DIST_DIR@/bin +INSTALL_MANDIR = @DIST_DIR@/share/man +INSTALL_LIBDIR = @DIST_DIR@/lib INSTALL_SYSDIR = ${INSTALL_LIBDIR}/magic/sys INSTALL_SCMDIR = ${INSTALL_LIBDIR}/magic/scm INSTALL_TCLDIR = ${INSTALL_LIBDIR}/magic/tcl diff --git a/tcltk/ext2sim.sh b/tcltk/ext2sim.sh index 8bd40c31..b1c98edd 100644 --- a/tcltk/ext2sim.sh +++ b/tcltk/ext2sim.sh @@ -15,7 +15,7 @@ for i in $@; do esac done # -eval /usr/local/lib/magic/tcl/magicdnull -dnull -noconsole -nowrapper $mgargs < Date: Tue, 28 Jan 2020 13:10:31 -0500 Subject: [PATCH 4/4] Missed a number of Makefiles in directories two levels down. --- Makefile | 10 ++++---- doc/html/Makefile | 2 +- doc/latexfiles/Makefile | 2 +- doc/man/Makefile | 46 ++++++++++++++++++------------------- doc/tutcells/Makefile | 2 +- scmos/cif_template/Makefile | 3 +-- scripts/configure | 8 +++---- 7 files changed, 37 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index f0b50d48..9f288127 100644 --- a/Makefile +++ b/Makefile @@ -77,12 +77,14 @@ install-real: install-dirs (cd $$dir && ${MAKE} install); done install-tcl-dirs: - ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} $(DESTDIR)${INSTALL_MANDIR} \ - $(DESTDIR)${SYSDIR} $(DESTDIR)${INSTALL_TCLDIR} $(DESTDIR)${INSTALL_TCLDIR}/bitmaps + ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} \ + $(DESTDIR)${INSTALL_MANDIR} $(DESTDIR)${INSTALL_SYSDIR} \ + $(DESTDIR)${INSTALL_TCLDIR} $(DESTDIR)${INSTALL_TCLDIR}/bitmaps install-dirs: - ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} $(DESTDIR)${INSTALL_MANDIR} \ - $(DESTDIR)${INSTALL_SYSDIR} $(DESTDIR)${INSTALL_SCMDIR} + ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} \ + $(DESTDIR)${INSTALL_MANDIR} $(DESTDIR)${INSTALL_SYSDIR} \ + $(DESTDIR)${INSTALL_SCMDIR} install-tcl: @echo --- installing executable to $(DESTDIR)${INSTALL_BINDIR} diff --git a/doc/html/Makefile b/doc/html/Makefile index 427ae37c..bf577bcc 100644 --- a/doc/html/Makefile +++ b/doc/html/Makefile @@ -2,7 +2,7 @@ MAGICDIR = ../.. include $(MAGICDIR)/defs.mak -HTML_INSTDIR=$(LIBDIR)/magic/doc/html +HTML_INSTDIR=$(INSTALL_LIBDIR)/magic/doc/html install: $(DESTDIR)${HTML_INSTDIR} tar cf - . | (cd $(DESTDIR)${HTML_INSTDIR}; tar xf - ) diff --git a/doc/latexfiles/Makefile b/doc/latexfiles/Makefile index 5b0ba47a..aeba340d 100644 --- a/doc/latexfiles/Makefile +++ b/doc/latexfiles/Makefile @@ -3,7 +3,7 @@ MAGICDIR = ../.. include $(MAGICDIR)/defs.mak PS_SRCDIR=../psfiles -PS_INSTDIR=$(LIBDIR)/magic/doc +PS_INSTDIR=$(INSTALL_LIBDIR)/magic/doc .SUFFIXES: .dvi .tex .ps diff --git a/doc/man/Makefile b/doc/man/Makefile index ebf937ba..da493492 100644 --- a/doc/man/Makefile +++ b/doc/man/Makefile @@ -15,36 +15,36 @@ EQN=eqn -Ppsc include ${MAGICDIR}/defs.mak MANFILES = \ - $(DESTDIR)${MANDIR}/man1/ext2spice.1 \ - $(DESTDIR)${MANDIR}/man1/extcheck.1 \ - $(DESTDIR)${MANDIR}/man1/ext2sim.1 \ - $(DESTDIR)${MANDIR}/man1/magic.1 \ - $(DESTDIR)${MANDIR}/man5/cmap.5 \ - $(DESTDIR)${MANDIR}/man5/displays.5 \ - $(DESTDIR)${MANDIR}/man5/dlys.5 \ - $(DESTDIR)${MANDIR}/man5/dstyle.5 \ - $(DESTDIR)${MANDIR}/man5/ext.5 \ - $(DESTDIR)${MANDIR}/man5/glyphs.5 \ - $(DESTDIR)${MANDIR}/man5/mag.5 \ - $(DESTDIR)${MANDIR}/man5/net.5 \ - $(DESTDIR)${MANDIR}/man5/sim.5 + $(DESTDIR)${INSTALL_MANDIR}/man1/ext2spice.1 \ + $(DESTDIR)${INSTALL_MANDIR}/man1/extcheck.1 \ + $(DESTDIR)${INSTALL_MANDIR}/man1/ext2sim.1 \ + $(DESTDIR)${INSTALL_MANDIR}/man1/magic.1 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/cmap.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/displays.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/dlys.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/dstyle.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/ext.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/glyphs.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/mag.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/net.5 \ + $(DESTDIR)${INSTALL_MANDIR}/man5/sim.5 install: ${MANFILES} -$(DESTDIR)${MANDIR}: - ${SCRIPTS}/mkdirs $(DESTDIR)${MANDIR} +$(DESTDIR)${INSTALL_MANDIR}: + ${SCRIPTS}/mkdirs $(DESTDIR)${INSTALL_MANDIR} -$(DESTDIR)${MANDIR}/man1: $(DESTDIR)${MANDIR} - ${SCRIPTS}/mkdirs $(DESTDIR)${MANDIR}/man1 +$(DESTDIR)${INSTALL_MANDIR}/man1: $(DESTDIR)${INSTALL_MANDIR} + ${SCRIPTS}/mkdirs $(DESTDIR)${INSTALL_MANDIR}/man1 -$(DESTDIR)${MANDIR}/man1/%: % $(DESTDIR)${MANDIR}/man1 - ${CP} $* $(DESTDIR)${MANDIR}/man1/$* +$(DESTDIR)${INSTALL_MANDIR}/man1/%: % $(DESTDIR)${INSTALL_MANDIR}/man1 + ${CP} $* $(DESTDIR)${INSTALL_MANDIR}/man1/$* -$(DESTDIR)${MANDIR}/man5: $(DESTDIR)${MANDIR} - ${SCRIPTS}/mkdirs $(DESTDIR)${MANDIR}/man5 +$(DESTDIR)${INSTALL_MANDIR}/man5: $(DESTDIR)${INSTALL_MANDIR} + ${SCRIPTS}/mkdirs $(DESTDIR)${INSTALL_MANDIR}/man5 -$(DESTDIR)${MANDIR}/man5/%: % $(DESTDIR)${MANDIR}/man5 - ${CP} $* $(DESTDIR)${MANDIR}/man5/$* +$(DESTDIR)${INSTALL_MANDIR}/man5/%: % $(DESTDIR)${INSTALL_MANDIR}/man5 + ${CP} $* $(DESTDIR)${INSTALL_MANDIR}/man5/$* mans: ${SCRIPTS}/printmans "${TROFF} ${MANMACS} -" *.1 *.5 diff --git a/doc/tutcells/Makefile b/doc/tutcells/Makefile index 7edc8cb5..a60d909b 100644 --- a/doc/tutcells/Makefile +++ b/doc/tutcells/Makefile @@ -6,7 +6,7 @@ MAGICDIR = ../.. include ${MAGICDIR}/defs.mak -TUTDIR = ${LIBDIR}/magic/tutorial +TUTDIR = ${INSTALL_LIBDIR}/magic/tutorial TUTFILES= m3a.mag maint2a.mag tut1.mag \ tut2a.mag tut2b.mag tut2c.mag tut2d.mag \ diff --git a/scmos/cif_template/Makefile b/scmos/cif_template/Makefile index 0c654441..89377a82 100644 --- a/scmos/cif_template/Makefile +++ b/scmos/cif_template/Makefile @@ -21,8 +21,7 @@ all: $(OBJS_DIR) $(CIFIN) $(CIFOUT) $(IBMCIFIN) $(IBMCIFOUT) $(TMCIFIN) \ $(TMCIFOUT) $(SUBCIFIN) $(SUBCIFOUT) clean:; - rm -f $(CIFIN) $(CIFOUT) $(IBMCIFIN) $(IBMCIFOUT) $(TMCIFIN) \ - $(TMCIFOUT) $(SUBCIFIN) $(SUBCIFOUT) + rm -rf $(OBJS_DIR) scg: cifout.c cifout-cmos26b.gen cifout.gen cifout.nw\ cifout.others cifout.pw cifout.scgnw cifout.scgpw diff --git a/scripts/configure b/scripts/configure index 1774a4ce..2114738f 100755 --- a/scripts/configure +++ b/scripts/configure @@ -640,7 +640,7 @@ gr_dflags gr_cflags rl_libs rl_defs -dist_prefix +DIST_DIR cadinstall programs unused @@ -6143,15 +6143,15 @@ fi # place that is a temporary staging area, like DESTDIR, but unlike DESTDIR, # the prefix is replaced by the destination directory, rather than appended # to it. -dist_prefix="\${exec_prefix}" +DIST_DIR="\${exec_prefix}" # Check whether --with-distdir was given. if test "${with_distdir+set}" = set; then : withval=$with_distdir; if test "$withval" = "no" -o "$withval" = "NO" ; then - dist_prefix="\${exec_prefix}" + DIST_DIR="\${exec_prefix}" else - dist_prefix=$arg + DIST_DIR=${withval} fi fi