cantera/Cantera/src/Makefile.in
2003-04-20 13:21:49 +00:00

136 lines
2.6 KiB
Makefile
Executable file

#/bin/sh
###############################################################
# $Author$
# $Date$
# $Revision$
#
# Copyright 2001 California Institute of Technology
#
###############################################################
SUFFIXES=
SUFFIXES= .cpp .d .o
OBJDIR = .
CXX_FLAGS = @CXXFLAGS@ $(CXX_OPT)
EXT = ../../ext
#----------------------
# kernel components
#----------------------
# basic components always needed
BASE = Elements.o Constituents.o stringUtils.o misc.o importCTML.o plots.o \
xml.o Phase.o DenseMatrix.o ctml.o funcs.o ctvector.o phasereport.o
# thermodynamic properties
THERMO = $(BASE) ThermoPhase.o IdealGasPhase.o ConstDensityThermo.o SpeciesThermoFactory.o ThermoFactory.o
# homogeneous kinetics
KINETICS = GRI_30_Kinetics.o KineticsFactory.o GasKinetics.o FalloffFactory.o GasKineticsWriter.o $(THERMO)
# heterogeneous kinetics
HETEROKIN = InterfaceKinetics.o $(THERMO)
# support for importing from Chemkin-compatible reaction mechanisms
CK = $(KINETICS)
# chemical equilibrium
EQUIL = ChemEquil.o sort.o $(THERMO)
# reaction path analysis
RPATH = Group.o ReactionPath.o
# solvers
SOLVERS = CVode.o BandMatrix.o
# 1D flow models
FLOW1D = $(KINETICS) $(SOLVERS)
EVERYTHING = $(KINETICS) $(HETEROKIN) $(CK) $(TRANSPORT) $(REACTOR) $(RPATH) $(SOLVERS) $(FLOW1D)
all: @KERNEL@ lib
base: $(BASE)
thermo: $(THERMO)
kinetics: $(KINETICS) $(HETEROKIN)
ck:
cd converters; @MAKE@
equil: $(EQUIL)
flow1d: $(FLOW1D)
trprops:
cd transport; @MAKE@
reactor:
cd zeroD; @MAKE@
rpath: $(RPATH)
solvers: $(SOLVERS)
#tpx:
# cd $(EXT)/tpx; @MAKE@
flow1D:
cd oneD; @MAKE@
CXX_LIBS = @LIBS@
CXX_INCLUDES = -I.
CANTERA_LIB = @buildlib@/libcantera.a
DEPENDS = $(EVERYTHING:.o=.d)
%.d:
g++ -MM $*.cpp > $*.d
.cpp.o:
@CXX@ -c $< $(CXX_FLAGS)
#$(CXX_INCLUDES)
misc.o: misc.cpp
echo '#define CANTERA_ROOT "@prefix@/cantera"' > ctdir.h
@CXX@ -c misc.cpp $(CXX_FLAGS)
.f.o:
@F77@ -c $< $(F77_FLAGS)
#
# HKM note: The lib function below removes the library first.
# I was having trouble linking applications on linux
# without removing the cantera library first.
#
lib:
$(RM) $(CANTERA_LIB)
@ARCHIVE@ $(CANTERA_LIB) *.o > /dev/null
clean:
$(RM) *.o *~ $(CANTERA_LIB)
cd zeroD; @MAKE@ clean
cd oneD; @MAKE@ clean
cd converters; @MAKE@ clean
cd transport; @MAKE@ clean
depends: $(DEPENDS)
cat *.d > .depends
$(RM) $(DEPENDS)
cd oneD; @MAKE@ depends
cd zeroD; @MAKE@ depends
cd converters; @MAKE@ depends
cd transport; @MAKE@ depends
TAGS:
etags *.h *.cpp
ifeq ($(wildcard .depends), .depends)
include .depends
endif