#
# Makefile for Newton
# Yossi Friedman, July 1988
#
include ${ROOT}/usr/include/make/commondefs

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

TARGETS=newton

LLDLIBS = -lgl_s -lm -lmpc
LCOPTS = -float
# Gotta get rid of dependency on what machine it is being made on
# -- should do it right, and not just assume most powerful machine,
# but that involves changing a lot of code.
LCDEFS = -DCLOVER2
OPTIMIZER = -O2

HFILES = config.h newton.h windows.h slider.h
CFILES = main.c play.c models.c physics.c draw.c slave.c slider.c cwd.c

#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/newton
	cd models;${INSTALL} -F /usr/demos/data/newton -m 644 -u demos \
		-g demos ${IDBTAG} *

# 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/newton
	cd models;${INSTALL} -F /usr/demos/data/newton -m 644 -u demos \
		-g demos ${DATAIDB} *

# DO NOT DELETE THIS LINE -- make depend uses it
cwd.o: $(INCLDIR)/dirent.h $(INCLDIR)/stdio.h $(INCLDIR)/sys/dirent.h \
	 $(INCLDIR)/sys/fs/s5param.h $(INCLDIR)/sys/param.h \
	 $(INCLDIR)/sys/signal.h $(INCLDIR)/sys/stat.h \
	 $(INCLDIR)/sys/sysmacros.h $(INCLDIR)/sys/types.h cwd.c
draw.o: $(INCLDIR)/gl.h $(INCLDIR)/math.h $(INCLDIR)/sgimath.h \
	 $(INCLDIR)/stdio.h $(INCLDIR)/values.h config.h draw.c \
	 newton.h
main.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/stdio.h \
	 $(INCLDIR)/string.h $(INCLDIR)/sys/prctl.h \
	 $(INCLDIR)/sys/types.h config.h main.c newton.h slider.h \
	 windows.h
models.o: $(INCLDIR)/ctype.h $(INCLDIR)/gl.h $(INCLDIR)/math.h \
	 $(INCLDIR)/sgimath.h $(INCLDIR)/stdio.h $(INCLDIR)/string.h \
	 $(INCLDIR)/values.h config.h models.c newton.h
physics.o: $(INCLDIR)/gl.h $(INCLDIR)/math.h $(INCLDIR)/sgimath.h \
	 $(INCLDIR)/stdio.h $(INCLDIR)/values.h config.h newton.h \
	 physics.c slider.h
play.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/stdio.h config.h \
	 newton.h play.c slider.h windows.h
slave.o: $(INCLDIR)/gl.h $(INCLDIR)/math.h $(INCLDIR)/sgimath.h \
	 $(INCLDIR)/stdio.h $(INCLDIR)/values.h config.h newton.h \
	 slave.c
slider.o: $(INCLDIR)/device.h $(INCLDIR)/gl.h $(INCLDIR)/stdio.h \
	 slider.c slider.h
# DO NOT DELETE THIS 2nd LINE -- make depend uses it
