94 lines
2.2 KiB
Bash
94 lines
2.2 KiB
Bash
#!/bin/sh
|
|
|
|
# This Makefile builds a Fortran 90 application that uses Cantera. By
|
|
# default, the main program file is 'demo.f90,' which prints out some
|
|
# properties of a reacting gas mixture.
|
|
|
|
# To build program 'demo', simply type 'make', or 'make -f <this
|
|
# file>' if this file is named something other than 'Makefile.'
|
|
|
|
# Once you have verified that the demo runs, edit this file to replace
|
|
# object file 'demo.o' with your own object file or files.
|
|
|
|
|
|
#------------------------ edit this block ---------------------------------
|
|
|
|
# the name of the executable program to be created
|
|
PROG_NAME = demo
|
|
|
|
# the object files to be linked together.
|
|
OBJS = demo.o
|
|
|
|
# additional flags to be passed to the linker. If your program
|
|
# requires other external libraries, put them here
|
|
LINK_OPTIONS = @LCXX_FLAGS@ @EXTRA_LINK@
|
|
|
|
#---------------------------------------------------------------------------
|
|
# You probably don't need to edit anything below.
|
|
|
|
# the C++ compiler
|
|
CXX = @CXX@
|
|
|
|
# C++ compile flags
|
|
CXX_FLAGS = @CXXFLAGS@
|
|
|
|
# external libraries
|
|
EXT_LIBS = -lfct -lclib @LOCAL_LIBS@ -lctcxx -lstdc++ @F90LIBS@
|
|
|
|
# the Fortran 90/95 compiler
|
|
F90 = @F90@
|
|
|
|
# Fortran compile flags
|
|
FORT_FLAGS = @F90FLAGS@
|
|
|
|
# the directory where the Cantera libraries are located
|
|
CANTERA_LIBDIR=@ct_libdir@
|
|
|
|
# the directory where Cantera include files may be found.
|
|
CANTERA_INCDIR=@ct_incroot@
|
|
|
|
# the directory where Cantera Fortran 90 modules may be found.
|
|
CANTERA_MODULE_DIR=@ct_incroot@/cantera
|
|
|
|
# flags passed to the C++ compiler/linker for the linking step
|
|
LCXXFLAGS = -L$(CANTERA_LIBDIR) @LOCAL_LIB_DIRS@
|
|
|
|
# how to compile C++ source files to object files
|
|
%.o : %.cpp
|
|
$(CXX) -c $< -I$(CANTERA_INCDIR) $(CXX_FLAGS)
|
|
|
|
# how to compile Fortran 90/95 source files to object files
|
|
%.o : %.f90
|
|
$(F90) -c $< -I$(CANTERA_MODULE_DIR) $(FORT_FLAGS)
|
|
|
|
PROGRAM = $(PROG_NAME)$(EXE_EXT)
|
|
|
|
DEPENDS = $(OBJS:.o=.d)
|
|
|
|
all: $(PROGRAM)
|
|
|
|
$(PROGRAM): $(OBJS)
|
|
$(F90) -o $(PROGRAM) $(OBJS) $(LCXXFLAGS) $(CANTERA_LIBS) $(LINK_OPTIONS) $(EXT_LIBS) @LIBS@
|
|
|
|
%.d : %.cpp
|
|
g++ -MM -I$(CANTERA_INCDIR) $*.cpp > $*.d
|
|
|
|
clean:
|
|
$(RM) $(OBJS) $(PROGRAM)
|
|
|
|
depends: $(DEPENDS)
|
|
cat *.d > .depends
|
|
$(RM) $(DEPENDS)
|
|
|
|
TAGS:
|
|
etags *.h *.cpp
|
|
|
|
ifeq ($(wildcard .depends), .depends)
|
|
include .depends
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|