SHELL=/bin/sh

###
#COPYRIGHT (c) 2018 THE OHIO STATE UNIVERSITY
#ALL RIGHTS RESERVED
#
#PERMISSION IS GRANTED TO USE, COPY, CREATE DERIVATIVE WORKS AND
#REDISTRIBUTE THIS SOFTWARE AND SUCH DERIVATIVE WORKS FOR NONCOMMERCIAL
#EDUCATION AND RESEARCH PURPOSES, SO LONG AS NO FEE IS CHARGED, AND SO
#LONG AS THE COPYRIGHT NOTICE ABOVE, THIS GRANT OF PERMISSION, AND THE
#DISCLAIMER BELOW APPEAR IN ALL COPIES MADE; AND SO LONG AS THE NAME OF
#THE OHIO STATE UNIVERSITY IS NOT USED IN ANY ADVERTISING OR PUBLICITY
#PERTAINING TO THE USE OR DISTRIBUTION OF THIS SOFTWARE WITHOUT
#SPECIFIC, WRITTEN PRIOR AUTHORIZATION.
#
#THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE OHIO
#STATE UNIVERSITY AS TO ITS FITNESS FOR ANY PURPOSE, AND WITHOUT
#WARRANTY BY THE OHIO STATE UNIVERSITY OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF
#MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE OHIO STATE
#UNIVERSITY SHALL NOT BE LIABLE FOR ANY DAMAGES, INCLUDING SPECIAL,
#INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY
#CLAIM ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE,
#EVEN IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH
#DAMAGES.
###

#To make executable:
#        "make -f SssICalc"
# To remove the OBJS files; type the command:
#        "make -f SssICalc clean"
# To create a zip archive with name $(COMMAND).zip containing this 
#   makefile and the SRCS and HDRS files, type the command:
#        "make -f SssICalc zip"
 
# The name of this makefile
MAKEFILE= make_SssICalc

# The command you type to run the program (executable name)
COMMAND=  SssICalc

# Here are the C++ (or whatever) source files to be compiled, with \'s as
#  continuation lines.  If you get a "missing separator" error pointing 
#  to a line here, make sure that each \ has NO spaces following it.
SRCS= \
SssICalc.cpp \
mycpgs.cpp \
params.cpp

# Header files (if any) here
HDRS= \
mycpgs.hpp \
params.hpp

###########################################################################
# Commands and options for compiling
########################################################################### 
OBJS= $(addsuffix .o, $(basename $(SRCS)))
 
CC= g++
CFLAGS=  -O3 -std=c++0x
WARNFLAGS= -Wall -W -Wshadow -fno-common
MOREFLAGS= -ansi -pedantic -Wpointer-arith -Wcast-qual -Wcast-align \
           -Wwrite-strings -fshort-enums 
LDFLAGS= -lboost_system -lboost_filesystem
 
###########################################################################
# Instructions to compile and link -- allow for different dependencies
########################################################################### 
 
$(COMMAND): $(OBJS) $(HDRS) $(MAKEFILE) 
	$(CC) -o $(COMMAND) $(OBJS) $(LDFLAGS) $(LIBS)

SssICalc.o : SssICalc.cpp $(HDRS) $(MAKEFILE)
		 $(CC) $(CFLAGS) $(WARNFLAGS) $(LDFLAGS) -c SssICalc.cpp -o SssICalc.o

mycpgs.o : mycpgs.cpp $(HDRS) $(MAKEFILE)
		  $(CC) $(CFLAGS) $(WARNFLAGS) $(LDFLAGS) -c mycpgs.cpp -o mycpgs.o

params.o : params.cpp $(HDRS) $(MAKEFILE)
	 $(CC) $(CFLAGS) $(WARNFLAGS) $(LDFLAGS) -c params.cpp -o params.o
 
##########################################################################
# Additional tasks 
##########################################################################
 
clean:
	rm -f $(OBJS)
  
zip:
	zip -r $(COMMAND).zip $(MAKEFILE) $(SRCS) $(HDRS)

##########################################################################
# End of makefile 
##########################################################################
