#
# Makefile redesigned for irsim-9.6
#

IRSIMDIR = .
PROGRAMS = src/irsim
LIBRARIES =
MODULES  = src/analyzer

include defs.mak

INSTALL_CAD_DIRS = lib man

MAKEFLAGS =

all:
	@${MAKE} mains

tcl:
	@${MAKE} tcllibrary

irsim:	all

force:	clean all

defs.mak:
	@echo No \"defs.mak\" file found.  Run "make config" to make one.

config:
	@${IRSIMDIR}/scripts/config

tcllibrary: modules
	(cd src/irsim && ${MAKE} tclirsim.so)

mains: modules
	@echo --- making main programs
	for dir in ${PROGRAMS}; do \
		(cd $$dir && ${MAKE} main); done

modules:
	@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:
	for dir in ${MODULES} ${PROGRAMS}; do \
		(cd $$dir && ${MAKE} depend); done

install: 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: install-dirs
	for dir in ${INSTALL_CAD_DIRS}; do \
		(cd $$dir && ${MAKE} install); done
	for dir in ${PROGRAMS}; do \
		(cd $$dir && ${MAKE} install-tcl); done

install-dirs:
	${IRSIMDIR}/scripts/mkdirs ${BINDIR} ${MANDIR} ${TCLDIR}

clean:
	for dir in ${MODULES} ${PROGRAMS}; do \
		(cd $$dir && ${MAKE} clean); done

veryclean:
	@${MAKE} clean
	${RM} defs.mak old.defs.mak default.conf

clean-mains:
	for dir in ${PROGRAMS}; do \
		(cd $$dir && ${RM} $$dir}; done

