#
# InterViews library
#

SRC = ..
LIB = libInterViews.a
WS = XVERSION
DEST = ../../../lib/MACHINE.${WS}/${LIB}

CC = CC
CFLAGS = -I${SRC} -I../../include

M = ../MACHINE

# WS-independent object files
MOBJS = \
    adjuster.o banner.o bitmap.o border.o \
    box.o button.o cursor.o deck.o dialog.o frame.o \
    glue.o interactor.o menu.o message.o \
    paint.o painter.o panner.o perspective.o propsheet.o \
    rubband.o rubcurve.o rubline.o rubrect.o \
    subject.o scene.o scroller.o sensor.o shape.o \
    strpool.o strtable.o \
    table.o transformer.o tray.o viewport.o \
    world.o worldview.o

# WS-dependent object files
OBJS = \
    ${WS}-graphics.o ${WS}-windows.o

${LIB}: do-ws-independent ${OBJS}
	@rm -f ${LIB}
	@echo "building ${LIB}"
	@ar cr ${LIB} ${OBJS}
	@cd ${M}; ar r ${M}.${WS}/${LIB} ${MOBJS}
	ranlib ${LIB}

install: ${LIB}
	cp ${LIB} ${DEST}
	ranlib ${DEST}

do-ws-independent:
	cd ${M}; make -f ${M}.${WS}/Makefile ws-independent

ws-independent: ${MOBJS}

adjuster.o: ${SRC}/adjuster.c
	${CC} -c ${CFLAGS} ${SRC}/adjuster.c

banner.o: ${SRC}/banner.c
	${CC} -c ${CFLAGS} ${SRC}/banner.c

bitmap.o: ${SRC}/bitmap.c
	${CC} -c ${CFLAGS} ${SRC}/bitmap.c

border.o: ${SRC}/border.c
	${CC} -c ${CFLAGS} ${SRC}/border.c

box.o: ${SRC}/box.c
	${CC} -c ${CFLAGS} ${SRC}/box.c

button.o: ${SRC}/button.c
	${CC} -c ${CFLAGS} ${SRC}/button.c

canvas.o: ${SRC}/canvas.c
	${CC} -c ${CFLAGS} ${SRC}/canvas.c

cursor.o: ${SRC}/cursor.c
	${CC} -c ${CFLAGS} ${SRC}/cursor.c

deck.o: ${SRC}/deck.c
	${CC} -c ${CFLAGS} ${SRC}/deck.c

dialog.o: ${SRC}/dialog.c
	${CC} -c ${CFLAGS} ${SRC}/dialog.c

frame.o: ${SRC}/frame.c
	${CC} -c ${CFLAGS} ${SRC}/frame.c

glue.o: ${SRC}/glue.c
	${CC} -c ${CFLAGS} ${SRC}/glue.c

interactor.o: ${SRC}/interactor.c
	${CC} -c ${CFLAGS} ${SRC}/interactor.c

menu.o: ${SRC}/menu.c
	${CC} -c ${CFLAGS} ${SRC}/menu.c

message.o: ${SRC}/message.c
	${CC} -c ${CFLAGS} ${SRC}/message.c

paint.o: ${SRC}/paint.c
	${CC} -c ${CFLAGS} ${SRC}/paint.c

painter.o: ${SRC}/painter.c
	${CC} -c ${CFLAGS} ${SRC}/painter.c

panner.o: ${SRC}/panner.c
	${CC} -c ${CFLAGS} ${SRC}/panner.c

perspective.o: ${SRC}/perspective.c
	${CC} -c ${CFLAGS} ${SRC}/perspective.c

propsheet.o: ${SRC}/propsheet.c
	${CC} -c ${CFLAGS} ${SRC}/propsheet.c

rubband.o: ${SRC}/rubband.c
	${CC} -c ${CFLAGS} ${SRC}/rubband.c

rubcurve.o: ${SRC}/rubcurve.c
	${CC} -c ${CFLAGS} ${SRC}/rubcurve.c

rubline.o: ${SRC}/rubline.c
	${CC} -c ${CFLAGS} ${SRC}/rubline.c

rubrect.o: ${SRC}/rubrect.c
	${CC} -c ${CFLAGS} ${SRC}/rubrect.c

subject.o: ${SRC}/subject.c
	${CC} -c ${CFLAGS} ${SRC}/subject.c

scene.o: ${SRC}/scene.c
	${CC} -c ${CFLAGS} ${SRC}/scene.c

scroller.o: ${SRC}/scroller.c
	${CC} -c ${CFLAGS} ${SRC}/scroller.c

sensor.o: ${SRC}/sensor.c
	${CC} -c ${CFLAGS} ${SRC}/sensor.c

shape.o: ${SRC}/shape.c
	${CC} -c ${CFLAGS} ${SRC}/shape.c

strpool.o: ${SRC}/strpool.c
	${CC} -c ${CFLAGS} ${SRC}/strpool.c

strtable.o: ${SRC}/strtable.c
	${CC} -c ${CFLAGS} ${SRC}/strtable.c

table.o: ${SRC}/table.c
	${CC} -c ${CFLAGS} ${SRC}/table.c

transformer.o: ${SRC}/transformer.c
	${CC} -c ${CFLAGS} ${SRC}/transformer.c

tray.o: ${SRC}/tray.c
	${CC} -c ${CFLAGS} ${SRC}/tray.c

viewport.o: ${SRC}/viewport.c
	${CC} -c ${CFLAGS} ${SRC}/viewport.c

world.o: ${SRC}/world.c
	${CC} -c ${CFLAGS} ${SRC}/world.c

worldview.o: ${SRC}/worldview.c
	${CC} -c ${CFLAGS} ${SRC}/worldview.c

${WS}-graphics.o: ${SRC}/${WS}-graphics.c
	${CC} -c ${CFLAGS} -D${WS} ${SRC}/${WS}-graphics.c

${WS}-windows.o: ${SRC}/${WS}-windows.c
	${CC} -c ${CFLAGS} -D${WS} ${SRC}/${WS}-windows.c

clean:
	cd ${M}; rm -f ${MOBJS} *..c
	rm -f ${LIB} ${OBJS} *..c a.out core make.out

depend:
	@echo "building dependencies for MACHINE.${WS}"
	@mkdepend ${CFLAGS} -D${WS} -I/usr/include/CC ${MOBJS} ${OBJS}
# DO NOT DELETE THIS LINE -- make depend uses it
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
