cantera/Cantera/cxx/demos/kinetics1/Makefile.install.in
2009-03-16 22:48:29 +00:00

97 lines
2.4 KiB
Bash

#!/bin/sh
############################################################################
#
# Makefile to compile and link a C++ application to
# Cantera.
#
#############################################################################
# addition to suffixes
.SUFFIXES : .d
# the name of the executable program to be created
PROG_NAME = kinetics1
# the object files to be linked together. List those generated from Fortran
# and from C/C++ separately
OBJS = kinetics1.o
# additional flags to be passed to the linker. If your program
# requires other external libraries, put them here
LINK_OPTIONS =
#############################################################################
# These links are to Cantera's install space
CANTERA_INCROOT = @ct_incroot@
#
# Bring in the Cantera includes through the .mak file
#
include $(CANTERA_INCROOT)/cantera/Cantera.mak
# Check to see whether we are in the msvc++ environment
os_is_win = @OS_IS_WIN@
# Fortran libraries
FORT_LIBS = @FLIBS@
# the C++ compiler
CXX = @CXX@
#
# The directory where Cantera include files may be found.
#
INCLUDE_DIRS = -I../../src -I$(CANTERA_INCROOT)
#
# C++ compile flags
CXX_FLAGS = @CXXFLAGS@ $(INCLUDE_DIRS) -DUSE_VCSNONIDEAL
#
# Ending C++ linking libraries
LCXX_END_LIBS = @LCXX_END_LIBS@
# flags passed to the C++ compiler/linker for the linking step
LCXX_FLAGS = @CXXFLAGS@
# How to compile C++ source files to object files
.cpp.o:
$(CXX) $(CXX_FLAGS) -c $<
# How to compile the dependency file
.cpp.d:
@CXX_DEPENDS@ $(CXX_FLAGS) $*.cpp > $*.d
# List of dependency files to be created
DEPENDS=$(OBJS:.o=.d)
# Program Name
PROGRAM = $(PROG_NAME)$(EXE_EXT)
all: $(PROGRAM) .depends
$(PROGRAM): $(OBJS) $(CANTERA_CORE_LIBS_DEP)
$(CXX) -o $(PROGRAM) $(OBJS) $(LCXX_FLAGS) $(LINK_OPTIONS) \
$(CANTERA_TOTAL_LIBS) $(LCXX_END_LIBS)
# depends target -> forces recalculation of dependencies
depends:
$(RM) *.d .depends
@MAKE@ .depends
.depends: $(DEPENDS)
cat *.d > .depends
# Do the test -> For the windows vc++ environment, we have to skip checking on
# whether the program is uptodate, because we don't utilize make
# in that environment to build programs.
test:
ifeq ($(os_is_win), 1)
else
@MAKE@ $(PROGRAM)
endif
./runtest
clean:
$(RM) $(OBJS) *.o $(PROGRAM) $(DEPENDS) .depends
(if test -d SunWS_cache ; then \
$(RM) -rf SunWS_cache ; \
fi )