1# 2# rcsid $Header: /usr/cvsroot/magic-8.0/Makefile,v 1.1.1.1 2008/02/03 20:43:49 tim Exp $ 3# 4 5MAGICDIR = . 6PROGRAMS = magic 7TECH = scmos 8LIBRARIES = database utils extflat 9MODULES = bplane cmwind commands database dbwind debug drc extflat \ 10 extract graphics netmenu plow resis select sim textio tiles \ 11 utils windows wiring 12 13MAKEFLAGS = 14INSTALL_CAD_DIRS = windows doc ${TECH} 15 16-include defs.mak 17 18all: $(ALL_TARGET) 19 20standard: 21 ${MAKE} mains 22 23tcl: 24 ${MAKE} tcllibrary 25 26force: clean all 27 28defs.mak: 29 @echo No \"defs.mak\" file found. Run "configure" to make one. 30 31config: 32 ${MAGICDIR}/configure 33 34tcllibrary: database/database.h modules 35 @echo --- making Tcl shared libraries 36 for dir in ${PROGRAMS}; do \ 37 ${MAKE} -C $$dir tcl-main || exit 1 ; done 38 39mains: database/database.h modules libs 40 @echo --- making main programs 41 for dir in ${PROGRAMS}; do \ 42 ${MAKE} -C $$dir main || exit 1 ; done 43 44database/database.h: database/database.h.in 45 @echo --- making header file database/database.h 46 ${SCRIPTS}/makedbh database/database.h.in database/database.h 47 48modules: database/database.h depend 49 @echo --- making modules 50 for dir in ${MODULES} ${PROGRAMS}; do \ 51 ${MAKE} -C $$dir module || exit 1 ; done 52 53libs: 54 @echo --- making libraries 55 for dir in ${LIBRARIES}; do \ 56 ${MAKE} -C $$dir lib || exit 1 ; done 57 58depend: database/database.h 59 @echo --- making dependencies 60 ${RM} */Depend 61 for dir in ${MODULES} ${UNUSED_MODULES} ${PROGRAMS}; do \ 62 ${MAKE} -C $$dir depend || exit 1 ; done 63 64install: $(INSTALL_TARGET) 65 66install-magic: 67 @echo --- installing executable to $(DESTDIR)${INSTALL_BINDIR} 68 @echo --- installing runtime files to $(DESTDIR)${INSTALL_LIBDIR} 69 @${MAKE} install-real 2>&1 70 71install-real: install-dirs 72 for dir in ${INSTALL_CAD_DIRS}; do \ 73 ${MAKE} -C $$dir install || exit 1 ; done 74 for dir in ${PROGRAMS}; do \ 75 ${MAKE} -C $$dir install || exit 1 ; done 76 77install-tcl-dirs: 78 ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} \ 79 $(DESTDIR)${INSTALL_MANDIR} $(DESTDIR)${INSTALL_SYSDIR} \ 80 $(DESTDIR)${INSTALL_TCLDIR} $(DESTDIR)${INSTALL_TCLDIR}/bitmaps 81 82install-dirs: 83 ${MAGICDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} \ 84 $(DESTDIR)${INSTALL_MANDIR} $(DESTDIR)${INSTALL_SYSDIR} \ 85 $(DESTDIR)${INSTALL_SCMDIR} 86 87install-tcl: 88 @echo --- installing executable to $(DESTDIR)${INSTALL_BINDIR} 89 @echo --- installing runtime files to $(DESTDIR)${INSTALL_LIBDIR} 90 @${MAKE} install-tcl-real 2>&1 91 92install-tcl-real: install-tcl-dirs 93 for dir in ${INSTALL_CAD_DIRS} ${PROGRAMS}; do \ 94 ${MAKE} -C $$dir install-tcl || exit 1 ; done 95 96clean: 97 for dir in ${MODULES} ${PROGRAMS} ${TECH} ${UNUSED_MODULES}; do \ 98 (cd $$dir && ${MAKE} clean); done 99 ${RM} *.tmp */*.tmp *.sav */*.sav *.log TAGS tags 100 101distclean: 102 touch defs.mak 103 @${MAKE} clean 104 ${RM} defs.mak old.defs.mak ${MAGICDIR}/scripts/defs.mak 105 ${RM} ${MAGICDIR}/scripts/default.conf 106 ${RM} ${MAGICDIR}/scripts/config.log ${MAGICDIR}/scripts/config.status 107 ${RM} scripts/magic.spec magic-`cat VERSION` magic-`cat VERSION`.tgz 108 ${RM} *.log */Depend 109 110dist: 111 ${RM} scripts/magic.spec magic-`cat VERSION` magic-`cat VERSION`.tgz 112 sed -e /@VERSION@/s%@VERSION@%`cat VERSION`% \ 113 scripts/magic.spec.in > scripts/magic.spec 114 ln -nsf . magic-`cat VERSION` 115 tar zchvf magic-`cat VERSION`.tgz --exclude CVS \ 116 --exclude magic-`cat VERSION`/magic-`cat VERSION` \ 117 --exclude magic-`cat VERSION`/magic-`cat VERSION`.tgz \ 118 magic-`cat VERSION` 119 120clean-mains: 121 for dir in ${PROGRAMS}; do \ 122 (cd $$dir && ${RM} $$dir); done 123 124tags: 125 ${RM} tags 126 find . ${MODULES} ${PROGRAMS} -name "*.[ch]" -maxdepth 1 | xargs ctags -o tags 127 128TAGS: 129 ${RM} TAGS 130 find . ${MODULES} ${PROGRAMS} -name "*.[ch]" -maxdepth 1 | xargs etags -o TAGS 131 132setup-git: 133 git config --local include.path ../.gitconfig 134 git stash save 135 rm .git/index 136 git checkout HEAD -- "$$(git rev-parse --show-toplevel)" 137 git stash pop 138