# Makefile for mir
# Ben Garlick  August  1988
# -- Changed to be better behaved in source tree by Gavin Bell
#
include ${ROOT}/usr/include/make/commondefs

CFILES = alloc.c bbox.c clip.c depth.c draw.c draw_scene.c \
	draw_virtual.c input.c move.c \
	start.c tricks.c vector.c mp.c pup.c materials.c \
	jmw.c mir.c
HFILES = alloc.h extern.h include.h light.h mp.h pup.h

MODELS = x29.poly logo.poly grid.poly

LCOPTS = -float
LLDLIBS = -lmpc -lgl_s -lm

IDBTAG = -idb "std.sw.demos mach(GFXBOARD=CLOVER2)"
AREA = graphics
SALESIDB = -idb "demos.sw.${AREA} mach(GFXBOARD=CLOVER2)"
DATAIDB = -idb "demos.data.${AREA} mach(GFXBOARD=CLOVER2)"
JIDB = -idb "demos.journal.${AREA} mach(GFXBOARD=CLOVER2)"

TARGETS = mir

#almost STANDARD DEMO MAKEFILE

default: ${TARGETS}

include ${COMMONRULES}

${TARGETS}: ${OBJECTS}
	${CCF} -o $@ ${OBJECTS} ${LDFLAGS}

# Install demo, buttonfly file, information slide, and shell script
# for environment manager
install: default
	${INSTALL} -F /usr/demos/bin -m 755 -u demos -g demos \
		${IDBTAG} ${TARGETS}
	for i in ${TARGETS}; do ( \
		${INSTALL} -F /usr/demos -m 644 -u demos -g demos \
			${IDBTAG} -src m_$$i .m_${AREA}_$$i ;\
		${INSTALL} -F /usr/demos/${AREA} -m 755 -u demos -g demos \
			${IDBTAG} -src $$i.sh $$i ;\
		${INSTALL} -F /usr/demos/${AREA} -m 755 -u demos -g demos \
			${IDBTAG} $$i.info ;\
	) done;
	${INSTALL} -dir -m 755 -u demos -g demos \
		${IDBTAG} /usr/demos/data/mir
	cd data ; ${INSTALL} -F /usr/demos/data/mir -m 644 -u demos -g demos \
		${IDBTAG} ${MODELS}

# Install everything install does under different idb's, and
# install journalling stuff.
sales: default
	${INSTALL} -F /usr/demos/bin -m 755 -u demos -g demos \
		${SALESIDB} ${TARGETS}
	for i in ${TARGETS}; do ( \
		${INSTALL} -F /usr/demos -m 644 -u demos -g demos \
			${SALESIDB} -src m_$$i .m_${AREA}_$$i ;\
		${INSTALL} -F /usr/demos/${AREA} -m 755 -u demos -g demos \
			${SALESIDB} -src $$i.sh $$i ;\
		${INSTALL} -F /usr/demos/${AREA} -m 755 -u demos -g demos \
			${SALESIDB} $$i.info ;\
		${INSTALL} -F /usr/demos/data/journal -m 644 -u demos -g demos \
			${JIDB} $$i.j ;\
		${INSTALL} -F /usr/demos/${AREA} -m 755 -u demos -g demos \
			${JIDB} $$i.rec;\
		${INSTALL} -F /usr/demos -m 644 -u demos -g demos \
			${JIDB} -src m_$${i}.j .m_${AREA}_$${i}.j ;\
	) done;
	${INSTALL} -dir -m 755 -u demos -g demos \
		${DATAIDB} /usr/demos/data/mir
	cd data ; ${INSTALL} -F /usr/demos/data/mir -m 644 -u demos -g demos \
		${DATAIDB} ${MODELS}

# DO NOT DELETE THIS LINE -- make depend uses it
alloc.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 alloc.c alloc.h include.h
bbox.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 bbox.c include.h
clip.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 clip.c include.h
depth.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 depth.c include.h
draw.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 draw.c include.h
draw_scene.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 draw_scene.c include.h
draw_virtual.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 draw_virtual.c include.h
input.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h input.c
jmw.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h jmw.c
materials.o: $(INCLDIR)/gl.h $(INCLDIR)/stdio.h materials.c
mir.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h light.h mir.c
move.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h move.c
mp.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h mp.c mp.h
pup.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h pup.c pup.h
start.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h start.c
tricks.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h tricks.c
vector.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/limits.h \
	 $(INCLDIR)/math.h $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/sys/prctl.h $(INCLDIR)/sys/types.h \
	 $(INCLDIR)/task.h $(INCLDIR)/ulocks.h $(INCLDIR)/values.h \
	 include.h vector.c
# DO NOT DELETE THIS 2nd LINE -- make depend uses it
