#!/bin/csh

#
# $Id: Makefile,v 1.1 2010/10/13 14:55:01 jlang Exp $
#
# $Log: Makefile,v $
# Revision 1.1  2010/10/13 14:55:01  jlang
# Simple makefile, does need make clean to recompile
#
#

CXX = g++

ifndef OSTYPE 
OSTYPE=cygnus
# OSTYPE=linux-gnu
endif

ifeq ($(OSTYPE),linux-gnu)
INCDIR = 
LDLIBDIR = 
# -L/usr/X11R6/lib 
LDLIBS = 
# -lglut -lGLU -lGL -lm
# -lglui 
else
LDLIBS = 
# -lglut32 -lglu32 -lopengl32 -lm
# -lglui 
endif



.PHONY: all clean


SRC = parabola.cpp  function1d.cpp

# Default build : 
all: dependencies parabola

better: extra_defs all 

extra_defs: 
CFLAGS=-DOWN_COPY

dependencies: $(SRC:%.cpp=%.d) $(SRC:%.c=%.d) 

# sed line based on John Graham-Cumming, Dependency Management,
# Dr.Dobb's Portal, Apr 01, 2006.
%.d:%.cpp
	$(CXX) $(INCDIR) -MG -MM $< | sed 's,\($*\.o\)[ :]*\(.*\), $@ : $$\(wildcard \2\)\n\1 : \2,g' > $@
-include $(SRC:.cpp=.d)

parabola: $(SRC:%.cpp=%.o) 
	$(CXX) $(LDLIBDIR) -o $@ $^ $(LDLIBS)

%.o:%.c
	$(CC) $(INCDIR) -c $*.c -o $@ 

%.o:%.cpp
	$(CXX) $(INCDIR) $(CFLAGS) -c $*.cpp -o $@ 


clean:
	rm -f *~ *.o *.d
