mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-08-29 01:24:51 +02:00
processes "interaction areas". This should eliminate weirdnesses where errors will fail to show up in a subcell that does not interact with paint or other subcells in the top level edit cell. These errors cannot be reported directly in the top level cell, but a new error message has been created to direct the user to check the subcell for errors. Also: Modified the toolkit procedures to force DRC to be run on newly created or modified parameterized cell layouts. There is some oddity about the process that causes DRC errors to be delayed unless a print statement is put before the DRC check; I would like to investigate this further.
140 lines
4.0 KiB
Makefile
140 lines
4.0 KiB
Makefile
#
|
|
# rcsid $Header: /usr/cvsroot/magic-8.0/Makefile,v 1.1.1.1 2008/02/03 20:43:49 tim Exp $
|
|
#
|
|
|
|
MAGICDIR = .
|
|
PROGRAMS = magic
|
|
TECH = scmos
|
|
LIBRARIES = database utils extflat
|
|
MODULES = bplane cmwind commands database dbwind debug drc extflat \
|
|
extract graphics netmenu plow resis select sim textio tiles \
|
|
utils windows wiring
|
|
|
|
MAKEFLAGS =
|
|
INSTALL_CAD_DIRS = windows doc ${TECH}
|
|
|
|
-include defs.mak
|
|
|
|
all: $(ALL_TARGET)
|
|
|
|
standard:
|
|
@echo --- errors and warnings logged in file make.log
|
|
@${MAKE} mains 2>&1 | tee -a make.log | egrep -i "(.c:|Stop.|---)"
|
|
|
|
tcl:
|
|
@echo --- errors and warnings logged in file make.log
|
|
@${MAKE} tcllibrary 2>&1 | tee -a make.log | egrep -i "(.c:|Stop.|---)"
|
|
|
|
force: clean all
|
|
|
|
defs.mak:
|
|
@echo No \"defs.mak\" file found. Run "configure" to make one.
|
|
|
|
config:
|
|
${MAGICDIR}/configure
|
|
|
|
tcllibrary: database/database.h modules
|
|
@echo --- making Tcl shared libraries
|
|
for dir in ${PROGRAMS}; do \
|
|
(cd $$dir && ${MAKE} tcl-main); done
|
|
|
|
mains: database/database.h modules libs
|
|
@echo --- making main programs
|
|
for dir in ${PROGRAMS}; do \
|
|
(cd $$dir && ${MAKE} main); done
|
|
|
|
database/database.h: database/database.h.in
|
|
@echo --- making header file database/database.h
|
|
${SCRIPTS}/makedbh database/database.h.in database/database.h
|
|
|
|
modules: database/database.h depend
|
|
@echo --- making modules
|
|
for dir in ${MODULES} ${PROGRAMS}; do \
|
|
(cd $$dir && ${MAKE} module); done
|
|
|
|
libs:
|
|
@echo --- making libraries
|
|
for dir in ${LIBRARIES}; do \
|
|
(cd $$dir && ${MAKE} lib); done
|
|
|
|
depend: database/database.h
|
|
@echo --- making dependencies
|
|
${RM} */Depend
|
|
for dir in ${MODULES} ${UNUSED_MODULES} ${PROGRAMS}; do \
|
|
(cd $$dir && ${MAKE} depend); done
|
|
|
|
install: $(INSTALL_TARGET)
|
|
|
|
install-magic:
|
|
@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
|
|
for dir in ${INSTALL_CAD_DIRS}; do \
|
|
(cd $$dir && ${MAKE} install); done
|
|
for dir in ${PROGRAMS}; do \
|
|
(cd $$dir && ${MAKE} install); done
|
|
|
|
install-tcl-dirs:
|
|
${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}
|
|
|
|
install-tcl:
|
|
@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
|
|
for dir in ${INSTALL_CAD_DIRS} ${PROGRAMS}; do \
|
|
(cd $$dir && ${MAKE} install-tcl); done
|
|
|
|
clean:
|
|
for dir in ${MODULES} ${PROGRAMS} ${TECH} ${UNUSED_MODULES}; do \
|
|
(cd $$dir && ${MAKE} clean); done
|
|
${RM} *.tmp */*.tmp *.sav */*.sav *.log TAGS tags
|
|
|
|
distclean:
|
|
touch defs.mak
|
|
@${MAKE} clean
|
|
${RM} defs.mak old.defs.mak ${MAGICDIR}/scripts/defs.mak
|
|
${RM} ${MAGICDIR}/scripts/default.conf
|
|
${RM} ${MAGICDIR}/scripts/config.log ${MAGICDIR}/scripts/config.status
|
|
${RM} scripts/magic.spec magic-`cat VERSION` magic-`cat VERSION`.tgz
|
|
${RM} *.log */Depend
|
|
|
|
dist:
|
|
${RM} scripts/magic.spec magic-`cat VERSION` magic-`cat VERSION`.tgz
|
|
sed -e /@VERSION@/s%@VERSION@%`cat VERSION`% \
|
|
scripts/magic.spec.in > scripts/magic.spec
|
|
ln -nsf . magic-`cat VERSION`
|
|
tar zchvf magic-`cat VERSION`.tgz --exclude CVS \
|
|
--exclude magic-`cat VERSION`/magic-`cat VERSION` \
|
|
--exclude magic-`cat VERSION`/magic-`cat VERSION`.tgz \
|
|
magic-`cat VERSION`
|
|
|
|
clean-mains:
|
|
for dir in ${PROGRAMS}; do \
|
|
(cd $$dir && ${RM} $$dir); done
|
|
|
|
tags:
|
|
${RM} tags
|
|
find . ${MODULES} ${PROGRAMS} -name "*.[ch]" -maxdepth 1 | xargs ctags -o tags
|
|
|
|
TAGS:
|
|
${RM} TAGS
|
|
find . ${MODULES} ${PROGRAMS} -name "*.[ch]" -maxdepth 1 | xargs etags -o TAGS
|
|
|
|
setup-git:
|
|
git config --local include.path ../.gitconfig
|
|
git stash save
|
|
rm .git/index
|
|
git checkout HEAD -- "$$(git rev-parse --show-toplevel)"
|
|
git stash pop
|