# Example makefile for experimentation with MIS
#----------------------------------------------------------------------

P	= octio
PSRC	= octio.c octwrite.c octread.c
POBJ	= octio.o octwrite.o octread.o
PHDR	= octio.h

LINTCREATEFLAG = -C
CAD	= /net/eros/octtools/pmax
MIS	= /misII/pmax/src

HOST	= beeblebrox
DIST	= /misII/pmax/src

TARGET	= misII
TARGETG= misII-g

LIBS	= $(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

LIBSG	= $(CAD)/lib/liboh-g.a \
	  $(CAD)/lib/liboct-g.a \
	  $(CAD)/lib/libst-g.a \
	  $(CAD)/lib/libtr-g.a \
	  $(CAD)/lib/liberrtrap-g.a \
	  $(CAD)/lib/libuprintf-g.a \
	  $(CAD)/lib/libutility-g.a \
	  $(CAD)/lib/libmm-g.a \
	  $(CAD)/lib/libport-g.a

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

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

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

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

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

$(TARGETG): clean $(LIBSG)
	make "CFLAGS = -g $(INCLUDE) -DOCT" $(POBJ)
	$(CC) -g -o $(TARGETG) $(POBJ) $(LIBSG) -lm

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)

test:
	rm -f verify.out
	(verify mcnc > verify.out 2>&1)

dist: clean strip_depend
	cd ..; rdist -Richw $(P) $(HOST):$(DIST)

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

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

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

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

_force:
