#
# Make a new version of MPACK and put it in ~cad/lib.
# Also put a lint library (MPACK.LN) there.
#
# sccsid @(#)Makefile	1.22 MAGIC (Berkeley) 12/1/85
#
CC=gcc
CAD=/nfs/si/cad
MAGICDIR=..
MODULE=mpack
H=	${MAGICDIR}/include
LIB=	${MAGICDIR}/lib
BIN=	${MAGICDIR}/bin
IFLAGS=	-I. -I${H}
CFLAGS= -traditional -g -DPARANOID ${IFLAGS}
PCFLAGS= -g -DSUN2 ${IFLAGS} -DPARANOID -pg
LINTFLAGS=${IFLAGS} -u
LINTLIBS= ${LIB}/lint/utils.ln ${LIB}/lint/tiles.ln ${LIB}/lint/tech.ln \
	${LIB}/lint/database.ln ${LIB}/lint/drc.ln ${LIB}/lint/cif.ln \
	${LIB}/lint/lintfix.c

LNKS=	magicMain.o magicStubs.o mpack.o \
     	${LIB}/utils.o ${LIB}/tiles.o ${LIB}/tech.o ${LIB}/database.o \
	${LIB}/drc.o ${LIB}/cif.o

HDRS = mpack.h mpackint.h
SRCS = mpack.c magicMain.c magicStubs.c
OBJS = mpack.o magicMain.o magicStubs.o

.SUFFIXES: .po

.c.o:
	rm -f $*.o
	${CC} ${CFLAGS} -c $*.c

all:	mpack.lib

test: mpack.raw test.c
	rm -f test
	${CC} ${CFLAGS} test.c mpack.raw -o test

mpack.raw: ${LNKS} 
	rm -f mpack.raw
	ld -r ${LNKS} -o mpack.raw

mpack.lib: mpack.raw
	rm -f mpack.lib
	ar r mpack.lib mpack.raw
	ranlib mpack.lib

${MODULE}.ln: ${SRCS} ${HDRS}
	rm -f ${MODULE}.ln
	lint ${LINTFLAGS} -C${MODULE} ${SRCS}
	mv llib-l${MODULE}.ln ${MODULE}.ln

install: installhdrs ${CAD}/lib/mpack.lib ${CAD}/lib/${MODULE}.ln

installhdrs: ${CAD}/lib/mpack.h

${CAD}/lib/mpack.h: mpack.h
	rm -f ${CAD}/lib/mpack.h
	cp mpack.h ${CAD}/lib

${CAD}/lib/mpack.lib: mpack.lib
	cp mpack.lib ${CAD}/lib/mpack.lib
	ranlib ${CAD}/lib/mpack.lib

${CAD}/lib/${MODULE}.ln: ${MODULE}.ln
	rm -f ${CAD}/lib/${MODULE}.ln
	cp ${MODULE}.ln ${CAD}/lib

DPATH=	${DESTHOST}:${DESTDIR}

tarfile:;
	tar -cvf mpack.tar README INSTALL Makefile $(SRCS) $(HDRS)

lint:	${SRCS} ${LINTLIBS} ${HDRS}
	lint ${LINTFLAGS} ${SRCS} ${LINTLIBS} >lint


clean:
	-rm *.o 

# include file dependencies for "magicMain.c"
magicMain.o:	magicMain.c
magicMain.o:	${H}/magic.h
magicMain.o:	${H}/hash.h
magicMain.o:	${H}/textio.h
magicMain.o:	${H}/geometry.h
magicMain.o:	${H}/graphics.h
magicMain.o:	${H}/tile.h
magicMain.o:	${H}/tech.h
magicMain.o:	${H}/database.h
magicMain.o:	${H}/drc.h
magicMain.o:	${H}/windows.h
magicMain.o:	${H}/dbwind.h
magicMain.o:	${H}/commands.h
magicMain.o:	${H}/signals.h
magicMain.o:	${H}/utils.h
magicMain.o:	${H}/runstats.h
magicMain.o:	${H}/cif.h
magicMain.o:	${H}/router.h
 
# include file dependencies for "magicStubs.c"
magicStubs.o:	magicStubs.c
magicStubs.o:	${H}/magic.h
magicStubs.o:	${H}/geometry.h
magicStubs.o:	${H}/tile.h
magicStubs.o:	${H}/database.h
magicStubs.o:	${H}/textio.h
magicStubs.o:	${H}/undo.h
 
# include file dependencies for "mpack.c"
mpack.o:	mpack.c
mpack.o:	${H}/magic.h
mpack.o:	${H}/geometry.h
mpack.o:	${H}/tile.h
mpack.o:	${H}/database.h
mpack.o:	mpack.h
mpack.o:	mpackint.h
mpack.o:	${H}/utils.h
mpack.o:	${H}/tech.h
mpack.o:	${H}/drc.h
mpack.o:	${H}/cif.h
mpack.o:	${H}/textio.h
 
