#
# sccsid @(#)Makefile	4.14 MAGIC (Berkeley) 10/21/85
#

MODULE=	graphics
MAGICDIR=..
X=	/util/X11
H=	${MAGICDIR}/include
LIB=	${MAGICDIR}/lib
SYSLIB=	${MAGICDIR}/cadlib/sys
IFLAGS=	-I. -I${H} -I${X}
#
CFLAGS= -DX -DPARANOID ${IFLAGS}
PCFLAGS= -DX ${IFLAGS} -DPARANOID -pg
LINTFLAGS=${IFLAGS} -u
LINTLIBS=${LIB}/lint/utils.ln ${LIB}/lint/textio.ln 
SUN2LIBS=
ALLSRCS= ${SRCS} Makefile
#
SRCS= grMain.c grLock.c grDStyle.c grText.c grCMap.c grClip.c grGlyphs.c \
	grX1.c grX2.c grX3.c grX4.c grX5.c \
	grNull.c

OBJS= grMain.o grLock.o grDStyle.o grText.o grCMap.o grClip.o grGlyphs.o \
	grX1.o grX2.o grX3.o grX4.o grX5.o \
	grNull.o

POBJS= grMain.po grLock.po grDStyle.po grText.po \
	grCMap.po grClip.po grGlyphs.po \
	grX1.po grX2.po grX3.po grX4.po grX5.po \
	grNull.po

# all X sources (the masters for the lint library)
XSOURCES= grX1.c grX2.c grX3.c grX4.c grX5.c

# The lint library masters, converted from "X" to "Gr" where necessary.
LINTLIBSOURCES= grMain.c grLock.c grCMap.c grDStyle.c grX1.c.lint \
	grX2.c.lint grX3.c.lint grX4.c.lint grX5.c.lint \
	grClip.c grGlyphs.c

.SUFFIXES: .po

all: graphics.o #grSunProg 

graphics.o: ${OBJS}
	/bin/rm -f graphics.o
	ld -r -x ${OBJS} -o graphics.o

graphics.po: ${POBJS}
	/bin/rm -f graphics.po
	ld -r ${POBJS} -o graphics.po

grSunProg:  grSunProg.c 
	/bin/rm -f grSunProg
	${CC} ${CFLAGS} grSunProg.c ${SUN2LIBS} -o grSunProg

.c.po:
	/bin/rm -f $*.po
	-mv $*.o $*.so
	${CC} -c ${PCFLAGS} $*.c
	mv $*.o $*.po
	-mv $*.so $*.o

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

profile: installhdrs graphics.po
	/bin/rm -f ${LIB}/graphics.po
	cp graphics.po ${LIB}/graphics.po

install: X11helper installhdrs ${LIB}/graphics.o #${LIB}/lint/graphics.ln \
#	${SYSLIB}/mos.7bit.dstyle5 \
#	${SYSLIB}/mos.bw.dstyle5 \
#	${SYSLIB}/mos.7bit.std.cmap1 \
#	${SYSLIB}/bw.glyphs \
#	${SYSLIB}/color.glyphs

installhdrs: ${H}/${MODULE}.h ${H}/graphicsInt.h ${H}/glyphs.h \
	${H}/grXInt.h

${H}/${MODULE}.h: ${MODULE}.h
	/bin/rm -f ${H}/${MODULE}.h ../installed/${MODULE}/${MODULE}.h
	cp ${MODULE}.h ${H}
	cp ${MODULE}.h ../installed/${MODULE}

${H}/graphicsInt.h: graphicsInt.h
	/bin/rm -f ${H}/graphicsInt.h ../installed/${MODULE}/graphicsInt.h
	cp graphicsInt.h ${H}
	cp graphicsInt.h ../installed/${MODULE}

${H}/glyphs.h: glyphs.h
	/bin/rm -f ${H}/glyphs.h ../installed/${MODULE}/glyphs.h
	cp glyphs.h ${H}
	cp glyphs.h ../installed/${MODULE}

${H}/grSunInt.h: grSunInt.h
	/bin/rm -f ${H}/grSunInt.h ../installed/${MODULE}/grSunInt.h
	cp grSunInt.h ${H}
	cp grSunInt.h ../installed/${MODULE}

