#
# Linux makefile for assignment #2
#



#
# List of source files for each of two applications
#

MESHPRO_SRCS=meshpro.cpp R3Mesh.cpp
MESHVIEW_SRCS=meshview.cpp R3Mesh.cpp



#
# List of source files for each of two applications
#

MESHPRO_OBJS=$(MESHPRO_SRCS:.cpp=.o)
MESHVIEW_OBJS=$(MESHVIEW_SRCS:.cpp=.o)



#
# Compile and link options
#

CC=g++
CPPFLAGS=-Wall -IGLUT -I. -g -DUSE_JPEG
LDFLAGS=-g



#
# Libraries
#

LIBS=R3/libR3.a R2/libR2.a jpeg/libjpeg.a 
GLLIBS=-LGLUT -lgluit -lGLU -lGL 



#
# Compile command
#

%.o: %.cpp
	    $(CC) $(CPPFLAGS) -c $< -o $@



#
# Make targets
#

all: $(LIBS) meshpro meshview

meshpro: $(LIBS) $(MESHPRO_OBJS)
	    $(CC) -o meshpro $(CPPFLAGS) $(LDFLAGS) $(MESHPRO_OBJS) $(LIBS) $(GLLIBS) -lm

meshview: $(LIBS) $(MESHVIEW_OBJS)
	    $(CC) -o meshview $(CPPFLAGS) $(LDFLAGS) $(MESHVIEW_OBJS) $(LIBS) $(GLLIBS) -lm

R3/libR3.a: 
	    cd R3; make

R2/libR2.a: 
	    cd R2; make

jpeg/libjpeg.a: 
	    cd jpeg; make

clean:
	    -  rm -f *~ *.o */*.o meshpro meshview $(LIBS)

