magic/doc/Makefile.in

61 lines
1.5 KiB
Makefile
Raw Permalink Normal View History

#
# makefile for Magic documentation
#
# 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@
PSDIR = psfiles
include ${MAGICDIR}/defs.mak
PRINTER=verlag
TROFF=ditroff -P${PRINTER}
TTROFF=ditroff -Ppsc -t
PSDIT=psdit
GRN=grn -Ppsc
TBL=tbl -Ppsc
EQN=eqn -Ppsc
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
DOC_SUBDIRS = latexfiles man tutcells html
install-tcl:
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
for dir in ${DOC_SUBDIRS}; do \
${MAKE} -C $$dir install; done
install:
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
for dir in ${DOC_SUBDIRS}; do \
${MAKE} -C $$dir install; done
print_only: force
lpr -h ${PSDIR}/copyright.ps
lpr -h ${PSDIR}/tofc.ps
lpr -h ${PSDIR}/introduction.ps
lpr -h ${PSDIR}/tut1.ps
lpr -h ${PSDIR}/tut2.ps
lpr -h ${PSDIR}/tut3.ps
lpr -h ${PSDIR}/tut4.ps
lpr -h ${PSDIR}/tut5.ps
lpr -h ${PSDIR}/tut6.ps
lpr -h ${PSDIR}/tut7.ps
lpr -h ${PSDIR}/tut8.ps
lpr -h ${PSDIR}/tut9.ps
lpr -h ${PSDIR}/tut10.ps
lpr -h ${PSDIR}/tut11.ps
lpr -h ${PSDIR}/maint1.ps
lpr -h ${PSDIR}/maint2.ps
lpr -h ${PSDIR}/maint3.ps
lpr -h ${PSDIR}/maint4.ps
lpr -h ${PSDIR}/otherreports.ps
lpr -h ${PSDIR}/Addendum6.5.ps
print: postscript print_only
postscript: copyright.ps introduction.ps tofc.ps tut1.ps tut2.ps tut3.ps \
tut4.ps tut5.ps tut6.ps tut7.ps tut8.ps tut9.ps tut10.ps tut11.ps \
maint1.ps maint2.ps maint3.ps maint4.ps Addendum6.5.ps
cd nmos; make postscript PRINTER=psc "PSDIT=${PSDIT}"
cd scmos; make postscript PRINTER=psc "PSDIT=${PSDIT}"