#
# rcsid $Header: /ufs/repository/magic/magic/Makefile,v 1.7 2001/09/26 18:24:39 tim Exp $
#

MODULE   = magic
MAGICDIR = ..
SRCS     = magicTop.c

include ${MAGICDIR}/defs.mak

EXTRA_LIBS = ${MAGICDIR}/cmwind/libcmwind.o \
            ${MAGICDIR}/commands/libcommands.o  ${MAGICDIR}/database/libdatabase.o \
            ${MAGICDIR}/dbwind/libdbwind.o ${MAGICDIR}/drc/libdrc.o  \
            ${MAGICDIR}/debug/libdebug.o ${MAGICDIR}/extract/libextract.o \
            ${MAGICDIR}/graphics/libgraphics.o ${MAGICDIR}/macros/libmacros.o \
	    ${MAGICDIR}/main/libmain.o ${MAGICDIR}/misc/libmisc.o \
	    ${MAGICDIR}/parser/libparser.o ${MAGICDIR}/select/libselect.o \
	    ${MAGICDIR}/signals/libsignals.o ${MAGICDIR}/tech/libtech.o \
	    ${MAGICDIR}/textio/libtextio.o ${MAGICDIR}/tiles/libtiles.o \
	    ${MAGICDIR}/undo/libundo.o ${MAGICDIR}/windows/libwindows.o \
	    ${MAGICDIR}/wiring/libwiring.o ${MAGICDIR}/resis/libresis.o \
	    ${MAGICDIR}/sim/libsim.o ${MAGICDIR}/netlist/libnetlist.o \
	    ${MAGICDIR}/netmenu/libnetmenu.o ${MAGICDIR}/utils/libutils.o \
	    ${MAIN_EXTRA_LIBS}

DFLAGS += -DMAGIC_VERSION="\"${VERSION}\"" -DMAGIC_DATE="\"`date`\""
LIBS   += ${GR_LIBS} ${READLINE_LIBS} -lm ${MAC_EXTRA_LIBS}
CLEANS += tclmagic${SHDLIB_EXT} tclmagic.o

main: magic

tcl-main: tclmagic${SHDLIB_EXT}

tclmagic.o: tclmagic.c
	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} tclmagic.c -c -o tclmagic.o

tclmagic${SHDLIB_EXT}: tclmagic.o ${EXTRA_LIBS}
	@echo --- making magic Tcl library \(tclmagic${SHDLIB_EXT}\)
	${RM} tclmagic${SHDLIB_EXT}
	${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tclmagic.o ${EXTRA_LIBS} -lc ${LIBS}

install: ${BINDIR}/magic ${SYSDIR}/.magic ${SYSDIR}/magicps.pro

install-tcl: ${BINDIR}/magic.sh ${TCLDIR}/tclmagic${SHDLIB_EXT} ${SYSDIR}/.magic ${SYSDIR}/magicps.pro

${TCLDIR}/tclmagic${SHDLIB_EXT}: tclmagic${SHDLIB_EXT} magic.tcl
	${RM} ${TCLDIR}/tclmagic${SHDLIB_EXT} ${TCLDIR}/magic.tcl
	${CP} tclmagic${SHDLIB_EXT} ${TCLDIR}/tclmagic${SHDLIB_EXT}
	sed -e /TCL_DIR/s%TCL_DIR%${TCLDIR}%g  \
            -e /SHDLIB_EXT/s%SHDLIB_EXT%${SHDLIB_EXT}%g magic.tcl > ${TCLDIR}/magic.tcl

${BINDIR}/magic.sh: magic.sh magic.tcl tkcon.tcl wrapper.tcl tkshell.tcl console.tcl techbuilder.tcl
	${RM} ${BINDIR}/magic ${TCLDIR}/.wishrc \
		${TCLDIR}/tkcon.tcl ${TCLDIR}/wrapper.tcl ${TCLDIR}/tkshell.tcl \
		${TCLDIR}/console.tcl ${TCLDIR}/techbuilder.tcl
	sed -e /TCL_DIR/s%TCL_DIR%${TCLDIR}%g magic.sh > ${BINDIR}/magic.sh
	(cd ${BINDIR}; chmod 0755 magic.sh ; mv magic.sh magic)
	(cd ${TCLDIR}; ln -s magic.tcl .wishrc)
	${CP} tkcon.tcl ${TCLDIR}/tkcon.tcl
	${CP} tkshell.tcl ${TCLDIR}/tkshell.tcl
	${CP} wrapper.tcl ${TCLDIR}/wrapper.tcl
	${CP} console.tcl ${TCLDIR}/console.tcl
	${CP} techbuilder.tcl ${TCLDIR}/techbuilder.tcl

${SYSDIR}/.magic: proto.magic
	${RM} ${SYSDIR}/.magic
	${CPP} ${GR_DFLAGS} ${DFLAGS} proto.magic > ${SYSDIR}/.magic

${SYSDIR}/magicps.pro: magicps.pro
	${RM} ${SYSDIR}/magicps.pro
	${CP} magicps.pro ${SYSDIR}/magicps.pro

include ${MAGICDIR}/rules.mak
