MODULE = irsim
IRSIMDIR = ../..
SRCS =	access.c binsim.c cad_dir.c config.c conn_list.c eval.c fio.c \
	hist.c hist_io.c intr.c mem.c netupdate.c network.c \
	newrstep.c nsubrs.c parallel.c prints.c rsim.c sched.c sim.c \
	sstep.c stack.c tpos.c usage.c

include ${IRSIMDIR}/defs.mak

EXTRA_LIBS = ${MAIN_EXTRA_LIBS}

DFLAGS += -DIRSIM_VERSION="\"${VERSION}\"" -DIRSIM_DATE="\"`date`\""
LIBS += ${GR_LIBS} -lm ${MAC_EXTRA_LIBS}
CLEANS += tclirsim${SHDLIB_EXT} tclirsim.o genspktbl gentbl incstub.o noana.o
SRCS += ${OTHER_SRCS}

main: irsim gentbl genspktbl

tcl-main: tclirsim${SHDLIB_EXT}

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

tclirsim${SHDLIB_EXT}: tclirsim.o libirsim.o ${EXTRA_LIBS}
	${RM} tclirsim${SHDLIB_EXT}
	${CC} ${CFLAGS} ${CPPFLAGS} -o $@ ${LDDL_FLAGS} tclirsim.o libirsim.o ${EXTRA_LIBS} -lc ${LIBS}

${BINDIR}/gentbl:
	${RM} ${BINDIR}/gentbl
	${CP} gentbl ${BINDIR}/gentbl

${BINDIR}/genspktbl:
	${RM} ${BINDIR}/genspktbl
	${CP} genspktbl ${BINDIR}/genspktbl

gentbl:
	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} gentbl.c -o $@ ${LIBS}

genspktbl:
	${CC} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} genspktbl.c -o $@ ${LIBS}

install: ${BINDIR}/irsim ${BINDIR}/gentbl ${BINDIR}/genspktbl

install-tcl: ${TCLDIR} ${BINDIR}/irsim.sh ${TCLDIR}/tclirsim${SHDLIB_EXT}

${TCLDIR}/tclirsim${SHDLIB_EXT}: tclirsim${SHDLIB_EXT} irsim.tcl
	${RM} ${TCLDIR}/tclirsim${SHDLIB_EXT} ${TCLDIR}/irsim.tcl
	${CP} tclirsim${SHDLIB_EXT} ${TCLDIR}/tclirsim${SHDLIB_EXT}
	sed -e /TCL_DIR/s%TCL_DIR%${TCLDIR}%g irsim.tcl > ${TCLDIR}/irsim.tcl

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

include ${IRSIMDIR}/rules.mak
