# speed -- speed re-synthesis package 
#----------------------------------------------------------------------

MACHINE = pmax
CAD 	= /net/eros/octtools/$(MACHINE)
#MIS	= $(CAD)/lib/misII
MIS	= /misII/mis2.2/src

LINTCREATEFLAG = -C
HOST	= prophet
DIST	= /users/singh/mis_timing/dist

P	= speed
PSRC	= sp_network.c absorb.c weight.c speedup.c com_speed.c \
	  speed_no.c speed_net.c speed_util.c speed_and.c speed_or.c\
	  speed_loop.c speed_delay.c weight_util.c speed_plot.c \
	  sp_buffer.c buf_util.c buf_delay.c buf_recur.c buf_replace.c \
	  buf_trans2.c
POBJ	= sp_network.o absorb.o weight.o speedup.o com_speed.o \
	  speed_net.o speed_no.o speed_util.o speed_and.o speed_or.o\
	  speed_loop.o speed_delay.o weight_util.o speed_plot.o \
	  sp_buffer.o buf_util.o buf_delay.o buf_recur.o buf_replace.o \
	  buf_trans2.o
PHDR	= speed_int.h buffer_int.h speed.h
MISC    = $(P).doc speed_up.1 print_level.1 buffer_opt.1 Makefile

TARGET	= misII
TARGETPG= misII-pg

LIBS	= $(MIS)/lib/libmisII.a	\
	  $(CAD)/lib/liboh.a \
          $(CAD)/lib/liboct.a \
          $(CAD)/lib/libst.a \
          $(CAD)/lib/libtr.a \
          $(CAD)/lib/liberrtrap.a \
          $(CAD)/lib/libuprintf.a \
          $(CAD)/lib/libutility.a \
          $(CAD)/lib/libmm.a \
          $(CAD)/lib/libport.a
  
LIBSPG	= $(MIS)/lib/libmisII-pg.a	\
	  $(CAD)/lib/liboctpg.a		\
	  $(CAD)/lib/libmm.a

LINTLIBS= $(MIS)/lib/llib-lmisII.ln	\
	  $(CAD)/lib/llib-loct.ln

INCLUDE	= -I$(MIS)/include -I$(CAD)/include
CFLAGS	= -g $(INCLUDE) 
LDFLAGS	= -g
LINTFLAGS =  $(INCLUDE) ${LINTEXTRAS}

SABER	= $(MIS)/lib/.saberinit

#----------------------------------------------------------------------

$(TARGET): $(PHDR) $(POBJ) $(LIBS) 
	$(CC) $(LDFLAGS) -o $(TARGET) $(POBJ) $(LIBS) -lm -lX11

$(TARGETPG): _force
	make "CFLAGS = -pg -O $(INCLUDE)" $(POBJ)
	$(CC) -pg -o $(TARGETPG) $(POBJ) $(LIBSPG) -lm -lX11

lint: $(PSRC) $(PHDR) $(HDR)
	lint $(LINTFLAGS) $(PSRC) $(LINTLIBS)

install: lib$(P).a llib-l$(P).ln

lib$(P).a: $(POBJ)
	@rm -f lib$(P).a
	ar cr lib$(P).a $(POBJ)

llib-l$(P).ln: $(PSRC) $(PHDR)
	lint $(LINTFLAGS) ${LINTCREATEFLAG}$(P) -n $(PSRC)

.saberinit: Makefile
	@echo load $(INCLUDE) $(MIS)/lib/mis.o $(POBJ) $(LIBS) -lm -lX11 >>.saberinit

dist:
	rdist -Richw $(PSRC) $(PHDR) $(MISC) $(HOST):$(DIST)/$(P)

clean:
	rm -f $(TARGET) $(TARGETPG) *.a *.ln *.o \
	    [Tt]ags [Mm]ake.out malloc.out gmon.out lint .saberinit leak

tags: _force
	@for i in $(PSRC) $(PHDR); do			\
	    cwd=`pwd`; ctags -a $$cwd/$$i;		\
	done;

strip_depend:
	sed '/^#--DO NOT CHANGE ANYTHING AFTER THIS LINE/,$$d' Makefile >mktemp
	mv mktemp Makefile

depend:
	sed '/^#--DO NOT CHANGE ANYTHING AFTER THIS LINE/,$$d' Makefile >mktemp
	echo '#--DO NOT CHANGE ANYTHING AFTER THIS LINE' >>mktemp
	$(CAD)/bin/cc-M $(INCLUDE) $(PSRC) | \
	    sed 's|$(CAD)|$$(CAD)|g' | \
	    grep -v '/usr/include' >>mktemp
	mv mktemp Makefile

#-------------------------- IBM 3090 support -----------------
IBMHOST = eros
IBMDIST = /eros1/awang/misII.ibm/src
ibmdist: $(PSRC) $(PHDR)
	rdist -Richw $(PSRC) $(PHDR) $(IBMHOST):$(IBMDIST)
#-------------------------------------------------------------
