######################################################################
# MODULE: Makefile for SUIT
# LAST MODIFIED BY: pausch
# 
# This sample Makefile allows you to compile a SUIT application.
# 
# 
######################################################################
######################################################################
######################################################################
######################################################################
#
#
#    			 NOTE TO NEW USERS
#
# This makefile is intended to support several different architectures.
# For a simpler version of Makefile, see the template directory 
# for your architecture.
#
######################################################################
######################################################################



DEST	= ../../$(ARCH)/bin

#DEBUG	=	-g
OPTIMIZE =	-O
#PROFILE = -p

XLIBS	=	-L/usr/uva/lib/X11 -L/usr/local/lib/X11
LDFLAGS	=	-L../../$(ARCH)/lib $(PROFILE)

CFLAGS	=	-I/usr/include/X11 -I../../include $(DEBUG) $(OPTIMIZE) $(PROFILE)

######################################################################

default:
	@echo ""
	@echo "Note! This makefile supports multiple machine architectures, but"
	@echo "must be invoked as 'make arch PROG=program', as in 'make sparc PROG=poly'"
	@echo ""

all:
	buildall $ARCH

#################
# ARCHITECTURES #
#################

sparc:
	make $(PROG) ARCH=sparc CC=gcc LDLIBS='-lsuit -lsrgp -lX11 -lm' CFLAGS='-static -fpcc-struct-return -I/usr/include/X11 -I../../include $(DEBUG) $(OPTIMIZE) $(PROFILE)'

sparcShare:
	make $(PROG) ARCH=sparc CC=gcc LDLIBS='-lsuit -lsrgp -lX11 -lm' CFLAGS='-fpcc-struct-return -I/usr/include/X11 -I../../include $(DEBUG) $(OPTIMIZE) $(PROFILE)'

sgi:
	make $(PROG) ARCH=sgi CC=cc LDLIBS='-lsuit -lsrgp -lm -lX11'

sun3:
	make $(PROG) ARCH=sun3 CC=gcc LDLIBS='-lsuit -lsrgp -lX11 -lm' CFLAGS='-fpcc-struct-return -I/usr/include/X11 -I../../include $(DEBUG) $(OPTIMIZE) $(PROFILE)'

rs6000:
	make $(PROG) ARCH=rs6000 CC=xlc LDLIBS='-bnodelcsect -lsuit -lsrgp -lX11 -lm'

dec:
	make $(PROG) ARCH=dec CC=cc LDLIBS='-lsuit -lsrgp -lX11 -lm' RANLIB=ranlib CFLAGS='-I/usr/include/X11 -I../../include $(DEBUG) $(OPTIMIZE) $(PROFILE)' 

############
# PROGRAMS #
############

tutorial: poly demo 3cell

poly: poly.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(DEST)/poly poly.o $(LDLIBS) 

demo: demo.o 
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(DEST)/demo demo.o $(LDLIBS) 

3cell: 3cell.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(DEST)/3cell 3cell.o $(LDLIBS) 

3dfont: 3dfont.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(DEST)/3dfont 3dfont.o $(LDLIBS) 

.c:
	@echo "*********************"
	@echo COMPILING:  $@
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(DEST)/$@ $@.c $(LDLIBS) 
#	strip $(DEST)/$@
	@echo DONE
	@echo " " 
	          
######################################################################

clean:
	/bin/rm *.o




