#
# Makefile -
#
#	Makefile for Yeti main plugin.
#
#------------------------------------------------------------------------------
#	Copyright (C) 2006, Eric Thibaut.
#
#	This file is part of Yeti.
#
#	Yeti is free software; you can redistribute it and/or modify it
#	under the terms of the GNU General Public License version 2 as
#	published by the Free Software Foundation.
#
#	Yeti is distributed in the hope that it will be useful, but
#	WITHOUT ANY WARRANTY; without even the implied warranty of
#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#	General Public License for more details.
#
#	You should have received a copy of the GNU General Public License
#	along with Yeti (file "COPYING" in the top source  directory); if
#	not, write to the Free Software Foundation, Inc., 51 Franklin St,
#	Fifth Floor, Boston, MA 02110-1301 USA
#
#------------------------------------------------------------------------------
#
# History:
#	$Id: Makefile,v 1.1 2006/07/19 14:58:50 eric Exp $
#	$Log: Makefile,v $
#	Revision 1.1  2006/07/19 14:58:50  eric
#	Initial revision
#
#------------------------------------------------------------------------------

# these values filled in by: yorick -batch make.i
Y_MAKEDIR=/usr/local/libexec/yorick
Y_EXE=/usr/local/libexec/yorick/bin/yorick
Y_EXE_PKGS=
Y_EXE_HOME=/usr/local/libexec/yorick
Y_EXE_SITE=/usr/local/libexec/yorick

#----------------------------------------------------------- optimization flags

# options for make command line, e.g.-   make COPT=-g TGT=exe
COPT=$(COPT_DEFAULT)
TGT=$(DEFAULT_TGT)

#------------------------------------------------------ macros for this package

PKG_NAME=yeti
PKG_I=yeti.i

OBJS = yeti_convolve.o \
       yeti_cost.o \
       yeti_hash.o \
       yeti_sort.o \
       yeti_math.o \
       yeti_misc.o \
       yeti_morph.o \
       yeti_new.o \
       yeti_rgl.o \
       yeti_sparse.o \
       yeti_symlink.o \
       yeti_utils.o

# change to give the executable a name other than yorick
PKG_EXENAME = yorick

# PKG_DEPLIBS=-Lsomedir -lsomelib   for dependencies of this package
PKG_DEPLIBS =
# set compiler (or rarely loader) flags specific to this package
PKG_CFLAGS = -I..
PKG_LDFLAGS =

# list of additional package names you want in PKG_EXENAME
# (typically Y_EXE_PKGS should be first here)
EXTRA_PKGS=$(Y_EXE_PKGS)

# list of additional files for clean
PKG_CLEAN=$(PKG_NAME)$(PLUG_SFX) $(PKG_NAME).dll $(PKG_NAME).so

# autoload file for this package, if any
PKG_I_START=
# non-pkg.i include files for this package, if any
PKG_I_EXTRA=yeti_yhdf.i

#-------------------------------------- standard targets and rules (in Makepkg)

# set macros Makepkg uses in target and dependency names
# DLL_TARGETS, LIB_TARGETS, EXE_TARGETS
# are any additional targets (defined below) prerequisite to
# the plugin library, archive library, and executable, respectively
PKG_I_DEPS=$(PKG_I)
Y_DISTMAKE=distmake

include $(Y_MAKEDIR)/Make.cfg
include $(Y_MAKEDIR)/Makepkg
include $(Y_MAKEDIR)/Make$(TGT)

# override macros Makepkg sets for rules and other macros
# Y_HOME and Y_SITE in Make.cfg may not be correct (e.g.- relocatable)
Y_HOME=$(Y_EXE_HOME)
Y_SITE=$(Y_EXE_SITE)

# reduce chance of yorick-1.5 corrupting this Makefile
MAKE_TEMPLATE = protect-against-1.5

#------------------------------------------- targets and rules for this package

# simple example:
#myfunc.o: myapi.h
# more complex example (also consider using PKG_CFLAGS above):
#myfunc.o: myapi.h myfunc.c
#	$(CC) $(CPPFLAGS) $(CFLAGS) -DMY_SWITCH -o $@ -c myfunc.c

yeti_convolve.o: yeti.h
#yeti_cost.o:
yeti_eigen.o: yeti_eigen.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -DYORICK -o $@ -c $<
yeti_hash.o: yeti.h ../config.h
yeti_heapsort.o: yeti.h ../config.h
yeti_math.o: yeti.h ../config.h
yeti_misc.o: yeti.h ../config.h
yeti_morph.o: yeti.h ../config.h
yeti_rgl.o: yeti_rgl.c
	$(CC) $(CPPFLAGS) $(CFLAGS) -DYORICK -o $@ -c $<
yeti_utils.o: yeti.h ../config.h
#yeti_new.o:

#-------------------------------------------------------------- end of Makefile