${H}/grXInt.h: grXInt.h
	/bin/rm -f ${H}/grXInt.h ../installed/${MODULE}/grXInt.h
	cp grXInt.h ${H}
	cp grXInt.h ../installed/${MODULE}

${SYSLIB}/color.glyphs: color.glyphs
	/bin/rm -f ${SYSLIB}/color.glyphs
	cp color.glyphs ${SYSLIB}/color.glyphs

${SYSLIB}/bw.glyphs: bw.glyphs
	/bin/rm -f ${SYSLIB}/bw.glyphs
	cp bw.glyphs ${SYSLIB}/bw.glyphs

${SYSLIB}/mos.7bit.dstyle5: mos.7bit.dstyle
	/bin/rm -f ${SYSLIB}/mos.7bit.dstyle5
	cp mos.7bit.dstyle ${SYSLIB}/mos.7bit.dstyle5

${SYSLIB}/mos.bw.dstyle5: mos.bw.dstyle
	/bin/rm -f ${SYSLIB}/mos.bw.dstyle5
	cp mos.bw.dstyle ${SYSLIB}/mos.bw.dstyle5

${SYSLIB}/mos.7bit.std.cmap1: mos.7bit.std.cmap
	/bin/rm -f ${SYSLIB}/mos.7bit.std.cmap1
	cp mos.7bit.std.cmap ${SYSLIB}/mos.7bit.std.cmap1

${LIB}/${MODULE}.o: ${MODULE}.o
	/bin/rm -f ${LIB}/${MODULE}.o
	ld -r -x ${MODULE}.o -o ${LIB}/${MODULE}.o
	cd ../installed/${MODULE}; \
		/bin/rm -f ${SRCS} Makefile grSunProg.c :makeforlint
	cp ${SRCS} Makefile grSunProg.c :makeforlint ../installed/${MODULE}

${LIB}/lint/graphics.ln: ${SRCS}
	/bin/rm -f ${LIB}/lint/${MODULE}.ln
	csh :makeforlint ${XSOURCES}
	lint ${LINTFLAGS} -C${MODULE} ${LINTLIBSOURCES}
	mv llib-l${MODULE}.ln ${LIB}/lint/${MODULE}.ln

lint:	${SRCS} ${LINTLIBS}
	/bin/rm -f lint
	lint ${LINTFLAGS} ${SRCS} ${LINTLIBS} > lint

distclean:
	-rsh ${DESTHOST} -n \
	    "/bin/rm -rf ${DESTDIR}/bin/grSunProg"

distbin: grSunProg 
	-rsh ${DESTHOST} -n "mkdir ${DESTDIR}/bin"
	-rcp grSunProg ${DESTHOST}:${DESTDIR}/bin

disttape: distbin
 
# include file dependencies for "grX1.c"
grX1.o:	grX1.c
grX1.o:	${H}/magic.h
grX1.o:	${H}/geometry.h
grX1.o:	graphics.h
grX1.o:	${H}/windows.h
grX1.o:	graphicsInt.h
grX1.o:	grXInt.h
grX1.o:	${H}/textio.h
grX1.o:	${H}/txcommands.h
grX1.o:	${H}/signals.h
 
# include file dependencies for "grX2.c"
grX2.o:	grX2.c
grX2.o:	${H}/magic.h
grX2.o:	${H}/textio.h
grX2.o:	${H}/geometry.h
grX2.o:	graphics.h
grX2.o:	${H}/windows.h
grX2.o:	graphicsInt.h
grX2.o:	grXInt.h
 
# include file dependencies for "grX3.c"
grX3.o:	grX3.c
grX3.o:	${H}/magic.h
grX3.o:	${H}/geometry.h
grX3.o:	graphics.h
grX3.o:	${H}/windows.h
grX3.o:	graphicsInt.h
grX3.o:	grXInt.h
grX3.o:	${H}/textio.h
grX3.o:	${H}/signals.h
grX3.o:	${H}/malloc.h
 
# include file dependencies for "grX4.c"
grX4.o:	grX4.c
grX4.o:	${H}/magic.h
grX4.o:	${H}/textio.h
grX4.o:	${H}/geometry.h
grX4.o:	graphics.h
grX4.o:	${H}/windows.h
grX4.o:	graphicsInt.h
grX4.o:	grXInt.h
grX4.o:	${H}/txcommands.h
grX4.o:	${H}/utils.h
 
