magic/doc/tutcells/Makefile.in

41 lines
1.3 KiB
Makefile
Raw 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@
include ${MAGICDIR}/defs.mak
TUTDIR = ${INSTALL_LIBDIR}/magic/tutorial
TUTFILES= m3a.mag maint2a.mag tut1.mag \
tut2a.mag tut2b.mag tut2c.mag tut2d.mag \
tut3a.mag tut3b.mag tut3c.mag tut3d.mag tut3e.mag \
tut3f.mag tut3g.mag tut3h.mag \
tut4a.mag tut4x.mag tut4y.mag tut4z.mag \
tut5a.mag tut5b.mag \
tut6a.mag tut6b.mag tut6c.mag tut6x.mag tut6y.mag \
tut7a.mag tut7b.mag tut7b.net tut7c.mag tut7d.mag tut7d.net \
tut8a.mag tut8b.mag tut8c.mag tut8d.mag tut8e.mag tut8f.mag \
tut8g.mag tut8h.mag tut8i.mag tut8j.mag tut8k.mag tut8l.mag \
tut8m.mag tut8n.mag tut8r.mag \
tut9a.mag tut9b.mag tut9x.mag tut9y.mag \
tut11a.mag tut11b.mag tut11c.mag tut11d.mag \
tut11a.al tut11a.cmd tut11a.ext tut11a.nodes tut11a.sim \
2024-10-16 11:28:42 +02:00
tut11b.ext tut11c.ext tut11d.ext
INST_TUTFILES= $(TUTFILES:%=$(DESTDIR)${TUTDIR}/%)
install: $(DESTDIR)${TUTDIR} ${INST_TUTFILES}
$(DESTDIR)${TUTDIR}: make-tut-dirs
make-tut-dirs:
${SCRIPTS}/mkdirs $(DESTDIR)${TUTDIR}
$(DESTDIR)${TUTDIR}/%: % $(DESTDIR)${TUTDIR}
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
${CP} $< $(DESTDIR)${TUTDIR}/$*