247 lines
6.5 KiB
Makefile
Executable file
247 lines
6.5 KiB
Makefile
Executable file
#/bin/sh
|
|
###############################################################
|
|
# $Author$
|
|
# $Date$
|
|
# $Revision$
|
|
#
|
|
# Copyright 2001 California Institute of Technology
|
|
#
|
|
###############################################################
|
|
|
|
.SUFFIXES :
|
|
.SUFFIXES : .cpp .d .o .dh .h .h.gch
|
|
|
|
INCDIR = ../../build/include/cantera/kernel
|
|
INSTALL_TSC = ../../bin/install_tsc
|
|
CANTERA_LIB = @buildlib@/libcantera.a
|
|
#LOCAL_DEFNS=-DDEBUG_PATHS -DDEBUG_MULTIPHASE_EQUIL
|
|
CXX_FLAGS = @CXXFLAGS@ $(CXX_OPT) $(LOCAL_DEFNS)
|
|
EXT = ../../ext
|
|
do_ranlib = @DO_RANLIB@
|
|
USE_SUNDIALS = @use_sundials@
|
|
SUNDIALS_INC = @sundials_include@
|
|
|
|
#----------------------
|
|
# kernel components
|
|
#----------------------
|
|
|
|
# basic components always needed
|
|
BASE_OBJ = State.o Elements.o Constituents.o stringUtils.o misc.o \
|
|
importCTML.o plots.o \
|
|
xml.o Phase.o DenseMatrix.o ctml.o funcs.o \
|
|
phasereport.o ct2ctml.o
|
|
|
|
BASE_H = State.h Elements.h Constituents.h stringUtils.h global.h \
|
|
importCTML.h plots.h xml.h Phase.h DenseMatrix.h ctml.h \
|
|
funcs.h ct_defs.h Array.h PropertyCalculator.h \
|
|
ctexceptions.h ctlapack.h units.h mix_defs.h\
|
|
utilities.h vec_functions.h XML_Writer.h diagnostics.h \
|
|
config.h logger.h
|
|
BASE = $(BASE_OBJ)
|
|
|
|
# thermodynamic properties
|
|
THERMO_OBJ = ThermoPhase.o IdealGasPhase.o ConstDensityThermo.o \
|
|
SpeciesThermoFactory.o ConstCpPoly.o \
|
|
Mu0Poly.o GeneralSpeciesThermo.o \
|
|
ThermoFactory.o @phase_object_files@
|
|
|
|
THERMO_H = ThermoPhase.h IdealGasPhase.h ConstDensityThermo.h \
|
|
SpeciesThermoFactory.h ThermoFactory.h \
|
|
NasaPoly1.h NasaPoly2.h NasaThermo.h \
|
|
ShomateThermo.h ShomatePoly.h ConstCpPoly.h\
|
|
SimpleThermo.h SpeciesThermoMgr.h \
|
|
SpeciesThermoInterpType.h \
|
|
GeneralSpeciesThermo.h Mu0Poly.h \
|
|
speciesThermoTypes.h SpeciesThermo.h SurfPhase.h \
|
|
EdgePhase.h polyfit.h Func1.h \
|
|
FuncEval.h StoichManager.h @phase_header_files@
|
|
THERMO = $(BASE_OBJ) $(THERMO_OBJ) $(THERMO_H)
|
|
|
|
# homogeneous kinetics
|
|
KINETICS_OBJ=GRI_30_Kinetics.o KineticsFactory.o GasKinetics.o \
|
|
FalloffFactory.o ReactionStoichMgr.o Kinetics.o
|
|
KINETICS_H = GRI_30_Kinetics.h KineticsFactory.h Kinetics.h GasKinetics.h \
|
|
FalloffFactory.h ReactionStoichMgr.h reaction_defs.h \
|
|
FalloffMgr.h ThirdBodyMgr.h RateCoeffMgr.h ReactionData.h \
|
|
RxnRates.h Enhanced3BConc.h
|
|
KINETICS = $(THERMO) $(KINETICS_OBJ) $(KINETICS_H)
|
|
|
|
|
|
# heterogeneous kinetics
|
|
HETEROKIN_OBJ=InterfaceKinetics.o ImplicitSurfChem.o SurfPhase.o \
|
|
EdgeKinetics.o
|
|
HETEROKIN_H =InterfaceKinetics.h ImplicitSurfChem.h SurfPhase.h \
|
|
EdgeKinetics.h
|
|
HETEROKIN = $(THERMO) $(HETEROKIN_OBJ)
|
|
|
|
# support for importing from Chemkin-compatible reaction mechanisms
|
|
CK = $(KINETICS)
|
|
|
|
# chemical equilibrium
|
|
EQUIL_OBJ = ChemEquil.o MultiPhaseEquil.o sort.o MultiPhase.o equilibrate.o
|
|
EQUIL_H = ChemEquil.h MultiPhaseEquil.h MultiPhase.h sort.h equil.h
|
|
EQUIL = $(THERMO) $(EQUIL_OBJ)
|
|
|
|
# reaction path analysis
|
|
RPATH_OBJ = Group.o ReactionPath.o
|
|
RPATH_H = Group.h ReactionPath.h
|
|
RPATH = $(RPATH_OBJ)
|
|
|
|
|
|
# solvers
|
|
SOLVERS_OBJ = ODE_integrators.o BandMatrix.o
|
|
SOLVERS_H = BandMatrix.h Integrator.h
|
|
SOLVERS = $(SOLVERS_OBJ)
|
|
|
|
# 1D flow models
|
|
FLOW1D = $(KINETICS) $(SOLVERS)
|
|
|
|
ALL_OBJ = $(BASE_OBJ) $(THERMO_OBJ) $(KINETICS_OBJ) $(HETEROKIN_OBJ) \
|
|
$(EQUIL_OBJ) $(RPATH_OBJ) $(SOLVERS_OBJ)
|
|
|
|
|
|
PCH =
|
|
# config.h ct_defs.h utilities.h ThermoPhase.h Kinetics.h ReactionData.h \
|
|
# RateCoeffMgr.h ReactionStoichMgr.h
|
|
|
|
PCHGCH = $(PCH:.h=.h.gch)
|
|
|
|
all: .depends $(PCHGCH) @KERNEL@ $(CANTERA_LIB) cathermo
|
|
|
|
%.h.gch : %.h
|
|
ifeq (@precompile_headers@,yes)
|
|
@CXX@ $*.h $(CXX_FLAGS)
|
|
else
|
|
@echo 'skipping precompiling header file $*.h'
|
|
endif
|
|
|
|
base: $(BASE)
|
|
@(for lh in $(BASE_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
|
|
thermo: $(THERMO)
|
|
@(for lh in $(THERMO_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
|
|
cathermo:
|
|
ifeq (@NEED_CATHERMO@, 1)
|
|
cd thermo; @MAKE@ all
|
|
endif
|
|
|
|
kinetics: $(KINETICS) $(HETEROKIN)
|
|
@(for lh in $(KINETICS_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
@(for lh in $(HETEROKIN_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
|
|
ck:
|
|
cd converters; @MAKE@
|
|
|
|
equil: $(EQUIL)
|
|
@(for lh in $(EQUIL_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
|
|
flow1d: $(FLOW1D)
|
|
|
|
trprops:
|
|
cd transport; @MAKE@
|
|
|
|
reactor:
|
|
cd zeroD; @MAKE@
|
|
|
|
rpath: $(RPATH)
|
|
@(for lh in $(RPATH_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
|
|
solvers: $(SOLVERS)
|
|
@(for lh in $(SOLVERS_H) ; do \
|
|
$(INSTALL_TSC) "$${lh}" $(INCDIR) ; \
|
|
done)
|
|
|
|
tpx:
|
|
cd $(EXT)/tpx; @MAKE@
|
|
|
|
flow1D:
|
|
cd oneD; @MAKE@
|
|
|
|
CXX_LIBS = @LIBS@
|
|
CXX_INCLUDES = @CXX_INCLUDES@ -I.
|
|
CANTERA_LIB = @buildlib@/libcantera.a
|
|
|
|
DEPENDS = $(ALL_OBJ:.o=.d)
|
|
SRCS = $(ALL_OBJ:.o=.cpp)
|
|
ALL_H = $(BASE_H) $(THERMO_H) $(KINETICS_H) $(HETEROKIN_H) \
|
|
$(EQUIL_H) $(SOLVERS_H) $(RPATH_H)
|
|
|
|
.cpp.d:
|
|
g++ -MM $(CXX_INCLUDES) $*.cpp > $*.d
|
|
|
|
.cpp.o:
|
|
@CXX@ -c $< $(CXX_INCLUDES) $(CXX_FLAGS)
|
|
|
|
ODE_integrators.o:
|
|
@CXX@ -c ODE_integrators.cpp $(CXX_INCLUDES) $(SUNDIALS_INC) $(CXX_FLAGS)
|
|
|
|
lib: $(OBJ_LIB)
|
|
$(RM) $(CANTERA_LIB)
|
|
@ARCHIVE@ $(CANTERA_LIB) *.o > /dev/null
|
|
ifeq ($(do_ranlib),1)
|
|
@RANLIB@ $(CANTERA_LIB)
|
|
endif
|
|
|
|
cd ../.. ; @MAKE@ hdr-collect
|
|
|
|
$(CANTERA_LIB): @KERNEL_OBJ@
|
|
$(RM) $(CANTERA_LIB)
|
|
@ARCHIVE@ $(CANTERA_LIB) @KERNEL_OBJ@
|
|
ifeq ($(do_ranlib),1)
|
|
@RANLIB@ $(CANTERA_LIB)
|
|
endif
|
|
|
|
clean:
|
|
$(RM) *.o *.gch *~ $(CANTERA_LIB) *.d
|
|
@(for lh in $(ALL_H) ; do \
|
|
th=$(INCDIR)/$$lh ; \
|
|
if test -f $$th ; then \
|
|
$(RM) $$th ; \
|
|
fi \
|
|
done)
|
|
$(RM) *.o *.gch *~ $(CANTERA_LIB) .depends
|
|
(if test -d SunWS_cache ; then \
|
|
$(RM) -rf SunWS_cache ; \
|
|
fi )
|
|
ifeq (@WITH_REACTORS@, 1)
|
|
cd zeroD; @MAKE@ clean
|
|
endif
|
|
cd oneD; @MAKE@ clean
|
|
cd converters; @MAKE@ clean
|
|
cd transport; @MAKE@ clean
|
|
cd thermo; @MAKE@ clean
|
|
|
|
depends: $(DEPENDS)
|
|
cat *.d > .depends
|
|
cd oneD; @MAKE@ depends
|
|
ifeq (@WITH_REACTORS@, 1)
|
|
cd zeroD; @MAKE@ depends
|
|
endif
|
|
cd converters; @MAKE@ depends
|
|
cd transport; @MAKE@ depends
|
|
ifeq (@NEED_CATHERMO@, 1)
|
|
cd thermo; @MAKE@ depends
|
|
endif
|
|
|
|
.depends: $(DEPENDS) Makefile
|
|
cat *.d > .depends
|
|
|
|
TAGS:
|
|
etags *.h *.cpp
|
|
|
|
ifeq ($(wildcard .depends), .depends)
|
|
include .depends
|
|
endif
|