# include file dependencies for "grX5.c"
grX5.o:	grX5.c
grX5.o:	${H}/magic.h
grX5.o:	${H}/textio.h
grX5.o:	${H}/geometry.h
grX5.o:	graphics.h
grX5.o:	glyphs.h
grX5.o:	${H}/windows.h
grX5.o:	graphicsInt.h
grX5.o:	grXInt.h
 
# include file dependencies for "grCMap.c"
grCMap.o:	grCMap.c
grCMap.o:	${H}/magic.h
grCMap.o:	${H}/geometry.h
grCMap.o:	${H}/tile.h
grCMap.o:	${H}/database.h
grCMap.o:	${H}/windows.h
grCMap.o:	graphics.h
grCMap.o:	graphicsInt.h
grCMap.o:	${H}/utils.h
grCMap.o:	${H}/textio.h
 
# include file dependencies for "grClip.c"
grClip.o:	grClip.c
grClip.o:	${H}/magic.h
grClip.o:	${H}/textio.h
grClip.o:	${H}/geometry.h
grClip.o:	graphics.h
grClip.o:	${H}/windows.h
grClip.o:	graphicsInt.h
grClip.o:	${H}/malloc.h
 
# include file dependencies for "grDStyle.c"
grDStyle.o:	grDStyle.c
grDStyle.o:	${H}/magic.h
grDStyle.o:	${H}/utils.h
grDStyle.o:	${H}/textio.h
grDStyle.o:	${H}/geometry.h
grDStyle.o:	graphics.h
grDStyle.o:	glyphs.h
grDStyle.o:	${H}/windows.h
grDStyle.o:	graphicsInt.h
 
# include file dependencies for "grGlyphs.c"
grGlyphs.o:	grGlyphs.c
grGlyphs.o:	${H}/magic.h
grGlyphs.o:	${H}/geometry.h
grGlyphs.o:	${H}/utils.h
grGlyphs.o:	graphics.h
grGlyphs.o:	${H}/windows.h
grGlyphs.o:	graphicsInt.h
grGlyphs.o:	glyphs.h
grGlyphs.o:	${H}/textio.h
grGlyphs.o:	${H}/malloc.h
 
# include file dependencies for "grLock.c"
grLock.o:	grLock.c
grLock.o:	${H}/magic.h
grLock.o:	${H}/geometry.h
grLock.o:	graphics.h
grLock.o:	${H}/windows.h
 
# include file dependencies for "grMain.c"
grMain.o:	grMain.c
grMain.o:	${H}/magic.h
grMain.o:	${H}/textio.h
grMain.o:	${H}/geometry.h
grMain.o:	graphics.h
grMain.o:	${H}/windows.h
grMain.o:	graphicsInt.h
 
# include file dependencies for "grNull.c"
grNull.o:	grNull.c
grNull.o:	${H}/magic.h
grNull.o:	${H}/geometry.h
grNull.o:	graphics.h
grNull.o:	${H}/windows.h
grNull.o:	graphicsInt.h
grNull.o:	${H}/textio.h
grNull.o:	${H}/txcommands.h
grNull.o:	${H}/signals.h
 
# include file dependencies for "grSun1.c"
grSun1.o:	grSun1.c
grSun1.o:	${H}/magic.h
grSun1.o:	${H}/geometry.h
grSun1.o:	graphics.h
grSun1.o:	${H}/windows.h
grSun1.o:	graphicsInt.h
grSun1.o:	grSunInt.h
grSun1.o:	${H}/txcommands.h
grSun1.o:	${H}/utils.h
grSun1.o:	${H}/textio.h
grSun1.o:	${H}/signals.h
grSun1.o:	${H}/paths.h
 
# include file dependencies for "grSun2.c"
grSun2.o:	grSun2.c
grSun2.o:	${H}/magic.h
grSun2.o:	${H}/textio.h
grSun2.o:	${H}/geometry.h
grSun2.o:	graphics.h
grSun2.o:	${H}/windows.h
grSun2.o:	graphicsInt.h
grSun2.o:	grSunInt.h
 
