magic/scmos/cif_template/Makefile.in

70 lines
2.3 KiB
Makefile
Raw Normal View History

# Provided by configure: the module's source dir + the build top.
# defs.mak sees `srcdir` already set and skips its own srcdir derivation.
srcdir = @srcdir@
VPATH = @srcdir@
MAGICDIR = @top_builddir@
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
MKDIR = $(MAGICSRC)/scripts/mkdirs
OBJS_DIR = objs
CIFIN = $(OBJS_DIR)/CIFin
CIFOUT = $(OBJS_DIR)/CIFout
IBMCIFIN = $(OBJS_DIR)/IBMCIFin
IBMCIFOUT = $(OBJS_DIR)/IBMCIFout
TMCIFIN = $(OBJS_DIR)/TMCIFin
TMCIFOUT = $(OBJS_DIR)/TMCIFout
SUBCIFIN = $(OBJS_DIR)/SUBCIFin
SUBCIFOUT = $(OBJS_DIR)/SUBCIFout
SED_CMD = sed -e "s/\\\\/\\\\\\\\/" -e "/^\#/D" -e "s/(gen )/(gen)/" -e "s/(nowell )/(nowell)/" -e "s/(nwell )/(nwell)/" -e "s/(pwell )/(pwell)/"
include ${MAGICDIR}/defs.mak
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
SC_CPP = ${CPP} -I$(srcdir)
all: $(OBJS_DIR) $(CIFIN) $(CIFOUT) $(IBMCIFIN) $(IBMCIFOUT) $(TMCIFIN) \
$(TMCIFOUT) $(SUBCIFIN) $(SUBCIFOUT)
clean:;
rm -rf $(OBJS_DIR)
scg: cifout.c cifout-cmos26b.gen cifout.gen cifout.nw\
cifout.others cifout.pw cifout.scgnw cifout.scgpw
rm -f $(CIFOUT)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) $(srcdir)/scgcifout.c | ${SED_CMD} > $(CIFOUT)
$(OBJS_DIR):
$(MKDIR) $(OBJS_DIR)
$(CIFIN): $(OBJS_DIR) cifin.c cifin-cmos26b.gen cifin.gen cifin.nw cifin.oldnw\
cifin.others cifin.pw cifin-ami16.gen
rm -f $(CIFIN)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DSTANDARD $(srcdir)/cifin.c | ${SED_CMD} > $(CIFIN)
$(CIFOUT): $(OBJS_DIR) cifout.c cifout-cmos26b.gen cifout.gen cifout.nw\
cifout.others cifout.pw cifout-ami16.gen
rm -f $(CIFOUT)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DSTANDARD $(srcdir)/cifout.c | ${SED_CMD} > $(CIFOUT)
$(IBMCIFIN): $(OBJS_DIR) cifin.c cifin-ibm.gen
rm -f $(IBMCIFIN)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DIBM $(srcdir)/cifin.c | ${SED_CMD} > $(IBMCIFIN)
$(IBMCIFOUT): $(OBJS_DIR) cifout.c cifout-ibm.gen
rm -f $(IBMCIFOUT)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DIBM $(srcdir)/cifout.c | ${SED_CMD} > $(IBMCIFOUT)
$(TMCIFIN): $(OBJS_DIR) cifin.c cifin-cmos26b.gen
rm -f $(TMCIFIN)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DTIGHTMETAL $(srcdir)/cifin.c | ${SED_CMD} > $(TMCIFIN)
$(TMCIFOUT): $(OBJS_DIR) cifout.c cifout-cmos26b.gen
rm -f $(TMCIFOUT)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DTIGHTMETAL $(srcdir)/cifout.c | ${SED_CMD} > $(TMCIFOUT)
$(SUBCIFIN): $(OBJS_DIR) cifin.c cifin-cmos26g.gen cifin-cmos14b.gen
rm -f $(SUBCIFIN)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DSUBMICRON $(srcdir)/cifin.c | ${SED_CMD} > $(SUBCIFIN)
$(SUBCIFOUT): $(OBJS_DIR) cifout.c cifout-cmos26g.gen cifout-cmos14b.gen
rm -f $(SUBCIFOUT)
build: out-of-tree outlier Makefiles — full make + install Fix the remaining non-standard Makefiles so a full out-of-tree `../configure && make && make install` builds and installs a complete magic TCL tree, sources read from the source tree, all outputs in the build tree. Shared linker/preprocessor paths (scripts/configure.in, regenerated scripts/configure): * --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so every shared-library link (tclmagic.so, ...) finds the source map. * MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts. Programs (built via tcllibrary, PROGRAMS = magic tcltk): * magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/ magicps.pro install copies use $< / $(srcdir) instead of bare names. * tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if present else $(srcdir) (magic.tcl is generated, the rest are source). Techs (scmos): * scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template; tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile; install copies from build-or-$(srcdir). * scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs; SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen includes resolve; objs/ generated in the build tree. Data-file installs (source files copied from $(srcdir)): * graphics/Makefile: glyphs, outline fonts, and the X11 helper build. * windows/Makefile: glyphs and vector fonts. * doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware; doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir); doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles. Verified out-of-tree (mkdir _build; cd _build; ../configure): `make` returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos tech files + cif_template objs, proto.magicrc), and `make install DESTDIR=...` returns rc=0 installing 376 files (bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the source tree left completely clean. Not exercised by the default TCL build/install and therefore not converted here: the standalone .so/program variants of lef/plot/router/ext2spice/ext2sim (their module libs do build), the disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the WASM path, and doc/latexfiles PostScript *regeneration* (which still writes into the source psfiles dir). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 14:59:44 +02:00
$(SC_CPP) -DSUBMICRON $(srcdir)/cifout.c | ${SED_CMD} > $(SUBCIFOUT)