
# for no analyzer (systems without X) define X = NO and XLIB = <empty>
#X	= NO
#XLIB	= 
X	= 11
XLIB	= -lX11 -L/usr/X386/lib

# The following is set from ../../make_irsim (CFLAGS)
SYSF	=
DEFS	= $(SYSF) -DFAULT_SIM

CC	= cc
MAKEDEP	= ../utils/makedep
EXPORT	= ../utils/export

LSRC =	faultsim.c

SRCS =	access.c binsim.c cad_dir.c config.c conn_list.c eval.c fio.c \
	hist.c hist_io.c intr.c incsim.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 version.c 

OBJS =	access.o binsim.o cad_dir.o config.o conn_list.o eval.o fio.o \
	hist.o hist_io.o intr.o incsim.o mem.o netupdate.o network.o \
	newrstep.o nsubrs.o parallel.o prints.o rsim.o sched.o sim.o \
	sstep.o stack.o tpos.o usage.o version.o faultsim.o

HDRS =	../include/net.h

CDIRS =	-I../include

OPTIM = -O
DBX = -g

CSW = $(OPTIM)
#CSW = $(DBX)

ANA =	../ana$$(X)/ana.o

EXPORTS = globals.h

ifsim : MAKEFILE $(EXPORTS) $(SRCS) $(SRCS) ANALYZER
	make -f MAKEFILE CSW="$(CSW)" X="$(X)" XLIB="$(XLIB)" SYSF="$(DEFS)" $@

clean :
	rm -f MAKEFILE $(SRCS) stables.c spiketbl.c genspktbl gentbl *.o *.h

ANALYZER :
	( cd ../ana$(X) ; make SYSF="$(DEFS)" CSW="$(CSW)" ana.o )

$(OBJS) gentbl : MAKEFILE $(EXPORTS)
	make -f MAKEFILE CSW="$(CSW)" SYSF="$(DEFS)" $@

$(EXPORTS) : $(SRCS)
	@echo making $(EXPORTS)
	@$(EXPORT) $(SRCS) ../anaNO/ana.c $(EXPORTS)

$(LSRC) :
	co $@

$(SRCS) :
	ln -s ../irsim/$@ .

MAKEFILE : Makefile $(SRCS)
	@echo "Making MAKEFILE in fsim"
	@echo SRCS = $(SRCS) $(LSRC) > MAKEFILE
	@echo OBJS = $(OBJS) >> MAKEFILE
	@echo HDSR = $(HDRS) >> MAKEFILE
	@echo LIBS = '$$(XLIB) -lm' >> MAKEFILE
	@echo SYSF = >> MAKEFILE
	@echo CSW = $(CSW) >> MAKEFILE
	@echo X = $(X) >> MAKEFILE
	@echo CDIRS = $(CDIRS) >> MAKEFILE
	@echo CFLAGS = '$$(CDIRS) $$(CSW) $$(SYSF)' >> MAKEFILE
	@echo 'ifsim : spiketbl.c stables.c $$(OBJS) $(ANA)' >> MAKEFILE
	@echo '	$(CC) $$(CFLAGS) -o ifsim $$(OBJS) $(ANA) $$(LIBS)' >> MAKEFILE
	@echo '$(SRCS) : ' >> MAKEFILE
	@echo '	ln -s ../irsim/$$@ .' >> MAKEFILE
	@echo 'stables.c : ../irsim/stables.c'  >> MAKEFILE
	@echo '	(cd ../irsim; make stables.c)' >> MAKEFILE
	@echo '	ln -s ../irsim/stables.c .' >> MAKEFILE
	@echo 'spiketbl.c :' >> MAKEFILE
	@echo '	(cd ../irsim; make ../irsim/spiketbl.c)' >> MAKEFILE
	@echo '	ln -s ../irsim/spiketbl.c .' >> MAKEFILE
	@$(MAKEDEP) -I ../include -N -o - $(SRCS) >> MAKEFILE

lint:
	lint -abhx $(CDIRS) $(DEFS) $(SRCS) ../anaNO/ana.c -lm > ifsim.lint