# include file dependencies for "grSun3.c"
grSun3.o:	grSun3.c
grSun3.o:	${H}/magic.h
grSun3.o:	${H}/geometry.h
grSun3.o:	graphics.h
grSun3.o:	${H}/windows.h
grSun3.o:	graphicsInt.h
grSun3.o:	${H}/textio.h
grSun3.o:	grSunInt.h
grSun3.o:	${H}/signals.h
 
# include file dependencies for "grSun4.c"
grSun4.o:	grSun4.c
grSun4.o:	${H}/magic.h
grSun4.o:	${H}/textio.h
grSun4.o:	${H}/geometry.h
grSun4.o:	${H}/windows.h
grSun4.o:	graphics.h
grSun4.o:	graphicsInt.h
grSun4.o:	grSunInt.h
grSun4.o:	${H}/txcommands.h
 
# include file dependencies for "grSun5.c"
grSun5.o:	grSun5.c
grSun5.o:	${H}/magic.h
grSun5.o:	${H}/textio.h
grSun5.o:	${H}/geometry.h
grSun5.o:	graphics.h
grSun5.o:	glyphs.h
grSun5.o:	${H}/windows.h
grSun5.o:	graphicsInt.h
grSun5.o:	grSunInt.h
 
# include file dependencies for "grSunProg.c"
grSunProg.o:	grSunProg.c
grSunProg.o:	${H}/magic.h
grSunProg.o:	${H}/geometry.h
grSunProg.o:	graphics.h
 
# include file dependencies for "grSunW1.c"
grSunW1.o:	grSunW1.c
grSunW1.o:	${H}/magic.h
grSunW1.o:	${H}/geometry.h
grSunW1.o:	graphics.h
grSunW1.o:	${H}/windows.h
grSunW1.o:	graphicsInt.h
grSunW1.o:	grSunInt.h
grSunW1.o:	${H}/txcommands.h
grSunW1.o:	${H}/utils.h
grSunW1.o:	${H}/textio.h
grSunW1.o:	${H}/signals.h
grSunW1.o:	${H}/malloc.h
 
# include file dependencies for "grSunW2.c"
grSunW2.o:	grSunW2.c
grSunW2.o:	${H}/magic.h
grSunW2.o:	${H}/textio.h
grSunW2.o:	${H}/geometry.h
grSunW2.o:	graphics.h
grSunW2.o:	${H}/windows.h
grSunW2.o:	graphicsInt.h
grSunW2.o:	grSunInt.h
 
# include file dependencies for "grSunW3.c"
grSunW3.o:	grSunW3.c
grSunW3.o:	${H}/magic.h
grSunW3.o:	${H}/geometry.h
grSunW3.o:	graphics.h
grSunW3.o:	${H}/windows.h
grSunW3.o:	graphicsInt.h
grSunW3.o:	${H}/textio.h
grSunW3.o:	grSunInt.h
grSunW3.o:	${H}/signals.h
 
# include file dependencies for "grSunW4.c"
grSunW4.o:	grSunW4.c
grSunW4.o:	${H}/magic.h
grSunW4.o:	${H}/textio.h
grSunW4.o:	${H}/geometry.h
grSunW4.o:	${H}/windows.h
grSunW4.o:	graphics.h
grSunW4.o:	graphicsInt.h
grSunW4.o:	grSunInt.h
grSunW4.o:	${H}/txcommands.h
 
# include file dependencies for "grSunW5.c"
grSunW5.o:	grSunW5.c
grSunW5.o:	${H}/magic.h
grSunW5.o:	${H}/textio.h
grSunW5.o:	${H}/geometry.h
grSunW5.o:	graphics.h
grSunW5.o:	glyphs.h
grSunW5.o:	${H}/windows.h
grSunW5.o:	graphicsInt.h
grSunW5.o:	grSunInt.h
 
# include file dependencies for "grText.c"
grText.o:	grText.c
grText.o:	${H}/magic.h
grText.o:	${H}/textio.h
grText.o:	${H}/geometry.h
grText.o:	graphics.h
grText.o:	${H}/windows.h
grText.o:	graphicsInt.h
grText.o:	${H}/utils.h

X11helper: X11helper.c
	cc X11helper.c -lX11 -I${X} -o X11helper

test: test.c
	cc test.c -lX11 -I${X} -o test

