# Generated automatically from Makefile.in by configure.
##  -*- Mode: Makefile -*-
##
##

########################################################################
## pthread
##

#THREADED=1

ifdef THREADED
  PTHREAD_LIBS = 
  PTHREAD_INCS = 
endif

########################################################################
## machine dependence
##

CXXLIB_machdep = 

LDOPT_SO_machdep = @LDOPT_SO_machdep@
LDOPT_machdep = -rdynamic

MAKE = make

########################################################################
## for configure
##
LOCAL_INCLUDES = -I. -I.. -I../.. -I../../config

CC = gcc
CFLAGS = -g -O2 -Wall
CXX = c++ 
DEFS = -DHAVE_CONFIG_H -DCPU_x86 -DLinux
CXXFLAGS = -g -O2 $(DEFS) $(CXXFLAGS_machdep) \
		$(LOCAL_INCLUDES) -Wall 
LDFLAGS = 
LIBS = -lm 

LDOPT_SO	= $(LDOPT_SO_machdep)
LDOPT           = $(LDOPT_machdep) -L../lib
RANLIB = ranlib

PERL = perl

ifdef THREADED
  CXXFLAGS := $(CXXFLAGS) -DTHREADED $(PTHREAD_INCS)
  LDOPT_SO := $(LDOPT_SO) $(PTHREAD_LIBS)
  LDOPT    := $(LDOPT) $(PTHREAD_LIBS)
endif

########################################################################
## suffix
##

.SUFFIXES: .cxx $(SUFFIXES)

########################################################################
## Files
##

TESTPROG        = foo echosample

########################################################################
## General Rules
##

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $<

########################################################################
## Top Goals
##

all: prepare civilian

test: $(TESTPROG)

prepare:
	rm -f itk
	ln -s ../itk itk

##======================================================================
## clean up
##

clean:
	rm -f *~ *.o *.a civilian

config:
	(cd .. ; $(MAKE) config)

depend: prepare
	$(CXX) -MM $(CXXFLAGS) *.cxx > Makefile.depend

include Makefile.depend

########################################################################
## dependency
##

ITKLIBDIR = itk

ITKLIB = $(ITKLIBDIR)/libitk.a
ITKLIBSO = $(ITKLIBDIR)/libitk.so

RESCUELIBDIR = ../librescue
RESCUELIB = $(RESCUELIBDIR)/librescue.a
RESCUELANGLIBDIR = ../rescuelang
RESCUELANGLIB = $(RESCUELANGLIBDIR)/rescuelang.a

FOOSRCS = main.cxx 
FOOOBJS = $(FOOSRCS:.cxx=.o)

FOO2SRCS = civilian2.cxx Controller2.cxx CivilianController2.cxx
FOO2OBJS = $(FOO2SRCS:.cxx=.o)

TESTSRC = civilian.cxx Environment.cxx RescueAgentBase.cxx Controller.cxx CivilianController.cxx RescueEvalEngine.cxx RescueObjectPool.cxx
TESTOBJ = $(TESTSRC:.cxx=.o)

itk : $(ITKLIB) 

$(ITKLIB) :
	(cd $(ITKLIBDIR) ; $(MAKE))
	ln -s $(ITKLIBSO)

$(LIBRESCUE) :
	(cd $(RESCUELIBDIR) ; $(MAKE))

$(LIBRESCUELANG) :
	(cd $(RESCUELANGLIBDIR) ; $(MAKE))

foo : $(ITKLIB)
foo : $(FOOOBJS)
	$(CXX) -o $@ $^ $(RESCUELIB) $(LIBS) -L.. -litk $(LDOPT)

foo2 : $(ITKLIB)
foo2 : $(FOO2OBJS)
	$(CXX) -o $@ $^ $(RESCUELIB) $(LIBS) -L.. -litk $(LDOPT)

civilian : $(ITKLIB)
civilian : $(LIBRESCUE)
civilian : $(LIBRESCUELANG)
civilian : $(TESTOBJ)
	$(CXX) -o $@ $^ $(RESCUELIB) $(RESCUELANGLIB) $(LIBS) -L.. -litk $(LDOPT) -static

echosample : $(ITKLIB)
echosample : echosample.o FrameSexp.o
	$(CXX) -o $@ $^ $(LIBS) -L.. -litk $(LDOPT)


########################################################################
## document
##

doc : 
	doc++ -t FrameSexp.h > FrameSexp.tex
	platex FrameSexp
	platex FrameSexp
	platex FrameSexp

